3#ifndef pRC_CORE_VALUE_FLOAT_H
4#define pRC_CORE_VALUE_FLOAT_H
29 "Float<W>: W has to be a supported Width (16, 32, 64).");
32 template<
class V, If<IsValue<V>> = 0>
55 template<
class U, If<IsConstructible<Fundamental, U>> = 0>
61 template<
class U, If<IsValue<U>> = 0>
67 template<
class U, If<IsValue<U>> = 0>
88 template<
class U, If<IsAssignable<Fundamental, U>> = 0>
95 template<
class U, If<IsValue<U>> = 0>
102 template<
class U, If<IsValue<U>> = 0>
105 return *
this = value.real();
123 constexpr decltype(
auto)
operator()() &&
128 constexpr decltype(
auto)
operator()()
const &&
148 template<
class X, If<IsInvocable<Add, Float &, X>> = 0>
154 template<
class X, If<IsInvocable<Sub, Float &, X>> = 0>
160 template<
class X, If<IsInvocable<Mul, Float &, X>> = 0>
166 template<
class X, If<IsInvocable<Div, Float &, X>> = 0>
Definition bfloat16.hpp:18
Definition complex.hpp:26
constexpr Float(Complex< U > const &value)
Definition float.hpp:68
constexpr auto & operator-=(X &&rhs) &
Definition float.hpp:155
constexpr Float & operator=(Float const &) &=default
constexpr Float(U const &value)
Definition float.hpp:62
pRC::Constant< Size, W > Width
Definition float.hpp:39
constexpr Float(Float &&)=default
constexpr auto & operator/=(X &&rhs) &
Definition float.hpp:167
constexpr auto & operator()() &
Definition float.hpp:133
constexpr auto & operator=(Zero<> const) &
Definition float.hpp:108
constexpr auto & operator=(Identity<> const) &
Definition float.hpp:118
Conditional< IsSatisfied<(W==16)>, BFloat16, Conditional< IsSatisfied<(W==32)>, float, Conditional< IsSatisfied<(W==64)>, double, Undefined > > > Fundamental
Definition float.hpp:24
constexpr auto & operator=(Complex< U > const &value) &
Definition float.hpp:103
Conditional< IsSatisfied<(R)>, Float< W >, Undefined > ChangeSigned
Definition float.hpp:37
constexpr Float(U const basic)
Definition float.hpp:56
constexpr auto & operator*=(X &&rhs) &
Definition float.hpp:161
constexpr Float(Float const &)=default
constexpr Float & operator=(Float &&) &=default
V ChangeValue
Definition float.hpp:33
constexpr auto & operator+=(X &&rhs) &
Definition float.hpp:149
constexpr Float(Zero<> const)
Definition float.hpp:73
constexpr auto & operator=(U const &value) &
Definition float.hpp:96
constexpr auto & operator=(Unit<> const) &
Definition float.hpp:113
constexpr Float(Unit<> const)
Definition float.hpp:78
constexpr auto & operator=(U const basic) &
Definition float.hpp:89
constexpr Float()=default
constexpr Float(Identity<> const)
Definition float.hpp:83
constexpr auto & operator()() const &
Definition float.hpp:138
Definition cholesky.hpp:18
Float(Float< 16 >::Fundamental const) -> Float< 16 >
static constexpr auto makeConstantSequence()
Definition sequence.hpp:402
static constexpr decltype(auto) real(X &&a)
Definition real.hpp:11
static constexpr auto zero()
Definition zero.hpp:12
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr auto unit()
Definition unit.hpp:12
std::integral_constant< T, V > Constant
Definition type_traits.hpp:34
std::conditional_t< B{}, T, F > Conditional
Definition type_traits.hpp:131
static constexpr auto identity()
Definition identity.hpp:12
Definition type_traits.hpp:262
Definition type_traits.hpp:265
Definition type_traits.hpp:268