|
| | ~Float ()=default |
| |
| constexpr | Float (Float const &)=default |
| |
| constexpr | Float (Float &&)=default |
| |
| constexpr Float & | operator= (Float const &) &=default |
| |
| constexpr Float & | operator= (Float &&) &=default |
| |
| constexpr | Float ()=default |
| |
| template<class U , If< IsConstructible< Fundamental, U > > = 0> |
| constexpr | Float (U const basic) |
| | Float initializer from standard data types (like float, double)
|
| |
| template<class U , If< IsValue< U > > = 0> |
| constexpr | Float (U const &value) |
| | Float initializer from pRC value data type (like Float, Integer)
|
| |
| template<class U , If< IsValue< U > > = 0> |
| constexpr | Float (Complex< U > const &value) |
| | Float initializer from pRC::Complex object.
|
| |
| constexpr | Float (Zero<> const) |
| | Float initializer from pRC::Zero.
|
| |
| constexpr | Float (Unit<> const) |
| | Float initializer from pRC::Unit.
|
| |
| constexpr | Float (Identity<> const) |
| | Float initializer from pRC::Identity.
|
| |
| template<class U , If< IsAssignable< Fundamental, U > > = 0> |
| constexpr auto & | operator= (U const basic) & |
| | Float assignment from standard data types (like float, double)
|
| |
| template<class U , If< IsValue< U > > = 0> |
| constexpr auto & | operator= (U const &value) & |
| | Float assignment from pRC value data type (like Float, Integer)
|
| |
| template<class U , If< IsValue< U > > = 0> |
| constexpr auto & | operator= (Complex< U > const &value) & |
| | Float assignment from Complex object.
|
| |
| constexpr auto & | operator= (Zero<> const) & |
| | Float assignment from pRC::Zero.
|
| |
| constexpr auto & | operator= (Unit<> const) & |
| | Float assignment from pRC::Unit.
|
| |
| constexpr auto & | operator= (Identity<> const) & |
| | Float assignment from pRC::Identity.
|
| |
| constexpr decltype(auto) | operator() () && |
| |
| constexpr decltype(auto) | operator() () const && |
| |
| constexpr auto & | operator() () & |
| |
| constexpr auto & | operator() () const & |
| |
| constexpr | operator Fundamental () const |
| |
| template<class X , If< IsInvocable< Add, Float &, X > > = 0> |
| constexpr auto & | operator+= (X &&rhs) & |
| | += operator for Float
|
| |
| template<class X , If< IsInvocable< Sub, Float &, X > > = 0> |
| constexpr auto & | operator-= (X &&rhs) & |
| | -= operator for Float
|
| |
| template<class X , If< IsInvocable< Mul, Float &, X > > = 0> |
| constexpr auto & | operator*= (X &&rhs) & |
| | *= operator for Float
|
| |
| template<class X , If< IsInvocable< Div, Float &, X > > = 0> |
| constexpr auto & | operator/= (X &&rhs) & |
| | /= operator for Float
|
| |
template<
Size W>
class pRC::Float< W >
Top-level class storing a floating point number.
Floating-point numbers are supported for widths 16 (half-precision), 32 (standard-precision) and 64 (double-precision). See also Top-level Value types in pRC for an overview of pRCs builtin types.
Float<32> and Float<64> store the value internally as float and double. Float<16> stores the value internally as a BFloat16, which utilizes the std::uint16_t type.
- Template Parameters
-
| W | Width of the floating point number (16, 32 or 64) |