QUDA  v1.1.0
A library for QCD on GPUs
Classes | Namespaces | Functions
complex_quda.h File Reference
#include <cmath>
#include <complex>
#include <sstream>

Go to the source code of this file.

Classes

struct  quda::norm_type< T >
 
struct  quda::norm_type< complex< T > >
 
struct  quda::complex< ValueType >
 
struct  quda::complex< float >
 
struct  quda::complex< double >
 
struct  quda::complex< int8_t >
 
struct  quda::complex< short >
 
struct  quda::complex< int >
 

Namespaces

 quda
 
 quda::gauge
 
 quda::colorspinor
 

Functions

template<typename ValueType >
__host__ __device__ ValueType quda::cos (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::sin (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::tan (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::acos (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::asin (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::atan (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::atan2 (ValueType x, ValueType y)
 
template<typename ValueType >
__host__ __device__ ValueType quda::cosh (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::sinh (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::tanh (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::exp (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::log (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::log10 (ValueType x)
 
template<typename ValueType , typename ExponentType >
__host__ __device__ ValueType quda::pow (ValueType x, ExponentType e)
 
template<typename ValueType >
__host__ __device__ ValueType quda::sqrt (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::abs (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::conj (ValueType x)
 
template<typename ValueType >
__host__ __device__ ValueType quda::abs (const complex< ValueType > &z)
 Returns the magnitude of z. More...
 
template<typename ValueType >
__host__ __device__ ValueType quda::arg (const complex< ValueType > &z)
 Returns the phase angle of z. More...
 
template<typename ValueType >
__host__ __device__ ValueType quda::norm (const complex< ValueType > &z)
 Returns the magnitude of z squared. More...
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::conj (const complex< ValueType > &z)
 Returns the complex conjugate of z. More...
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::polar (const ValueType &m, const ValueType &theta=0)
 Returns the complex with magnitude m and angle theta in radians. More...
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator* (const complex< ValueType > &lhs, const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator* (const complex< ValueType > &lhs, const ValueType &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator* (const ValueType &lhs, const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator/ (const complex< ValueType > &lhs, const complex< ValueType > &rhs)
 
template<>
__host__ __device__ complex< float > quda::operator/ (const complex< float > &lhs, const complex< float > &rhs)
 
template<>
__host__ __device__ complex< double > quda::operator/ (const complex< double > &lhs, const complex< double > &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator+ (const complex< ValueType > &lhs, const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator+ (const complex< ValueType > &lhs, const ValueType &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator+ (const ValueType &lhs, const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator- (const complex< ValueType > &lhs, const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator- (const complex< ValueType > &lhs, const ValueType &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator- (const ValueType &lhs, const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator+ (const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator- (const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::cos (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::cosh (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::exp (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::log (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::log10 (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::pow (const complex< ValueType > &z, const int &n)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::pow (const complex< ValueType > &z, const ValueType &x)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::pow (const complex< ValueType > &z, const complex< ValueType > &z2)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::pow (const ValueType &x, const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::sin (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::sinh (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::sqrt (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::tan (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::tanh (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::acos (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::asin (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::atan (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::acosh (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::asinh (const complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::atanh (const complex< ValueType > &z)
 
template<typename ValueType , class charT , class traits >
std::basic_ostream< charT, traits > & quda::operator<< (std::basic_ostream< charT, traits > &os, const complex< ValueType > &z)
 
template<typename ValueType , typename charT , class traits >
std::basic_istream< charT, traits > & quda::operator>> (std::basic_istream< charT, traits > &is, complex< ValueType > &z)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator+ (const volatile complex< ValueType > &lhs, const volatile complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator/ (const complex< ValueType > &lhs, const ValueType &rhs)
 
template<typename ValueType >
__host__ __device__ complex< ValueType > quda::operator/ (const ValueType &lhs, const complex< ValueType > &rhs)
 
template<>
__host__ __device__ complex< float > quda::operator/ (const float &lhs, const complex< float > &rhs)
 
template<>
__host__ __device__ complex< double > quda::operator/ (const double &lhs, const complex< double > &rhs)
 
template<typename ValueType >
__host__ __device__ bool quda::operator== (const complex< ValueType > &lhs, const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ bool quda::operator== (const ValueType &lhs, const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ bool quda::operator== (const complex< ValueType > &lhs, const ValueType &rhs)
 
template<typename ValueType >
__host__ __device__ bool quda::operator!= (const complex< ValueType > &lhs, const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ bool quda::operator!= (const ValueType &lhs, const complex< ValueType > &rhs)
 
template<typename ValueType >
__host__ __device__ bool quda::operator!= (const complex< ValueType > &lhs, const ValueType &rhs)
 
template<>
__host__ __device__ float quda::abs (const complex< float > &z)
 
template<>
__host__ __device__ double quda::abs (const complex< double > &z)
 
template<>
__host__ __device__ float quda::arg (const complex< float > &z)
 
template<>
__host__ __device__ double quda::arg (const complex< double > &z)
 
template<>
__host__ __device__ complex< float > quda::polar (const float &magnitude, const float &angle)
 
template<>
__host__ __device__ complex< double > quda::polar (const double &magnitude, const double &angle)
 
template<>
__host__ __device__ complex< float > quda::cos (const complex< float > &z)
 
template<>
__host__ __device__ complex< float > quda::cosh (const complex< float > &z)
 
template<>
__host__ __device__ complex< float > quda::exp (const complex< float > &z)
 
template<>
__host__ __device__ complex< float > quda::log (const complex< float > &z)
 
template<>
__host__ __device__ complex< float > quda::pow (const float &x, const complex< float > &exponent)
 
template<>
__host__ __device__ complex< float > quda::sin (const complex< float > &z)
 
template<>
__host__ __device__ complex< float > quda::sinh (const complex< float > &z)
 
template<>
__host__ __device__ complex< float > quda::sqrt (const complex< float > &z)
 
template<typename ValueType >
__host__ __device__ complex< float > quda::atanh (const complex< float > &z)
 
template<typename real >
__host__ __device__ complex< real > quda::cmul (const complex< real > &x, const complex< real > &y)
 
template<typename real >
__host__ __device__ complex< real > quda::cmac (const complex< real > &x, const complex< real > &y, const complex< real > &z)
 
template<typename real >
__host__ __device__ complex< real > quda::i_ (const complex< real > &a)