tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
complex< T > Struct Template Reference

A complex number. More...

#include <etl/complex.hpp>

Public Types

using value_type = T
 

Public Member Functions

constexpr complex (complex const &other)=default
 
constexpr complex (T const &re=T(), T const &im=T())
 
template<typename X>
 explicit (sizeof(X) > sizeof(T)) const expr complex(complex< X > const &other)
 
constexpr auto imag () const -> T
 
constexpr auto imag (T val) -> void
 
template<typename X>
constexpr auto operator*= (complex< X > const &val) -> complex< T > &
 
constexpr auto operator*= (T const &val) -> complex< T > &
 
template<typename X>
constexpr auto operator+= (complex< X > const &val) -> complex< T > &
 
constexpr auto operator+= (T const &val) -> complex< T > &
 
template<typename X>
constexpr auto operator-= (complex< X > const &val) -> complex< T > &
 
constexpr auto operator-= (T const &val) -> complex< T > &
 
template<typename X>
constexpr auto operator/= (complex< X > const &val) -> complex< T > &
 
constexpr auto operator/= (T const &val) -> complex< T > &
 
constexpr auto operator= (complex const &other) -> complex &=default
 
template<typename X>
constexpr auto operator= (complex< X > const &other) -> complex< T > &
 
constexpr auto operator= (T const &val) -> complex< T > &
 
constexpr auto real () const -> T
 
constexpr auto real (T val) -> void
 

Friends

template<size_t I, typename X>
constexpr auto get (complex< X > &&z) -> X &&
 
template<size_t I, typename X>
constexpr auto get (complex< X > &z) -> X &
 
template<size_t I, typename X>
constexpr auto get (complex< X > const &&z) -> X const &&
 
template<size_t I, typename X>
constexpr auto get (complex< X > const &z) -> X const &
 
constexpr auto operator== (complex const &lhs, complex const &rhs) -> bool
 
constexpr auto operator== (complex const &lhs, T const &rhs) -> bool
 

Detailed Description

template<typename T>
struct etl::complex< T >

A complex number.

Member Typedef Documentation

◆ value_type

template<typename T>
using value_type = T

Constructor & Destructor Documentation

◆ complex() [1/2]

template<typename T>
complex ( T const & re = T(),
T const & im = T() )
constexpr

◆ complex() [2/2]

template<typename T>
complex ( complex< T > const & other)
constexprdefault

Member Function Documentation

◆ explicit()

template<typename T>
template<typename X>
explicit ( sizeof(X) ,
sizeof(T)  ) const &

◆ imag() [1/2]

template<typename T>
auto imag ( ) const -> T
nodiscardconstexpr

◆ imag() [2/2]

template<typename T>
auto imag ( T val) -> void
constexpr

◆ operator*=() [1/2]

template<typename T>
template<typename X>
auto operator*= ( complex< X > const & val) -> complex<T>&
constexpr

◆ operator*=() [2/2]

template<typename T>
auto operator*= ( T const & val) -> complex<T>&
constexpr

◆ operator+=() [1/2]

template<typename T>
template<typename X>
auto operator+= ( complex< X > const & val) -> complex<T>&
constexpr

◆ operator+=() [2/2]

template<typename T>
auto operator+= ( T const & val) -> complex<T>&
constexpr

◆ operator-=() [1/2]

template<typename T>
template<typename X>
auto operator-= ( complex< X > const & val) -> complex<T>&
constexpr

◆ operator-=() [2/2]

template<typename T>
auto operator-= ( T const & val) -> complex<T>&
constexpr

◆ operator/=() [1/2]

template<typename T>
template<typename X>
auto operator/= ( complex< X > const & val) -> complex<T>&
constexpr

◆ operator/=() [2/2]

template<typename T>
auto operator/= ( T const & val) -> complex<T>&
constexpr

◆ operator=() [1/3]

template<typename T>
auto operator= ( complex< T > const & other) -> complex &=default
constexprdefault

◆ operator=() [2/3]

template<typename T>
template<typename X>
auto operator= ( complex< X > const & other) -> complex< T > &
constexpr

◆ operator=() [3/3]

template<typename T>
auto operator= ( T const & val) -> complex<T>&
constexpr

◆ real() [1/2]

template<typename T>
auto real ( ) const -> T
nodiscardconstexpr

◆ real() [2/2]

template<typename T>
auto real ( T val) -> void
constexpr

Friends And Related Symbol Documentation

◆ get [1/4]

template<typename T>
template<size_t I, typename X>
auto get ( complex< X > && z) -> X&&
friend

◆ get [2/4]

template<typename T>
template<size_t I, typename X>
auto get ( complex< X > & z) -> X&
friend

◆ get [3/4]

template<typename T>
template<size_t I, typename X>
auto get ( complex< X > const && z) -> X const&&
friend

◆ get [4/4]

template<typename T>
template<size_t I, typename X>
auto get ( complex< X > const & z) -> X const&
friend

◆ operator== [1/2]

template<typename T>
auto operator== ( complex< T > const & lhs,
complex< T > const & rhs ) -> bool
friend

◆ operator== [2/2]

template<typename T>
auto operator== ( complex< T > const & lhs,
T const & rhs ) -> bool
friend

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