QUDA  v1.1.0
A library for QCD on GPUs
Classes | Typedefs | Functions
dbldbl.h File Reference
#include <math.h>

Go to the source code of this file.

Classes

struct  doubledouble
 
struct  doubledouble2
 
struct  doubledouble3
 

Typedefs

typedef double2 dbldbl
 

Functions

__device__ __forceinline__ dbldbl make_dbldbl (double head, double tail)
 
__device__ __forceinline__ double get_dbldbl_head (dbldbl a)
 
__device__ __forceinline__ double get_dbldbl_tail (dbldbl a)
 
__device__ __forceinline__ dbldbl add_double_to_dbldbl (double a, double b)
 
__device__ __forceinline__ dbldbl mul_double_to_dbldbl (double a, double b)
 
__device__ __forceinline__ dbldbl neg_dbldbl (dbldbl a)
 
__device__ __forceinline__ dbldbl add_dbldbl (dbldbl a, dbldbl b)
 
__device__ __forceinline__ dbldbl sub_dbldbl (dbldbl a, dbldbl b)
 
__device__ __forceinline__ dbldbl mul_dbldbl (dbldbl a, dbldbl b)
 
__device__ __forceinline__ dbldbl div_dbldbl (dbldbl a, dbldbl b)
 
__device__ __forceinline__ dbldbl sqrt_dbldbl (dbldbl a)
 
__device__ __forceinline__ dbldbl rsqrt_dbldbl (dbldbl a)
 
__device__ bool operator> (const doubledouble &a, const double &b)
 
__device__ doubledouble operator+ (const doubledouble &a, const doubledouble &b)
 
__device__ doubledouble operator- (const doubledouble &a, const doubledouble &b)
 
__device__ doubledouble operator* (const doubledouble &a, const doubledouble &b)
 
__device__ doubledouble operator/ (const doubledouble &a, const doubledouble &b)
 
__device__ doubledouble add_double_to_doubledouble (const double &a, const double &b)
 
__device__ doubledouble mul_double_to_doubledouble (const double &a, const double &b)
 
__device__ doubledouble2 operator+ (const doubledouble2 &a, const doubledouble2 &b)
 
__device__ doubledouble3 operator+ (const doubledouble3 &a, const doubledouble3 &b)
 

Typedef Documentation

◆ dbldbl

typedef double2 dbldbl

Definition at line 61 of file dbldbl.h.

Function Documentation

◆ add_dbldbl()

__device__ __forceinline__ dbldbl add_dbldbl ( dbldbl  a,
dbldbl  b 
)

Definition at line 127 of file dbldbl.h.

◆ add_double_to_dbldbl()

__device__ __forceinline__ dbldbl add_double_to_dbldbl ( double  a,
double  b 
)

Definition at line 89 of file dbldbl.h.

◆ add_double_to_doubledouble()

__device__ doubledouble add_double_to_doubledouble ( const double &  a,
const double &  b 
)
inline

Definition at line 330 of file dbldbl.h.

◆ div_dbldbl()

__device__ __forceinline__ dbldbl div_dbldbl ( dbldbl  a,
dbldbl  b 
)

Definition at line 199 of file dbldbl.h.

◆ get_dbldbl_head()

__device__ __forceinline__ double get_dbldbl_head ( dbldbl  a)

Definition at line 77 of file dbldbl.h.

◆ get_dbldbl_tail()

__device__ __forceinline__ double get_dbldbl_tail ( dbldbl  a)

Definition at line 83 of file dbldbl.h.

◆ make_dbldbl()

__device__ __forceinline__ dbldbl make_dbldbl ( double  head,
double  tail 
)

Definition at line 68 of file dbldbl.h.

◆ mul_dbldbl()

__device__ __forceinline__ dbldbl mul_dbldbl ( dbldbl  a,
dbldbl  b 
)

Definition at line 177 of file dbldbl.h.

◆ mul_double_to_dbldbl()

__device__ __forceinline__ dbldbl mul_double_to_dbldbl ( double  a,
double  b 
)

Definition at line 103 of file dbldbl.h.

◆ mul_double_to_doubledouble()

__device__ doubledouble mul_double_to_doubledouble ( const double &  a,
const double &  b 
)
inline

Definition at line 334 of file dbldbl.h.

◆ neg_dbldbl()

__device__ __forceinline__ dbldbl neg_dbldbl ( dbldbl  a)

Definition at line 112 of file dbldbl.h.

◆ operator*()

__device__ doubledouble operator* ( const doubledouble a,
const doubledouble b 
)
inline

Definition at line 322 of file dbldbl.h.

◆ operator+() [1/3]

__device__ doubledouble operator+ ( const doubledouble a,
const doubledouble b 
)
inline

Definition at line 314 of file dbldbl.h.

◆ operator+() [2/3]

__device__ doubledouble2 operator+ ( const doubledouble2 a,
const doubledouble2 b 
)

Definition at line 376 of file dbldbl.h.

◆ operator+() [3/3]

__device__ doubledouble3 operator+ ( const doubledouble3 a,
const doubledouble3 b 
)

Definition at line 379 of file dbldbl.h.

◆ operator-()

__device__ doubledouble operator- ( const doubledouble a,
const doubledouble b 
)
inline

Definition at line 318 of file dbldbl.h.

◆ operator/()

__device__ doubledouble operator/ ( const doubledouble a,
const doubledouble b 
)
inline

Definition at line 326 of file dbldbl.h.

◆ operator>()

__device__ bool operator> ( const doubledouble a,
const double &  b 
)
inline

Definition at line 310 of file dbldbl.h.

◆ rsqrt_dbldbl()

__device__ __forceinline__ dbldbl rsqrt_dbldbl ( dbldbl  a)

Definition at line 252 of file dbldbl.h.

◆ sqrt_dbldbl()

__device__ __forceinline__ dbldbl sqrt_dbldbl ( dbldbl  a)

Definition at line 225 of file dbldbl.h.

◆ sub_dbldbl()

__device__ __forceinline__ dbldbl sub_dbldbl ( dbldbl  a,
dbldbl  b 
)

Definition at line 153 of file dbldbl.h.