Template Numerical Library version\ main:4e58ea6
Loading...
Searching...
No Matches
TNL::Arithmetics::Complex< Value > Struct Template Reference

Implementation of complex types. More...

#include <TNL/Arithmetics/Complex.h>

Public Types

using ValueType = Value
 

Public Member Functions

__cuda_callable__ constexpr Complex (const Complex< Value > &c)
 
template<typename Value_ >
__cuda_callable__ constexpr Complex (const Complex< Value_ > &c)
 
template<typename Value_ >
constexpr Complex (const std::complex< Value_ > &c)
 
__cuda_callable__ constexpr Complex (const Value &re)
 
__cuda_callable__ constexpr Complex (const Value &re, const Value &im)
 
__cuda_callable__ Value & imag ()
 
__cuda_callable__ const Value & imag () const
 
__cuda_callable__ const Value & imag () const volatile
 
__cuda_callable__ Value & imag () volatile
 
__cuda_callable__ bool operator!= (const Complex< Value > &c) const
 
template<typename Value_ >
__cuda_callable__ bool operator!= (const Complex< Value_ > &c) const
 
bool operator!= (const std::complex< Value > &c) const
 
template<typename Value_ >
bool operator!= (const std::complex< Value_ > &c) const
 
__cuda_callable__ bool operator!= (const Value &v) const
 
template<typename Value_ >
__cuda_callable__ bool operator!= (const Value_ &v) const
 
__cuda_callable__ Complexoperator*= (const Complex< Value > &c)
 
template<typename Value_ >
__cuda_callable__ Complexoperator*= (const Complex< Value_ > &c)
 
template<typename Value_ >
__cuda_callable__ Complex< Value > & operator*= (const Complex< Value_ > &c)
 
Complexoperator*= (const std::complex< Value > &c)
 
template<typename Value_ >
Complexoperator*= (const std::complex< Value_ > &c)
 
template<typename Value_ >
Complex< Value > & operator*= (const std::complex< Value_ > &c)
 
__cuda_callable__ Complexoperator*= (const Value &v)
 
template<typename Value_ >
__cuda_callable__ Complexoperator*= (const Value_ &v)
 
template<typename Value_ >
__cuda_callable__ Complex< Value > & operator*= (const Value_ &v)
 
__cuda_callable__ Complex operator+ () const
 
__cuda_callable__ Complexoperator+= (const Complex< Value > &c)
 
template<typename Value_ >
__cuda_callable__ Complexoperator+= (const Complex< Value_ > &c)
 
template<typename Value_ >
__cuda_callable__ Complex< Value > & operator+= (const Complex< Value_ > &c)
 
Complexoperator+= (const std::complex< Value > &c)
 
template<typename Value_ >
Complexoperator+= (const std::complex< Value_ > &c)
 
template<typename Value_ >
Complex< Value > & operator+= (const std::complex< Value_ > &c)
 
__cuda_callable__ Complexoperator+= (const Value &v)
 
template<typename Value_ >
__cuda_callable__ Complexoperator+= (const Value_ &v)
 
template<typename Value_ >
__cuda_callable__ Complex< Value > & operator+= (const Value_ &v)
 
__cuda_callable__ Complex operator- () const
 
__cuda_callable__ Complexoperator-= (const Complex< Value > &c)
 
template<typename Value_ >
__cuda_callable__ Complexoperator-= (const Complex< Value_ > &c)
 
template<typename Value_ >
__cuda_callable__ Complex< Value > & operator-= (const Complex< Value_ > &c)
 
Complexoperator-= (const std::complex< Value > &c)
 
template<typename Value_ >
Complexoperator-= (const std::complex< Value_ > &c)
 
template<typename Value_ >
Complex< Value > & operator-= (const std::complex< Value_ > &c)
 
__cuda_callable__ Complexoperator-= (const Value &v)
 
template<typename Value_ >
__cuda_callable__ Complexoperator-= (const Value_ &v)
 
template<typename Value_ >
__cuda_callable__ Complex< Value > & operator-= (const Value_ &v)
 
__cuda_callable__ Complexoperator/= (const Complex< Value > &c)
 
template<typename Value_ >
__cuda_callable__ Complexoperator/= (const Complex< Value_ > &c)
 
template<typename Value_ >
__cuda_callable__ Complex< Value > & operator/= (const Complex< Value_ > &c)
 
Complexoperator/= (const std::complex< Value > &c)
 
template<typename Value_ >
Complexoperator/= (const std::complex< Value_ > &c)
 
template<typename Value_ >
Complex< Value > & operator/= (const std::complex< Value_ > &c)
 
__cuda_callable__ Complexoperator/= (const Value &v)
 
template<typename Value_ >
__cuda_callable__ Complexoperator/= (const Value_ &v)
 
template<typename Value_ >
__cuda_callable__ Complex< Value > & operator/= (const Value_ &v)
 
__cuda_callable__ constexpr Complexoperator= (const Complex< Value > &c)
 
template<typename Value_ >
__cuda_callable__ constexpr Complexoperator= (const Complex< Value_ > &c)
 
template<typename Value_ >
__cuda_callable__ constexpr Complex< Value > & operator= (const Complex< Value_ > &v)
 
constexpr Complexoperator= (const std::complex< Value > &c)
 
template<typename Value_ >
constexpr Complexoperator= (const std::complex< Value_ > &c)
 
template<typename Value_ >
constexpr Complex< Value > & operator= (const std::complex< Value_ > &c)
 
__cuda_callable__ constexpr Complexoperator= (const Value &v)
 
template<typename Value_ >
__cuda_callable__ constexpr Complexoperator= (const Value_ &v)
 
template<typename Value_ >
__cuda_callable__ constexpr Complex< Value > & operator= (const Value_ &v)
 
__cuda_callable__ bool operator== (const Complex< Value > &c) const
 
template<typename Value_ >
__cuda_callable__ bool operator== (const Complex< Value_ > &c) const
 
bool operator== (const std::complex< Value > &c) const
 
template<typename Value_ >
bool operator== (const std::complex< Value_ > &c) const
 
__cuda_callable__ bool operator== (const Value &v) const
 
template<typename Value_ >
__cuda_callable__ bool operator== (const Value_ &v) const
 
__cuda_callable__ Value & real ()
 
__cuda_callable__ const Value & real () const
 
__cuda_callable__ const Value & real () const volatile
 
__cuda_callable__ Value & real () volatile
 

Protected Attributes

Value imag_
 
Value real_
 

Detailed Description

template<typename Value = double>
struct TNL::Arithmetics::Complex< Value >

Implementation of complex types.

Warning: Only basic algebraic operations like addition, subtraction, multiplication and division are implemented currently.

Template Parameters
Valuerepresents arithmetics of real numbers used for the construction of the complex number.

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