|
dune-common 2.12-git
|
Loading...
Searching...
No Matches
bigunsignedint.hh
Go to the documentation of this file.
3// SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
90 bigunsignedint (Signed x, typename std::enable_if<std::is_integral<Signed>::value && std::is_signed<Signed>::value>::type* = 0);
227 bigunsignedint<k>::bigunsignedint (Signed y, typename std::enable_if<std::is_integral<Signed>::value && std::is_signed<Signed>::value>::type*)
230 DUNE_THROW(Dune::Exception, "Trying to construct a Dune::bigunsignedint from a negative integer: " << y);
334 std::uint_fast32_t sum = static_cast<std::uint_fast32_t>(digit[i]) + static_cast<std::uint_fast32_t>(x.digit[i]) + overflow;
348 std::int_fast32_t diff = static_cast<std::int_fast32_t>(digit[i]) - static_cast<std::int_fast32_t>(x.digit[i]) - overflow;
374 std::uint_fast32_t digitproduct = static_cast<std::uint_fast32_t>(digit[i])*static_cast<std::uint_fast32_t>(x.digit[m])+overflow;
641 : private Dune::Impl::numeric_limits_helper<Dune::bigunsignedint<k> > // for access to internal state of bigunsignedint
A few common exception classes.
Support for calculating hash values of objects.
#define DUNE_DEFINE_HASH(template_args, type)
Defines the required struct specialization to make type hashable via Dune::hash.
Definition hash.hh:100
#define DUNE_HASH_TYPE(...)
Wrapper macro for the type to be hashed in DUNE_DEFINE_HASH.
Definition hash.hh:117
#define DUNE_HASH_TEMPLATE_ARGS(...)
Wrapper macro for the template arguments in DUNE_DEFINE_HASH.
Definition hash.hh:109
bigunsignedint< k > & operator/=(const bigunsignedint< k > &x)
Definition bigunsignedint.hh:400
bigunsignedint< k > operator*(const bigunsignedint< k > &x, std::uintmax_t y)
Definition bigunsignedint.hh:572
bigunsignedint< k > operator<<(int i) const
left shift
Definition bigunsignedint.hh:464
bigunsignedint< k > & operator+=(const bigunsignedint< k > &x)
Definition bigunsignedint.hh:328
bigunsignedint< k > & operator^=(const bigunsignedint< k > &x)
Definition bigunsignedint.hh:439
std::ostream & operator<<(std::ostream &s, const bigunsignedint< k > &x)
Definition bigunsignedint.hh:301
bool operator<=(const bigunsignedint< k > &x) const
less than or equal
Definition bigunsignedint.hh:536
void print(std::ostream &s) const
Print number in hex notation.
Definition bigunsignedint.hh:278
bool operator<(const bigunsignedint< k > &x) const
less than
Definition bigunsignedint.hh:527
bigunsignedint< k > operator/(const bigunsignedint< k > &x, std::uintmax_t y)
Definition bigunsignedint.hh:579
bool operator==(const bigunsignedint< k > &x) const
equal
Definition bigunsignedint.hh:521
bool operator!=(const bigunsignedint< k > &x) const
not equal
Definition bigunsignedint.hh:513
bigunsignedint()
Construct uninitialized.
Definition bigunsignedint.hh:220
bigunsignedint< k > & operator&=(const bigunsignedint< k > &x)
Definition bigunsignedint.hh:431
bigunsignedint< k > operator-(const bigunsignedint< k > &x, std::uintmax_t y)
Definition bigunsignedint.hh:565
bool operator>=(const bigunsignedint< k > &x) const
greater or equal
Definition bigunsignedint.hh:551
bigunsignedint< k > operator>>(int i) const
right shift
Definition bigunsignedint.hh:489
bigunsignedint< k > operator+(const bigunsignedint< k > &x, std::uintmax_t y)
Definition bigunsignedint.hh:558
bigunsignedint< k > operator~() const
bitwise complement
Definition bigunsignedint.hh:455
bigunsignedint< k > & operator++()
prefix increment
Definition bigunsignedint.hh:386
bigunsignedint< k > & operator|=(const bigunsignedint< k > &x)
Definition bigunsignedint.hh:447
bigunsignedint< k > operator%(const bigunsignedint< k > &x, std::uintmax_t y)
Definition bigunsignedint.hh:586
bigunsignedint< k > & operator%=(const bigunsignedint< k > &x)
Definition bigunsignedint.hh:419
double todouble() const
Convert to a double.
Definition bigunsignedint.hh:259
bigunsignedint< k > & operator-=(const bigunsignedint< k > &x)
Definition bigunsignedint.hh:342
bool operator>(const bigunsignedint< k > &x) const
greater than
Definition bigunsignedint.hh:545
bigunsignedint< k > & operator*=(const bigunsignedint< k > &x)
Definition bigunsignedint.hh:364
std::uint_least32_t touint() const
export to other types
Definition bigunsignedint.hh:253
STL namespace.
std::size_t hash_range(It first, It last)
Hashes all elements in the range [first,last) and returns the combined hash.
Definition hash.hh:322
void assign(T &dst, const T &src, bool mask)
masked Simd assignment (scalar version)
Definition simd.hh:447
A traits class describing the mapping of types onto MPI_Datatypes.
Definition mpitraits.hh:41
bigunsignedint< k > operator|(const bigunsignedint< k > &x) const
bitwise or
bigunsignedint< k > operator^(const bigunsignedint< k > &x) const
bitwise exor
bigunsignedint< k > operator*(const bigunsignedint< k > &x) const
multiply
bigunsignedint< k > operator%(const bigunsignedint< k > &x) const
friend int bit_width(const bigunsignedint &arg)
Bit width.
Definition bigunsignedint.hh:184
bigunsignedint< k > operator-(const bigunsignedint< k > &x) const
subtract
bigunsignedint< k > operator&(const bigunsignedint< k > &x) const
bitwise and
bigunsignedint< k > operator/(const bigunsignedint< k > &x) const
friend std::size_t hash_value(const bigunsignedint &arg)
Definition bigunsignedint.hh:203
friend int countl_zero(const bigunsignedint &arg)
Count left zero bits.
Definition bigunsignedint.hh:198
Whether this type acts as a scalar in the context of (hierarchically blocked) containers.
Definition typetraits.hh:194
T bit_width(T... args)
T denorm_min(T... args)
T epsilon(T... args)
T hex(T... args)
T infinity(T... args)
T max(T... args)
T min(T... args)
T quiet_NaN(T... args)
T rbegin(T... args)
T rend(T... args)
T round_error(T... args)
T signaling_NaN(T... args)
T size(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8