3#ifndef pRC_CORE_COMPLEX_COMPLEX_H
4#define pRC_CORE_COMPLEX_COMPLEX_H
36 template<IsConvertible<T> R>
43 template<IsConvertible<T> R>
50 template<IsConvertible<T> R>
72 template<IsConvertible<T> R>
80 template<IsConvertible<T> R>
103 constexpr decltype(
auto)
real() &&
108 constexpr decltype(
auto)
real()
const &&
123 constexpr decltype(
auto)
imag() &&
128 constexpr decltype(
auto)
imag()
const &&
147 return *
this = *
this + forward<X>(rhs);
154 return *
this = *
this - forward<X>(rhs);
161 return *
this = *
this * forward<X>(rhs);
168 return *
this = *
this / forward<X>(rhs);
171 constexpr operator T()
const
184 template<IsFloat R, IsFloat I>
190 []<
class U>(
Complex<U> const &&)
Definition complex.hpp:22
constexpr auto & real() const &
Definition complex.hpp:118
constexpr auto & imag() &
Definition complex.hpp:133
constexpr auto & real() &
Definition complex.hpp:113
constexpr Complex(Zero<> const)
Definition complex.hpp:57
constexpr Complex & operator=(Complex const &) &=default
constexpr Complex(Complex &&)=default
constexpr Complex(R const &real, R const &imag)
Definition complex.hpp:44
constexpr auto & operator=(Identity<> const) &
Definition complex.hpp:98
constexpr decltype(auto) real() &&
Definition complex.hpp:103
constexpr auto & operator=(Zero<> const) &
Definition complex.hpp:88
constexpr auto & operator*=(X &&rhs) &
Definition complex.hpp:159
constexpr auto & operator/=(X &&rhs) &
Definition complex.hpp:166
constexpr Complex & operator=(Complex &&) &=default
Complex(R const &real)
Definition complex.hpp:51
constexpr auto & operator+=(X &&rhs) &
Definition complex.hpp:145
constexpr Complex(Complex const &)=default
constexpr decltype(auto) real() const &&
Definition complex.hpp:108
constexpr decltype(auto) imag() const &&
Definition complex.hpp:128
constexpr auto & imag() const &
Definition complex.hpp:138
constexpr Complex(Identity<> const)
Definition complex.hpp:67
constexpr auto & operator-=(X &&rhs) &
Definition complex.hpp:152
constexpr Complex(Unit<> const)
Definition complex.hpp:62
Complex(Complex< R > const &other)
Definition complex.hpp:37
constexpr decltype(auto) imag() &&
Definition complex.hpp:123
constexpr auto & operator=(Complex< R > const &rhs) &
Definition complex.hpp:73
constexpr auto & operator=(R const &real) &
Definition complex.hpp:81
constexpr auto & operator=(Unit<> const) &
Definition complex.hpp:93
Definition complex.hpp:188
Definition complex.hpp:197
Definition concepts.hpp:31
Definition concepts.hpp:19
Definition concepts.hpp:28
pRC::Float<> T
Definition externs_nonTT.hpp:1
Definition cholesky.hpp:10
static constexpr auto unit()
Definition unit.hpp:13
Complex(T const &) -> Complex< T >
RemoveConst< RemoveReference< T > > RemoveConstReference
Definition basics.hpp:47
RemoveConstReference< ResultOf< Eval, ResultOf< Real, T > > > NonComplex
Definition complex.hpp:201
static constexpr auto identity()
Definition identity.hpp:13
static constexpr auto zero()
Definition zero.hpp:12
Definition identity.hpp:11