|
@@ -71,34 +71,34 @@ static constexpr i128 DecimalIntegerMaxValueTable[] = {
|
|
|
//
|
|
|
// Generated by fair Python script:
|
|
|
//
|
|
|
- // def print_max_decimal(precision):
|
|
|
- // max_value = int("9" * precision)
|
|
|
- // hex_value = hex(max_value)[2:] # strip 0x
|
|
|
- // hex_value = hex_value.strip("L")
|
|
|
- // print("i128{{0x{}ul}} | (i128{{0x{}l}} << 64), // {}".format(
|
|
|
- // hex_value[-16:],
|
|
|
- // hex_value[:-16] or "0",
|
|
|
- // precision))
|
|
|
- // for i in range(19, 36):
|
|
|
- // print_max_decimal(i)
|
|
|
+ // def print_max_decimal(precision):
|
|
|
+ // max_value = int("9" * precision)
|
|
|
+ // hex_value = hex(max_value)[2:] # strip 0x
|
|
|
+ // hex_value = hex_value.strip("L")
|
|
|
+ // print("i128{{static_cast<ui64>(0x{}ul)}} | (i128{{static_cast<ui64>(0x{}ul)}} << 64), // {}".format(
|
|
|
+ // hex_value[-16:],
|
|
|
+ // hex_value[:-16] or "0",
|
|
|
+ // precision))
|
|
|
+ // for i in range(19, 36):
|
|
|
+ // print_max_decimal(i)
|
|
|
//
|
|
|
- i128{0x8ac7230489e7fffful} | (i128{0x0l} << 64), // 19
|
|
|
- i128{0x6bc75e2d630ffffful} | (i128{0x5l} << 64), // 20
|
|
|
- i128{0x35c9adc5de9ffffful} | (i128{0x36l} << 64), // 21
|
|
|
- i128{0x19e0c9bab23ffffful} | (i128{0x21el} << 64), // 22
|
|
|
- i128{0x02c7e14af67ffffful} | (i128{0x152dl} << 64), // 23
|
|
|
- i128{0x1bcecceda0fffffful} | (i128{0xd3c2l} << 64), // 24
|
|
|
- i128{0x1614014849fffffful} | (i128{0x84595l} << 64), // 25
|
|
|
- i128{0xdcc80cd2e3fffffful} | (i128{0x52b7d2l} << 64), // 26
|
|
|
- i128{0x9fd0803ce7fffffful} | (i128{0x33b2e3cl} << 64), // 27
|
|
|
- i128{0x3e2502610ffffffful} | (i128{0x204fce5el} << 64), // 28
|
|
|
- i128{0x6d7217ca9ffffffful} | (i128{0x1431e0fael} << 64), // 29
|
|
|
- i128{0x4674edea3ffffffful} | (i128{0xc9f2c9cd0l} << 64), // 30
|
|
|
- i128{0xc0914b267ffffffful} | (i128{0x7e37be2022l} << 64), // 31
|
|
|
- i128{0x85acef80fffffffful} | (i128{0x4ee2d6d415bl} << 64), // 32
|
|
|
- i128{0x38c15b09fffffffful} | (i128{0x314dc6448d93l} << 64), // 33
|
|
|
- i128{0x378d8e63fffffffful} | (i128{0x1ed09bead87c0l} << 64), // 34
|
|
|
- i128{0x2b878fe7fffffffful} | (i128{0x13426172c74d82l} << 64), // 35
|
|
|
+ i128{static_cast<ui64>(0x8ac7230489e7fffful)} | (i128{static_cast<ui64>(0x0ul)} << 64), // 19
|
|
|
+ i128{static_cast<ui64>(0x6bc75e2d630ffffful)} | (i128{static_cast<ui64>(0x5ul)} << 64), // 20
|
|
|
+ i128{static_cast<ui64>(0x35c9adc5de9ffffful)} | (i128{static_cast<ui64>(0x36ul)} << 64), // 21
|
|
|
+ i128{static_cast<ui64>(0x19e0c9bab23ffffful)} | (i128{static_cast<ui64>(0x21eul)} << 64), // 22
|
|
|
+ i128{static_cast<ui64>(0x02c7e14af67ffffful)} | (i128{static_cast<ui64>(0x152dul)} << 64), // 23
|
|
|
+ i128{static_cast<ui64>(0x1bcecceda0fffffful)} | (i128{static_cast<ui64>(0xd3c2ul)} << 64), // 24
|
|
|
+ i128{static_cast<ui64>(0x1614014849fffffful)} | (i128{static_cast<ui64>(0x84595ul)} << 64), // 25
|
|
|
+ i128{static_cast<ui64>(0xdcc80cd2e3fffffful)} | (i128{static_cast<ui64>(0x52b7d2ul)} << 64), // 26
|
|
|
+ i128{static_cast<ui64>(0x9fd0803ce7fffffful)} | (i128{static_cast<ui64>(0x33b2e3cul)} << 64), // 27
|
|
|
+ i128{static_cast<ui64>(0x3e2502610ffffffful)} | (i128{static_cast<ui64>(0x204fce5eul)} << 64), // 28
|
|
|
+ i128{static_cast<ui64>(0x6d7217ca9ffffffful)} | (i128{static_cast<ui64>(0x1431e0faeul)} << 64), // 29
|
|
|
+ i128{static_cast<ui64>(0x4674edea3ffffffful)} | (i128{static_cast<ui64>(0xc9f2c9cd0ul)} << 64), // 30
|
|
|
+ i128{static_cast<ui64>(0xc0914b267ffffffful)} | (i128{static_cast<ui64>(0x7e37be2022ul)} << 64), // 31
|
|
|
+ i128{static_cast<ui64>(0x85acef80fffffffful)} | (i128{static_cast<ui64>(0x4ee2d6d415bul)} << 64), // 32
|
|
|
+ i128{static_cast<ui64>(0x38c15b09fffffffful)} | (i128{static_cast<ui64>(0x314dc6448d93ul)} << 64), // 33
|
|
|
+ i128{static_cast<ui64>(0x378d8e63fffffffful)} | (i128{static_cast<ui64>(0x1ed09bead87c0ul)} << 64), // 34
|
|
|
+ i128{static_cast<ui64>(0x2b878fe7fffffffful)} | (i128{static_cast<ui64>(0x13426172c74d82ul)} << 64), // 35
|
|
|
};
|
|
|
|
|
|
template<typename T>
|