3#ifndef pRC_CORE_VALUE_INTEGER_H
4#define pRC_CORE_VALUE_INTEGER_H
20 template<Bool S, Size W>
37 "Integer<S, W>: W has to be a supported Width (8, 16, 32, 64).");
40 template<
class V, If<IsValue<V>> = 0>
63 template<
class U, If<IsConstructible<Fundamental, U>> = 0>
69 template<
class U, If<IsValue<U>> = 0>
75 template<
class U, If<IsValue<U>> = 0>
96 template<
class U, If<IsAssignable<Fundamental, U>> = 0>
103 template<
class U, If<IsValue<U>> = 0>
110 template<
class U, If<IsValue<U>> = 0>
113 return *
this = value.real();
131 constexpr decltype(
auto)
operator()() &&
136 constexpr decltype(
auto)
operator()()
const &&
156 template<
class X, If<IsInvocable<Add, Integer &, X>> = 0>
162 template<
class X, If<IsInvocable<Sub, Integer &, X>> = 0>
168 template<
class X, If<IsInvocable<Mul, Integer &, X>> = 0>
174 template<
class X, If<IsInvocable<Div, Integer &, X>> = 0>
180 template<
class X, If<IsInvocable<Mod, Integer &, X>> = 0>
Definition complex.hpp:26
Definition integer.hpp:22
constexpr auto & operator=(Unit<> const) &
Definition integer.hpp:121
constexpr Integer(U const basic)
Definition integer.hpp:64
constexpr Integer & operator=(Integer const &) &=default
constexpr auto & operator=(U const &value) &
Definition integer.hpp:104
constexpr Integer & operator=(Integer &&) &=default
constexpr auto & operator=(U const basic) &
Definition integer.hpp:97
constexpr auto & operator/=(X &&rhs) &
Definition integer.hpp:175
constexpr auto & operator=(Complex< U > const &value) &
Definition integer.hpp:111
V ChangeValue
Definition integer.hpp:41
constexpr Integer(Integer const &)=default
constexpr Integer(Complex< U > const &value)
Definition integer.hpp:76
constexpr Integer(U const &value)
Definition integer.hpp:70
constexpr auto & operator-=(X &&rhs) &
Definition integer.hpp:163
pRC::Constant< Bool, S > Signed
Definition integer.hpp:43
constexpr Integer(Zero<> const)
Definition integer.hpp:81
constexpr Integer(Integer &&)=default
constexpr auto & operator()() const &
Definition integer.hpp:146
constexpr auto & operator()() &
Definition integer.hpp:141
constexpr auto & operator%=(X &&rhs) &
Definition integer.hpp:181
constexpr auto & operator=(Identity<> const) &
Definition integer.hpp:126
constexpr auto & operator=(Zero<> const) &
Definition integer.hpp:116
constexpr Integer(Identity<> const)
Definition integer.hpp:91
constexpr 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:24
pRC::Constant< Size, W > Width
Definition integer.hpp:47
constexpr auto & operator*=(X &&rhs) &
Definition integer.hpp:169
constexpr auto & operator+=(X &&rhs) &
Definition integer.hpp:157
constexpr Integer(Unit<> const)
Definition integer.hpp:86
TN::Subscripts S
Definition externs_nonTT.hpp:9
Definition cholesky.hpp:18
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
Integer(Integer< true, 8 >::Fundamental const) -> Integer< true, 8 >
static constexpr auto identity()
Definition identity.hpp:12
Definition type_traits.hpp:262
Definition type_traits.hpp:265
Definition type_traits.hpp:268