3#ifndef pRC_CORE_VALUE_INTEGER_H
4#define pRC_CORE_VALUE_INTEGER_H
45 template<Bool S, Size W>
62 "Integer<S, W>: W has to be a supported Width (8, 16, 32, 64).");
65 template<
class V, If<IsValue<V>> = 0>
99 template<
class U, If<IsConstructible<Fundamental, U>> = 0>
112 template<
class U, If<IsValue<U>> = 0>
128 template<
class U, If<IsValue<U>> = 0>
175 template<
class U, If<IsAssignable<Fundamental, U>> = 0>
190 template<
class U, If<IsValue<U>> = 0>
206 template<
class U, If<IsValue<U>> = 0>
209 return *
this = value.real();
242 constexpr decltype(
auto)
operator()() &&
247 constexpr decltype(
auto)
operator()()
const &&
274 template<
class X, If<IsInvocable<Add, Integer &, X>> = 0>
287 template<
class X, If<IsInvocable<Sub, Integer &, X>> = 0>
300 template<
class X, If<IsInvocable<Mul, Integer &, X>> = 0>
315 template<
class X, If<IsInvocable<Div, Integer &, X>> = 0>
328 template<
class X, If<IsInvocable<Mod, Integer &, X>> = 0>
Definition complex.hpp:26
Top-level class storing a floating point number.
Definition integer.hpp:47
constexpr auto & operator=(Unit<> const) &
Integer assignment from pRC::Unit.
Definition integer.hpp:227
constexpr Integer(U const basic)
Integer initializer from standard data types (like int, unsigned)
Definition integer.hpp:100
constexpr Integer & operator=(Integer const &) &=default
constexpr auto & operator=(U const &value) &
Integer asignment from pRC value data type (like Float, Integer)
Definition integer.hpp:191
constexpr Integer & operator=(Integer &&) &=default
constexpr auto & operator=(U const basic) &
Integer assignment from standard data types (like int, unsigned)
Definition integer.hpp:176
constexpr auto & operator/=(X &&rhs) &
/= operator for Integer
Definition integer.hpp:316
constexpr auto & operator=(Complex< U > const &value) &
Integer assignment from Complex object.
Definition integer.hpp:207
V ChangeValue
Definition integer.hpp:66
constexpr Integer(Integer const &)=default
constexpr Integer(Complex< U > const &value)
Integer initializer from pRC::Complex object.
Definition integer.hpp:129
constexpr Integer(U const &value)
Integer initializer from pRC value data type (like Float, Integer)
Definition integer.hpp:113
constexpr auto & operator-=(X &&rhs) &
-= operator for Integer
Definition integer.hpp:288
pRC::Constant< Bool, S > Signed
Definition integer.hpp:68
constexpr Integer(Zero<> const)
Integer initializer from pRC::Zero.
Definition integer.hpp:139
constexpr Integer(Integer &&)=default
Conditional< IsSatisfied<(S)>, Conditional< IsSatisfied<(W==8)>, std::int8_t, Conditional< IsSatisfied<(W==16)>, std::int16_t, Conditional< IsSatisfied<(W==32)>, std::int32_t, Conditional< IsSatisfied<(W==64)>, std::int64_t, Undefined > > > >, Conditional< IsSatisfied<(W==8)>, std::uint8_t, Conditional< IsSatisfied<(W==16)>, std::uint16_t, Conditional< IsSatisfied<(W==32)>, std::uint32_t, Conditional< IsSatisfied<(W==64)>, std::uint64_t, Undefined > > > > > Fundamental
Definition integer.hpp:59
constexpr auto & operator()() const &
Definition integer.hpp:257
constexpr auto & operator()() &
Definition integer.hpp:252
constexpr auto & operator%=(X &&rhs) &
%= operator for Integer
Definition integer.hpp:329
constexpr auto & operator=(Identity<> const) &
Integer assignment from pRC::Identity.
Definition integer.hpp:237
constexpr auto & operator=(Zero<> const) &
Integer assignment from pRC::Zero.
Definition integer.hpp:217
constexpr Integer(Identity<> const)
Integer initializer from pRC::Identity.
Definition integer.hpp:159
constexpr Integer()=default
pRC::Constant< Size, W > Width
Definition integer.hpp:72
constexpr auto & operator*=(X &&rhs) &
*= operator for Integer
Definition integer.hpp:301
constexpr auto & operator+=(X &&rhs) &
+= operator for Integer
Definition integer.hpp:275
constexpr Integer(Unit<> const)
Integer initializer from pRC::Unit.
Definition integer.hpp:149
Definition cholesky.hpp:18
static constexpr decltype(auto) real(X &&a)
Definition real.hpp:11
static constexpr auto zero()
Definition zero.hpp:12
std::integral_constant< T, V > Constant
Definition type_traits.hpp:34
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition copy.hpp:13
static constexpr auto unit()
Definition unit.hpp:12
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