QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | List of all members
quda::complex< double > Struct Template Reference

#include <complex_quda.h>

Inheritance diagram for quda::complex< double >:
Inheritance graph
[legend]
Collaboration diagram for quda::complex< double >:
Collaboration graph
[legend]

Public Types

typedef double value_type
 

Public Member Functions

__host__ __device__ complex ()
 
__host__ __device__ complex (const double &re, const double &im=double())
 
__host__ __device__ complex (const complex< double > &z)
 
__host__ __device__ complex (double2 z)
 
template<class X >
 complex (const std::complex< X > &z)
 
template<typename T >
__host__ __device__ volatile complex< double > & operator= (const complex< T > z) volatile
 
template<typename T >
__host__ __device__ complex< double > & operator= (const complex< T > z)
 
__host__ __device__ complex< double > & operator+= (const complex< double > z)
 
__host__ __device__ complex< double > & operator+= (const complex< float > z)
 
__host__ __device__ complex< double > & operator-= (const complex< double > z)
 
__host__ __device__ complex< double > & operator*= (const complex< double > z)
 
__host__ __device__ complex< double > & operator/= (const complex< double > z)
 
__host__ __device__ complex< double > & operator*= (const double z)
 
__host__ __device__ complex (const volatile complex< double > &z)
 
__host__ __device__ double real () const volatile
 
__host__ __device__ double imag () const volatile
 
__host__ __device__ double real () const
 
__host__ __device__ double imag () const
 
__host__ __device__ void real (double re) volatile
 
__host__ __device__ void imag (double im) volatile
 
__host__ __device__ void real (double re)
 
__host__ __device__ void imag (double im)
 
 operator std::complex< double > () const
 
template<typename T >
__host__ __device__ operator complex< T > () const
 
template<typename otherFloat , typename storeFloat >
__host__ __device__ void operator= (const gauge::fieldorder_wrapper< otherFloat, storeFloat > &a)
 
template<typename otherFloat , typename storeFloat >
__host__ __device__ complex (const gauge::fieldorder_wrapper< otherFloat, storeFloat > &a)
 
template<typename otherFloat , typename storeFloat >
__host__ __device__ void operator= (const colorspinor::fieldorder_wrapper< otherFloat, storeFloat > &a)
 
template<typename otherFloat , typename storeFloat >
__host__ __device__ complex (const colorspinor::fieldorder_wrapper< otherFloat, storeFloat > &a)
 
template<typename otherFloat , typename storeFloat >
__device__ __host__ void operator= (const colorspinor::fieldorder_wrapper< otherFloat, storeFloat > &a)
 
template<typename otherFloat , typename storeFloat >
__device__ __host__ complex (const colorspinor::fieldorder_wrapper< otherFloat, storeFloat > &a)
 
template<typename otherFloat , typename storeFloat >
__device__ __host__ void operator= (const gauge::fieldorder_wrapper< otherFloat, storeFloat > &a)
 
template<typename otherFloat , typename storeFloat >
__device__ __host__ complex (const gauge::fieldorder_wrapper< otherFloat, storeFloat > &a)
 

Detailed Description

template<>
struct quda::complex< double >

Definition at line 580 of file complex_quda.h.

Member Typedef Documentation

◆ value_type

typedef double quda::complex< double >::value_type

Definition at line 583 of file complex_quda.h.

Constructor & Destructor Documentation

◆ complex() [1/10]

__host__ __device__ quda::complex< double >::complex ( )
inline

Definition at line 585 of file complex_quda.h.

◆ complex() [2/10]

__host__ __device__ quda::complex< double >::complex ( const double &  re,
const double &  im = double() 
)
inline

Definition at line 587 of file complex_quda.h.

◆ complex() [3/10]

__host__ __device__ quda::complex< double >::complex ( const complex< double > &  z)
inline

Definition at line 596 of file complex_quda.h.

◆ complex() [4/10]

__host__ __device__ quda::complex< double >::complex ( double2  z)
inline

Definition at line 600 of file complex_quda.h.

◆ complex() [5/10]

template<class X >
quda::complex< double >::complex ( const std::complex< X > &  z)
inline

Definition at line 604 of file complex_quda.h.

◆ complex() [6/10]

__host__ __device__ quda::complex< double >::complex ( const volatile complex< double > &  z)
inline

Definition at line 675 of file complex_quda.h.

◆ complex() [7/10]

template<typename otherFloat , typename storeFloat >
__host__ __device__ quda::complex< double >::complex ( const gauge::fieldorder_wrapper< otherFloat, storeFloat > &  a)
inline

◆ complex() [8/10]

template<typename otherFloat , typename storeFloat >
__host__ __device__ quda::complex< double >::complex ( const colorspinor::fieldorder_wrapper< otherFloat, storeFloat > &  a)
inline

◆ complex() [9/10]

