|
Expression Templates Library (ETL)
|
binary-compatible std::complex faster implementation More...

Go to the source code of this file.
Classes | |
| struct | etl::complex< T > |
| Complex number implementation. More... | |
Namespaces | |
| etl | |
| Root namespace for the ETL library. | |
Functions | |
| template<typename T > | |
| bool | etl::operator== (const complex< T > &lhs, const complex< T > &rhs) |
| Test two complex numbers for equality. More... | |
| template<typename T > | |
| bool | etl::operator!= (const complex< T > &lhs, const complex< T > &rhs) |
| Test two complex numbers for inequality. More... | |
| template<typename T > | |
| complex< T > | etl::operator- (complex< T > rhs) |
| Returns a complex number with the value of -rhs. More... | |
| template<typename T > | |
| complex< T > | etl::operator+ (const complex< T > &lhs, const complex< T > &rhs) |
| Computes the addition of two complex numbers. More... | |
| template<typename T > | |
| complex< T > | etl::operator- (const complex< T > &lhs, const complex< T > &rhs) |
| Computes the subtraction of two complex numbers. More... | |
| template<typename T > | |
| complex< T > | etl::operator* (const complex< T > &lhs, const complex< T > &rhs) |
| Computes the multiplication of two complex numbers. More... | |
| template<typename T > | |
| complex< T > | etl::operator* (const complex< T > &lhs, T rhs) |
| Computes the multiplication of a complex number and a scalar. More... | |
| template<typename T > | |
| complex< T > | etl::operator* (T lhs, const complex< T > &rhs) |
| Computes the multiplication of a complex number and a scalar. More... | |
| template<typename T > | |
| complex< T > | etl::operator/ (const complex< T > &lhs, T rhs) |
| Computes the division of a complex number and a scalar. More... | |
| template<typename T > | |
| complex< T > | etl::operator/ (const complex< T > &lhs, const complex< T > &rhs) |
| Computes the division of two complex numbers. More... | |
| template<typename T > | |
| T | etl::abs (complex< T > z) |
| Computes the magnitude of the given complex number. More... | |
| template<typename T > | |
| T | etl::arg (complex< T > z) |
| Computes the phase angle of the given complex number. More... | |
| template<typename T > | |
| complex< T > | etl::sqrt (complex< T > z) |
| Computes the complex square root of the input. More... | |
| template<typename T > | |
| complex< T > | etl::invsqrt (complex< T > z) |
| Computes the inverse complex square root of the input. More... | |
| template<typename T > | |
| complex< T > | etl::cbrt (complex< T > z) |
| Computes the complex cubic root of the input. More... | |
| template<typename T > | |
| complex< T > | etl::invcbrt (complex< T > z) |
| Computes the inverse complex cubic root of the input. More... | |
| template<typename T > | |
| complex< T > | etl::log (complex< T > z) |
| Computes the complex logarithm, in base e, of the input. More... | |
| template<typename T > | |
| complex< T > | etl::log2 (complex< T > z) |
| Computes the complex logarithm, in base 2, of the input. More... | |
| template<typename T > | |
| complex< T > | etl::log10 (complex< T > z) |
| Computes the complex logarithm, in base 10, of the input. More... | |
| template<typename T > | |
| complex< T > | etl::sin (complex< T > z) |
| Computes the sinus of the complex input. More... | |
| template<typename T > | |
| complex< T > | etl::cos (complex< T > z) |
| Computes the cosine of the complex input. More... | |
| template<typename T > | |
| complex< T > | etl::tan (complex< T > z) |
| Computes the tangent of the complex input. More... | |
| template<typename T > | |
| complex< T > | etl::cosh (complex< T > z) |
| Computes the hyperbolic cosine of the complex input. More... | |
| template<typename T > | |
| complex< T > | etl::sinh (complex< T > z) |
| Computes the hyperbolic sinus of the complex input. More... | |
| template<typename T > | |
| complex< T > | etl::tanh (complex< T > z) |
| Computes the hyperbolic tangent of the complex input. More... | |
| template<typename T > | |
| complex< T > | etl::inverse (complex< T > x) |
| Returns the inverse of the complex number. More... | |
| template<typename T > | |
| complex< T > | etl::inverse_conj (complex< T > x) |
| Returns the inverse of the conjugate of the complex number. More... | |
| template<typename T > | |
| complex< T > | etl::conj_inverse (complex< T > x) |
| Returns the conjugate of the inverse of the complex number. More... | |
| template<typename T > | |
| complex< T > | etl::conj (const complex< T > &c) |
| Returns the conjugate of the complex number. More... | |
| template<typename T > | |
| T | etl::get_imag (const std::complex< T > &c) |
| Returns the imaginary part of the given complex number. More... | |
| template<typename T > | |
| T | etl::get_imag (const etl::complex< T > &c) |
| Returns the imaginary part of the given complex number. More... | |
| template<typename T > | |
| T | etl::get_real (const std::complex< T > &c) |
| Returns the real part of the given complex number. More... | |
| template<typename T > | |
| T | etl::get_real (const etl::complex< T > &c) |
| Returns the real part of the given complex number. More... | |
| template<typename T > | |
| std::complex< T > | etl::get_conj (const std::complex< T > &c) |
| Returns the conjugate of the given complex number. More... | |
| template<typename T > | |
| etl::complex< T > | etl::get_conj (const etl::complex< T > &c) |
| Returns the conjugate of the given complex number. More... | |
| template<typename T > | |
| std::ostream & | etl::operator<< (std::ostream &os, const etl::complex< T > &c) |
| Outputs a textual representation of the complex number in the given stream. More... | |
binary-compatible std::complex faster implementation
For some reason, the compilers are not inlining std::complex operations, resulting in way slower code. This template is binary-compatible so it can be reinterpreted as to one another and its operations can be inlined easily. This results in much faster code for FFT for instance.
1.8.13