TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
complex.hpp File Reference
#include <complex>
#include <concepts>
#include <type_traits>

Detailed Description

Provides additional operators for std::complex and other arithmetic types.

Definition in file complex.hpp.

Go to the source code of this file.

Functions

template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U> and !std::is_same_v<T, U>)
auto std::operator* (std::complex< T > const &x, std::complex< U > const &y)
 Implementation of operator * for two std::complex types with different value types.
 
template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U>)
auto std::operator* (std::complex< T > const &x, U y)
 Implementation of operator * for std::complex and some other arithmetic type.
 
template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U>)
auto std::operator* (T x, std::complex< U > const &y)
 Implementation of operator * for some other arithmetic type and std::complex.
 
template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U> and !std::is_same_v<T, U>)
auto std::operator+ (std::complex< T > const &x, std::complex< U > const &y)
 Implementation of operator + for two std::complex types with different value types.
 
template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U>)
auto std::operator+ (std::complex< T > const &x, U y)
 Implementation of operator + for std::complex and some other arithmetic type.
 
template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U>)
auto std::operator+ (T x, std::complex< U > const &y)
 Implementation of operator + for some other arithmetic type and std::complex.
 
template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U> and !std::is_same_v<T, U>)
auto std::operator- (std::complex< T > const &x, std::complex< U > const &y)
 Implementation of operator - for two std::complex types with different value types.
 
template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U>)
auto std::operator- (std::complex< T > const &x, U y)
 Implementation of operator - for std::complex and some other arithmetic type.
 
template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U>)
auto std::operator- (T x, std::complex< U > const &y)
 Implementation of operator - for some other arithmetic type and std::complex.
 
template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U> and !std::is_same_v<T, U>)
auto std::operator/ (std::complex< T > const &x, std::complex< U > const &y)
 Implementation of operator / for two std::complex types with different value types.
 
template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U>)
auto std::operator/ (std::complex< T > const &x, U y)
 Implementation of operator / for std::complex and some other arithmetic type.
 
template<typename T , typename U >
requires (std::is_arithmetic_v<T> and std::is_arithmetic_v<U> and std::common_with<T, U>)
auto std::operator/ (T x, std::complex< U > const &y)
 Implementation of operator / for some other arithmetic type and std::complex.