CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
Classes | Namespaces | Enumerations | Functions
complex.h File Reference
#include <cuComplex.h>
#include <cstdint>
#include "cutlass/cutlass.h"
#include "cutlass/half.h"
#include "cutlass/real.h"
#include <iosfwd>
Include dependency graph for complex.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  cutlass::complex< T >
 
struct  cutlass::RealType< complex< T > >
 Partial specialization for complex-valued type. More...
 

Namespaces

 cutlass
 

Enumerations

enum  cutlass::ComplexTransform { cutlass::ComplexTransform::kNone, cutlass::ComplexTransform::kConjugate }
 Enumeraed type describing a transformation on a complex value. More...
 

Functions

CUTLASS_HOST_DEVICE float const & cutlass::real (cuFloatComplex const &z)
 Returns the real part of the complex number. More...
 
CUTLASS_HOST_DEVICE float & cutlass::real (cuFloatComplex &z)
 Returns the real part of the complex number. More...
 
CUTLASS_HOST_DEVICE double const & cutlass::real (cuDoubleComplex const &z)
 Returns the real part of the complex number. More...
 
CUTLASS_HOST_DEVICE double & cutlass::real (cuDoubleComplex &z)
 Returns the real part of the complex number. More...
 
CUTLASS_HOST_DEVICE float const & cutlass::imag (cuFloatComplex const &z)
 Returns the imaginary part of the complex number. More...
 
CUTLASS_HOST_DEVICE float & cutlass::imag (cuFloatComplex &z)
 Returns the imaginary part of the complex number. More...
 
CUTLASS_HOST_DEVICE double const & cutlass::imag (cuDoubleComplex const &z)
 Returns the imaginary part of the complex number. More...
 
CUTLASS_HOST_DEVICE double & cutlass::imag (cuDoubleComplex &z)
 Returns the imaginary part of the complex number. More...
 
template<typename T >
CUTLASS_HOST_DEVICE T const & cutlass::real (complex< T > const &z)
 Returns the real part of the complex number. More...
 
template<typename T >
CUTLASS_HOST_DEVICE T & cutlass::real (complex< T > &z)
 Returns the real part of the complex number. More...
 
template<typename T >
CUTLASS_HOST_DEVICE T const & cutlass::imag (complex< T > const &z)
 Returns the imaginary part of the complex number. More...
 
template<typename T >
CUTLASS_HOST_DEVICE T & cutlass::imag (complex< T > &z)
 Returns the imaginary part of the complex number. More...
 
template<typename T >
std::ostream & cutlass::operator<< (std::ostream &out, complex< T > const &z)
 
template<typename T >
CUTLASS_HOST_DEVICEcutlass::abs (complex< T > const &z)
 Returns the magnitude of the complex number. More...
 
template<typename T >
CUTLASS_HOST_DEVICEcutlass::arg (complex< T > const &z)
 Returns the magnitude of the complex number. More...
 
template<typename T >
CUTLASS_HOST_DEVICEcutlass::norm (T const &z)
 Returns the squared magnitude of a real number. More...
 
template<>
CUTLASS_HOST_DEVICE int8_t cutlass::norm (int8_t const &z)
 Returns the squared magnitude of a real number. More...
 
template<typename T >
CUTLASS_HOST_DEVICE double cutlass::norm (complex< T > const &z)
 Returns the squared magnitude of a complex number. More...
 
template<typename T , typename R >
CUTLASS_HOST_DEVICEcutlass::norm_accumulate (T const &x, R const &accumulator)
 Norm-accumulate calculation. More...
 
template<typename T , typename R >
CUTLASS_HOST_DEVICEcutlass::norm_accumulate (complex< T > const &z, R const &accumulator)
 Norm accumulate specialized for complex types. More...
 
template<typename T >
CUTLASS_HOST_DEVICE complex< T > cutlass::conj (complex< T > const &z)
 Returns the complex conjugate. More...
 
template<typename T >
CUTLASS_HOST_DEVICE complex< T > cutlass::proj (complex< T > const &z)
 Projects the complex number z onto the Riemann sphere. More...
 
template<typename T >
CUTLASS_HOST_DEVICE complex< T > cutlass::polar (T const &r, T const &theta=T())
 Returns a complex number with magnitude r and phase theta. More...
 
template<typename T >
CUTLASS_HOST_DEVICE complex< T > cutlass::exp (complex< T > const &z)
 Computes the complex exponential of z. More...
 
template<typename T >
CUTLASS_HOST_DEVICE complex< T > cutlass::log (complex< T > const &z)
 Computes the complex exponential of z. More...
 
template<typename T >
CUTLASS_HOST_DEVICE complex< T > cutlass::log10 (complex< T > const &z)
 Computes the complex exponential of z. More...
 
template<typename T >
CUTLASS_HOST_DEVICE complex< T > cutlass::sqrt (complex< T > const &z)
 Computes the square root of complex number z. More...
 
template<typename T >
CUTLASS_HOST_DEVICE complex< T > cutlass::cos (complex< T > const &z)
 Computes the cosine of complex z. More...
 
template<typename T >
CUTLASS_HOST_DEVICE complex< T > cutlass::sin (complex< T > const &z)
 Computes the sin of complex z. More...
 
template<>
CUTLASS_HOST_DEVICE cutlass::complex< half_t > cutlass::from_real< cutlass::complex< half_t > > (double r)
 
template<>
CUTLASS_HOST_DEVICE cutlass::complex< float > cutlass::from_real< cutlass::complex< float > > (double r)
 
template<>
CUTLASS_HOST_DEVICE cutlass::complex< double > cutlass::from_real< cutlass::complex< double > > (double r)