template<typename otherFloat , typename storeFloat >
__device__ __host__ quda::complex< double >::complex ( const colorspinor::fieldorder_wrapper< otherFloat, storeFloat > &  a)
inline

◆ complex() [10/10]

template<typename otherFloat , typename storeFloat >
__device__ __host__ quda::complex< double >::complex ( const gauge::fieldorder_wrapper< otherFloat, storeFloat > &  a)
inline

Member Function Documentation

◆ imag() [1/4]

__host__ __device__ double quda::complex< double >::imag ( ) const volatile
inline

Definition at line 683 of file complex_quda.h.

Referenced by quda::abs(), quda::arg(), quda::make_Float2(), operator+=(), operator-=(), and quda::operator/().

Here is the caller graph for this function:

◆ imag() [2/4]

__host__ __device__ double quda::complex< double >::imag ( ) const
inline

Definition at line 685 of file complex_quda.h.

◆ imag() [3/4]

__host__ __device__ void quda::complex< double >::imag ( double  im) volatile
inline

Definition at line 687 of file complex_quda.h.

◆ imag() [4/4]

__host__ __device__ void quda::complex< double >::imag ( double  im)
inline

Definition at line 689 of file complex_quda.h.

◆ operator complex< T >()

template<typename T >
__host__ __device__ quda::complex< double >::operator complex< T > ( ) const
inline

Definition at line 694 of file complex_quda.h.

◆ operator std::complex< double >()

quda::complex< double >::operator std::complex< double > ( ) const
inline

Definition at line 692 of file complex_quda.h.

◆ operator*=() [1/2]

__host__ __device__ complex<double>& quda::complex< double >::operator*= ( const complex< double >  z)
inline

Definition at line 654 of file complex_quda.h.

◆ operator*=() [2/2]

__host__ __device__ complex<double>& quda::complex< double >::operator*= ( const double  z)
inline

Definition at line 668 of file complex_quda.h.

◆ operator+=() [1/2]

__host__ __device__ complex<double>& quda::complex< double >::operator+= ( const complex< double >  z)
inline

Definition at line 630 of file complex_quda.h.

References imag(), and real().

Here is the call graph for this function:

◆ operator+=() [2/2]

__host__ __device__ complex<double>& quda::complex< double >::operator+= ( const complex< float >  z)
inline

Definition at line 638 of file complex_quda.h.

References quda::complex< float >::imag(), and quda::complex< float >::real().

Here is the call graph for this function:

◆ operator-=()

__host__ __device__ complex<double>& quda::complex< double >::operator-= ( const complex< double >  z)
inline

Definition at line 646 of file complex_quda.h.

References imag(), and real().

Here is the call graph for this function:

◆ operator/=()

__host__ __device__ complex<double>& quda::complex< double >::operator/= ( const complex< double >  z)
inline

Definition at line 661 of file complex_quda.h.

◆ operator=() [1/6]

template<typename T >
__host__ __device__ volatile complex<double>& quda::complex< double >::operator= ( const complex< T >  z) volatile
inline

Definition at line 613 of file complex_quda.h.

◆ operator=() [2/6]

template<typename T >
__host__ __device__ complex<double>& quda::complex< double >::operator= ( const complex< T >  z)
inline

Definition at line 622 of file complex_quda.h.

◆ operator=() [3/6]

template<typename otherFloat , typename storeFloat >
__host__ __device__ void quda::complex< double >::operator= ( const gauge::fieldorder_wrapper< otherFloat, storeFloat > &  a)
inline

◆ operator=() [4/6]

template<typename otherFloat , typename storeFloat >
__host__ __device__ void quda::complex< double >::operator= ( const colorspinor::fieldorder_wrapper< otherFloat, storeFloat > &  a)
inline

◆ operator=() [5/6]

template<typename otherFloat , typename storeFloat >
__device__ __host__ void quda::complex< double >::operator= ( const colorspinor::fieldorder_wrapper< otherFloat, storeFloat > &  a)
inline

◆ operator=() [6/6]

template<typename otherFloat , typename storeFloat >
__device__ __host__ void quda::complex< double >::operator= ( const gauge::fieldorder_wrapper< otherFloat, storeFloat > &  a)
inline

◆ real() [1/4]

__host__ __device__ double quda::complex< double >::real ( ) const volatile
inline

Definition at line 682 of file complex_quda.h.

Referenced by quda::abs(), quda::arg(), quda::make_Float2(), operator+=(), operator-=(), and quda::operator/().

Here is the caller graph for this function:

◆ real() [2/4]

__host__ __device__ double quda::complex< double >::real ( ) const
inline

Definition at line 684 of file complex_quda.h.

◆ real() [3/4]

__host__ __device__ void quda::complex< double >::real ( double  re) volatile
inline

Definition at line 686 of file complex_quda.h.

◆ real() [4/4]

__host__ __device__ void quda::complex< double >::real ( double  re)
inline

Definition at line 688 of file complex_quda.h.


The documentation for this struct was generated from the following files: