8#ifndef INCLUDED_BDLDFP_UINT128
9#define INCLUDED_BDLDFP_UINT128
161#include <bsls_types.h>
184 #ifdef BSLS_PLATFORM_IS_BIG_ENDIAN
187 #elif defined(BSLS_PLATFORM_IS_LITTLE_ENDIAN)
191 #error Only big or little endian is supported.
322 d_low = initialValue;
329 d_high = initialHigh;
337 d_high |= rhs.d_high;
346 d_high &= rhs.d_high;
355 d_high ^= rhs.d_high;
370 d_low |= d_high << (64 - rhs);
374 d_low = d_high >> (rhs - 64);
390 d_high |= d_low >> (64 - rhs);
394 d_high = d_low << (rhs - 64);
434 return lhs.high() == rhs.high() && lhs.low() == rhs.low();
441 return lhs.high() !=
rhs.high() ||
lhs.low() !=
rhs.low();
Definition bdldfp_uint128.h:175
void setLow(bsls::Types::Uint64 value)
Set the low order bits of this integer to the specified value.
Definition bdldfp_uint128.h:408
Uint128 & operator<<=(int rhs)
Definition bdldfp_uint128.h:382
void setHigh(bsls::Types::Uint64 value)
Set the high order bits of this integer to the specified value.
Definition bdldfp_uint128.h:402
Uint128 & operator|=(const Uint128 &rhs)
Definition bdldfp_uint128.h:335
Uint128()
Create an Uint128 object having the value 0
Definition bdldfp_uint128.h:312
Uint128 & operator^=(const Uint128 &rhs)
Definition bdldfp_uint128.h:353
Uint128 & operator>>=(int rhs)
Definition bdldfp_uint128.h:362
Uint128 & operator=(const Uint128 &rhs)=default
bsls::Types::Uint64 high() const
Return the high order bits of this integer.
Definition bdldfp_uint128.h:415
bsls::Types::Uint64 low() const
Return the low order bits of this integer.
Definition bdldfp_uint128.h:421
Uint128 & operator&=(const Uint128 &rhs)
Definition bdldfp_uint128.h:344
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdldfp_decimal.h:747
bsl::basic_istream< CHARTYPE, TRAITS > & operator>>(bsl::basic_istream< CHARTYPE, TRAITS > &stream, Decimal32 &object)
bsl::basic_ostream< CHARTYPE, TRAITS > & operator<<(bsl::basic_ostream< CHARTYPE, TRAITS > &stream, Decimal32 object)
bool operator!=(Decimal32 lhs, Decimal32 rhs)
Uint128 operator~(Uint128 value)
Uint128 operator|(Uint128 lhs, const Uint128 &rhs)
Uint128 operator^(Uint128 lhs, const Uint128 &rhs)
Uint128 operator&(Uint128 lhs, const Uint128 &rhs)
bool operator==(Decimal32 lhs, Decimal32 rhs)
ALLOCATOR const STRING_VIEW_LIKE_TYPE & rhs
Definition bslstl_string.h:3918
ALLOCATOR & lhs
Definition bslstl_string.h:3917
unsigned long long Uint64
Definition bsls_types.h:139