QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Typedefs | Functions
dbldbl.h File Reference
#include <math.h>
Include dependency graph for dbldbl.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.

Referenced by operator+(), and doubledouble::operator+=().

Here is the caller graph for this function:

◆ add_double_to_dbldbl()

__device__ __forceinline__ dbldbl add_double_to_dbldbl ( double  a,
double  b 
)

Definition at line 89 of file dbldbl.h.

Referenced by add_double_to_doubledouble().

Here is the caller graph for this function:

◆ 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.

References add_double_to_dbldbl(), and doubledouble::doubledouble().

Here is the call graph for this function:

◆ div_dbldbl()

__device__ __forceinline__ dbldbl div_dbldbl ( dbldbl  a,
dbldbl  b 
)

Definition at line 199 of file dbldbl.h.

Referenced by operator/().

Here is the caller graph for this function:

◆ 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.

Referenced by operator*().

Here is the caller graph for this function:

◆ mul_double_to_dbldbl()

__device__ __forceinline__ dbldbl mul_double_to_dbldbl ( double  a,
double  b 
)

Definition at line 103 of file dbldbl.h.

Referenced by mul_double_to_doubledouble().

Here is the caller graph for this function:

◆ 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.

References doubledouble::doubledouble(), and mul_double_to_dbldbl().

Here is the call graph for this function:

◆ 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.

References doubledouble::a, doubledouble::doubledouble(), and mul_dbldbl().

Here is the call graph for this function:

◆ operator+() [1/3]

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

Definition at line 314 of file dbldbl.h.

References doubledouble::a, add_dbldbl(), and doubledouble::doubledouble().

Here is the call graph for this function:

◆ operator+() [2/3]

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

Definition at line 376 of file dbldbl.h.

References doubledouble2::x, and doubledouble2::y.

◆ operator+() [3/3]

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

Definition at line 379 of file dbldbl.h.

References doubledouble3::x, doubledouble3::y, and doubledouble3::z.

◆ operator-()

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

Definition at line 318 of file dbldbl.h.

References doubledouble::a, doubledouble::doubledouble(), and sub_dbldbl().

Here is the call graph for this function:

◆ operator/()

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

Definition at line 326 of file dbldbl.h.

References doubledouble::a, div_dbldbl(), and doubledouble::doubledouble().

Here is the call graph for this function:

◆ operator>()

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

Definition at line 310 of file dbldbl.h.

References doubledouble::head().

Here is the call graph for this function:

◆ rsqrt_dbldbl()

__device__ __forceinline__ dbldbl rsqrt_dbldbl ( dbldbl  a)

Definition at line 252 of file dbldbl.h.

References quda::s.

◆ sqrt_dbldbl()

__device__ __forceinline__ dbldbl sqrt_dbldbl ( dbldbl  a)

Definition at line 225 of file dbldbl.h.

References quda::s.

◆ sub_dbldbl()

__device__ __forceinline__ dbldbl sub_dbldbl ( dbldbl  a,
dbldbl  b 
)

Definition at line 153 of file dbldbl.h.

Referenced by operator-().

Here is the caller graph for this function: