CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Member Functions | List of all members
cutlass::complex< T > Class Template Reference

#include <complex.h>

Public Member Functions

CUTLASS_HOST_DEVICE complex (T r=T(0))
 Constructor. More...
 
CUTLASS_HOST_DEVICE complex (T r, T i)
 Constructor. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex (complex< A > const &z)
 Constructor. More...
 
CUTLASS_HOST_DEVICE complex (cuFloatComplex const &z)
 Conversion from cuFloatComplex. More...
 
CUTLASS_HOST_DEVICE complex (cuDoubleComplex const &z)
 Conversion from cuDoubleComplex. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > & operator= (complex< A > const &z)
 Assignment. More...
 
CUTLASS_HOST_DEVICE bool operator== (complex< T > const &rhs) const
 Equality operator. More...
 
CUTLASS_HOST_DEVICE bool operator!= (complex< T > const &rhs) const
 Inequality operator. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > operator+ (complex< A > const &rhs) const
 Addition. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > operator- (complex< A > const &rhs) const
 Subtraction. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > operator* (complex< A > const &rhs) const
 Multiplication. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > operator* (A const &s) const
 Scalar Multiplication. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > operator/ (complex< A > const &rhs) const
 Division. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > operator/ (A const &s) const
 Scalar Division. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > & operator+= (complex< A > const &rhs)
 Addition. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > & operator-= (complex< A > const &rhs)
 Subtraction. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > & operator*= (complex< A > const &rhs)
 Multiplication. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > & operator*= (A s)
 Scalar multiplication. More...
 
template<typename A >
CUTLASS_HOST_DEVICE complex< T > & operator/= (complex< A > const &rhs)
 Division. More...
 
CUTLASS_HOST_DEVICE T const & real () const
 Accesses the real part of the complex number. More...
 
CUTLASS_HOST_DEVICE T & real ()
 Accesses the real part of the complex number. More...
 
CUTLASS_HOST_DEVICE T const & imag () const
 Accesses the imaginary part of the complex number. More...
 
CUTLASS_HOST_DEVICE T & imag ()
 Accesses the imaginary part of the complex number. More...
 
CUTLASS_HOST_DEVICE operator cuFloatComplex () const
 Converts to cuFloatComplex. More...
 
CUTLASS_HOST_DEVICE operator cuDoubleComplex () const
 Converts to cuDoubleComplex. More...
 

Detailed Description

template<typename T>
class cutlass::complex< T >

Class for representing and manipulating complex numbers with conversions from built-in CUDA complex types.

Constructor & Destructor Documentation

template<typename T>
CUTLASS_HOST_DEVICE cutlass::complex< T >::complex ( r = T(0))
inline
template<typename T>
CUTLASS_HOST_DEVICE cutlass::complex< T >::complex ( r,
i 
)
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE cutlass::complex< T >::complex ( complex< A > const &  z)
inline
template<typename T>
CUTLASS_HOST_DEVICE cutlass::complex< T >::complex ( cuFloatComplex const &  z)
inline
template<typename T>
CUTLASS_HOST_DEVICE cutlass::complex< T >::complex ( cuDoubleComplex const &  z)
inline

Member Function Documentation

template<typename T>
CUTLASS_HOST_DEVICE T const& cutlass::complex< T >::imag ( ) const
inline
template<typename T>
CUTLASS_HOST_DEVICE T& cutlass::complex< T >::imag ( )
inline
template<typename T>
CUTLASS_HOST_DEVICE cutlass::complex< T >::operator cuDoubleComplex ( ) const
inlineexplicit
template<typename T>
CUTLASS_HOST_DEVICE cutlass::complex< T >::operator cuFloatComplex ( ) const
inlineexplicit
template<typename T>
CUTLASS_HOST_DEVICE bool cutlass::complex< T >::operator!= ( complex< T > const &  rhs) const
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T> cutlass::complex< T >::operator* ( complex< A > const &  rhs) const
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T> cutlass::complex< T >::operator* ( A const &  s) const
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T>& cutlass::complex< T >::operator*= ( complex< A > const &  rhs)
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T>& cutlass::complex< T >::operator*= ( s)
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T> cutlass::complex< T >::operator+ ( complex< A > const &  rhs) const
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T>& cutlass::complex< T >::operator+= ( complex< A > const &  rhs)
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T> cutlass::complex< T >::operator- ( complex< A > const &  rhs) const
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T>& cutlass::complex< T >::operator-= ( complex< A > const &  rhs)
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T> cutlass::complex< T >::operator/ ( complex< A > const &  rhs) const
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T> cutlass::complex< T >::operator/ ( A const &  s) const
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T>& cutlass::complex< T >::operator/= ( complex< A > const &  rhs)
inline
template<typename T>
template<typename A >
CUTLASS_HOST_DEVICE complex<T>& cutlass::complex< T >::operator= ( complex< A > const &  z)
inline
template<typename T>
CUTLASS_HOST_DEVICE bool cutlass::complex< T >::operator== ( complex< T > const &  rhs) const
inline
template<typename T>
CUTLASS_HOST_DEVICE T const& cutlass::complex< T >::real ( ) const
inline
template<typename T>
CUTLASS_HOST_DEVICE T& cutlass::complex< T >::real ( )
inline

The documentation for this class was generated from the following file: