|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
128位无符号整数类型 更多...
#include <int128.hpp>
Public 成员函数 | |
| constexpr | uint128_t (const int32_t low) noexcept |
| 从32位有符号整数构造 | |
| constexpr | uint128_t (const uint32_t low) noexcept |
| 从32位无符号整数构造 | |
| constexpr | uint128_t (const unsigned long low) noexcept |
| 从无符号 long 构造 | |
| constexpr | uint128_t (const unsigned long long low) noexcept |
| 从无符号 long long 构造 | |
| constexpr | uint128_t (const uint64_t high, const uint64_t low) noexcept |
| 从高低64位构造 | |
| constexpr int128_t | to_int128 () const noexcept |
| 转换为有符号128位整数 | |
| constexpr bool | equal_to (const uint128_t &rhs) const noexcept |
| 相等比较 | |
| constexpr bool | less_than (const uint128_t &rhs) const noexcept |
| 小于比较 | |
| constexpr uint128_t | negation () const noexcept |
| 取负 | |
| constexpr uint128_t & | operator+= (const uint128_t &other) noexcept |
| 加法赋值 | |
| constexpr uint128_t & | operator-= (const uint128_t &other) noexcept |
| 减法赋值 | |
| constexpr uint128_t & | operator*= (const uint128_t &other) noexcept |
| 乘法赋值 | |
| constexpr uint128_t & | operator/= (const uint128_t &other) |
| 除法赋值 | |
| constexpr uint128_t & | operator%= (const uint128_t &other) |
| 取模赋值 | |
| constexpr uint128_t & | operator++ () noexcept |
| 前置自增 | |
| constexpr uint128_t & | operator-- () noexcept |
| 前置自减 | |
| constexpr uint128_t | operator~ () const noexcept |
| 按位取反 | |
| constexpr uint128_t & | operator&= (const uint128_t &other) noexcept |
| 按位与赋值 | |
| constexpr uint128_t & | operator|= (const uint128_t &other) noexcept |
| 按位或赋值 | |
| constexpr uint128_t & | operator^= (const uint128_t &other) noexcept |
| 按位异或赋值 | |
| constexpr uint128_t & | operator<<= (const uint32_t shift) noexcept |
| 左移赋值 | |
| constexpr uint128_t & | operator>>= (const uint32_t shift) noexcept |
| 右移赋值 | |
| constexpr uint64_t | div64 (const uint64_t divisor, uint64_t *remainder=nullptr) const |
| 64位除法 | |
| constexpr size_t | to_hash () const noexcept |
| 计算哈希值 | |
| Public 成员函数 继承自 neforce::icomparable< uint128_t > | |
| constexpr bool | operator== (const uint128_t &rhs) const noexcept(noexcept(derived().equal_to(rhs))) |
| 相等比较运算符 | |
| constexpr bool | operator!= (const uint128_t &rhs) const noexcept(noexcept(!(derived().equal_to(rhs)))) |
| 不等比较运算符 | |
| constexpr bool | operator< (const uint128_t &rhs) const noexcept(noexcept(derived().less_than(rhs))) |
| 小于比较运算符 | |
| constexpr bool | operator> (const uint128_t &rhs) const noexcept(noexcept(rhs.less_than(derived()))) |
| 大于比较运算符 | |
| constexpr bool | operator<= (const uint128_t &rhs) const noexcept(noexcept(!(rhs.less_than(derived())))) |
| 小于等于比较运算符 | |
| constexpr bool | operator>= (const uint128_t &rhs) const noexcept(noexcept(!(derived().less_than(rhs)))) |
| 大于等于比较运算符 | |
| Public 成员函数 继承自 neforce::ihashable< uint128_t > | |
| constexpr size_t | to_ihash () const noexcept(noexcept(derived().to_hash())) |
| 获取对象的哈希值 | |
| Public 成员函数 继承自 neforce::iarithmetic< uint128_t > | |
| constexpr uint128_t | operator+ (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator+=(other))) |
| 加法运算符 | |
| constexpr uint128_t | operator- (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator-=(other))) |
| 减法运算符 | |
| constexpr uint128_t | operator* (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator*=(other))) |
| 乘法运算符 | |
| constexpr uint128_t | operator/ (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator/=(other))) |
| 除法运算符 | |
| constexpr uint128_t | operator% (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator%=(other))) |
| 取模运算符 | |
| constexpr uint128_t & | operator+= (const uint128_t &other) noexcept(noexcept(derived().operator+=(other))) |
| 加法赋值运算符 | |
| constexpr uint128_t & | operator-= (const uint128_t &other) noexcept(noexcept(derived().operator-=(other))) |
| 减法赋值运算符 | |
| constexpr uint128_t & | operator*= (const uint128_t &other) noexcept(noexcept(derived().operator*=(other))) |
| 乘法赋值运算符 | |
| constexpr uint128_t & | operator/= (const uint128_t &other) |
| 除法赋值运算符 | |
| constexpr uint128_t & | operator%= (const uint128_t &other) |
| 取模赋值运算符 | |
| constexpr uint128_t & | operator++ () noexcept(noexcept(derived().operator++())) |
| 前置自增运算符 | |
| constexpr uint128_t & | operator-- () noexcept(noexcept(derived().operator--())) |
| 前置自减运算符 | |
| Public 成员函数 继承自 neforce::ibinary< uint128_t > | |
| constexpr uint128_t | operator& (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator&=(other))) |
| 按位与运算符 | |
| constexpr uint128_t | operator| (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator|=(other))) |
| 按位或运算符 | |
| constexpr uint128_t | operator^ (const uint128_t &other) const noexcept(noexcept(const_cast< uint128_t & >(derived()).operator^=(other))) |
| 按位异或运算符 | |
| constexpr uint128_t | operator~ () const noexcept(noexcept(derived().operator~())) |
| 按位取反运算符 | |
| constexpr uint128_t | operator<< (const uint32_t shift) const |
| 左移运算符 | |
| constexpr uint128_t | operator>> (const uint32_t shift) const |
| 右移运算符 | |
| constexpr uint128_t & | operator&= (const uint128_t &other) noexcept(noexcept(derived().operator&=(other))) |
| 按位与赋值运算符 | |
| constexpr uint128_t & | operator|= (const uint128_t &other) noexcept(noexcept(derived().operator|=(other))) |
| 按位或赋值运算符 | |
| constexpr uint128_t & | operator^= (const uint128_t &other) noexcept(noexcept(derived().operator^=(other))) |
| 按位异或赋值运算符 | |
| constexpr uint128_t & | operator<<= (const uint32_t shift) |
| 左移赋值运算符 | |
| constexpr uint128_t & | operator>>= (const uint32_t shift) |
| 右移赋值运算符 | |
静态 Public 成员函数 | |
| static constexpr uint128_t | mul64 (const uint64_t a, const uint64_t b) noexcept |
| 64位乘法 | |
| static constexpr uint128_t | mul128 (const uint128_t &a, const uint128_t &b) noexcept |
| 128位乘法辅助函数 | |
| static constexpr void | divmod128 (const uint128_t ÷nd, const uint128_t &divisor, uint128_t "ient, uint128_t &remainder) |
| 128位除法辅助函数 | |
| static constexpr uint128_t | min () noexcept |
| 获取最小值 | |
| static constexpr uint128_t | max () noexcept |
| 获取最大值 | |
Public 属性 | |
| uint64_t | lo {0} |
| 低64位 | |
| uint64_t | hi {0} |
| 高64位 | |
128位无符号整数类型
在文件 int128.hpp 第 30 行定义.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlinenodiscardconstexpr |
64位除法
| divisor | 除数 |
| remainder | 输出余数指针(可为空) |
在文件 int128.hpp 第 303 行定义.
引用了 neforce::_udiv128(), hi, lo , 以及 neforce::remainder().
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlinestaticnodiscardconstexprnoexcept |
128位乘法辅助函数
| a | 第一个乘数 |
| b | 第二个乘数 |
在文件 int128.hpp 第 339 行定义.
引用了 neforce::_addcarry_u64(), neforce::_umul128(), hi , 以及 lo.
被这些函数引用 operator*=().
|
inlinenodiscardconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |