Changeset 96158 in vbox
- Timestamp:
- Aug 12, 2022 10:03:46 AM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/string/strtofloat.cpp
r96157 r96158 158 158 for (unsigned iBit = 0; iBit < 13; iBit++) 159 159 { 160 RTAssertMsg2(" { UINT64_C(%#018RX64), UINT64_C(%#018RX64)}, %c* 1e%u (%RU64) *%c\n", Power10.v[0], Power10.v[1],160 RTAssertMsg2(" { { UINT64_C(%#018RX64), UINT64_C(%#018RX64) } }, %c* 1e%u (%RU64) *%c\n", Power10.v[0], Power10.v[1], 161 161 '/', RT_BIT_32(iBit), f128M_to_ui64(&Power10, softfloat_round_near_even, false, &SoftState), '/'); 162 162 f128M_mul(&Power10, &Power10, &Power10, &SoftState); … … 165 165 static const float128_t g_ar128Power10[] = 166 166 { 167 { UINT64_C(0x0000000000000000), UINT64_C(0x4002400000000000)}, /* 1e1 (10) */168 { UINT64_C(0x0000000000000000), UINT64_C(0x4005900000000000)}, /* 1e2 (100) */169 { UINT64_C(0x0000000000000000), UINT64_C(0x400c388000000000)}, /* 1e4 (10000) */170 { UINT64_C(0x0000000000000000), UINT64_C(0x40197d7840000000)}, /* 1e8 (100000000) */171 { UINT64_C(0x0000000000000000), UINT64_C(0x40341c37937e0800)}, /* 1e16 (10000000000000000) */172 { UINT64_C(0x6b3be04000000000), UINT64_C(0x40693b8b5b5056e1)}, /* 1e32 (18446744073709551615) */173 { UINT64_C(0x4daa797ed6e38ed6), UINT64_C(0x40d384f03e93ff9f)}, /* 1e64 (18446744073709551615) */174 { UINT64_C(0x19bf8cde66d86d61), UINT64_C(0x41a827748f9301d3)}, /* 1e128 (18446744073709551615) */175 { UINT64_C(0xbd1bbb77203731fb), UINT64_C(0x435154fdd7f73bf3)}, /* 1e256 (18446744073709551615) */176 { UINT64_C(0x238d98cab8a97899), UINT64_C(0x46a3c633415d4c1d)}, /* 1e512 (18446744073709551615) */177 { UINT64_C(0x182eca1a7a51e308), UINT64_C(0x4d4892eceb0d02ea)}, /* 1e1024 (18446744073709551615) */178 { UINT64_C(0xbbc94e9a519c651e), UINT64_C(0x5a923d1676bb8a7a)}, /* 1e2048 (18446744073709551615) */179 { UINT64_C(0x2f3592982a7f005a), UINT64_C(0x752588c0a4051441)}, /* 1e4096 (18446744073709551615) */167 { { UINT64_C(0x0000000000000000), UINT64_C(0x4002400000000000) } }, /* 1e1 (10) */ 168 { { UINT64_C(0x0000000000000000), UINT64_C(0x4005900000000000) } }, /* 1e2 (100) */ 169 { { UINT64_C(0x0000000000000000), UINT64_C(0x400c388000000000) } }, /* 1e4 (10000) */ 170 { { UINT64_C(0x0000000000000000), UINT64_C(0x40197d7840000000) } }, /* 1e8 (100000000) */ 171 { { UINT64_C(0x0000000000000000), UINT64_C(0x40341c37937e0800) } }, /* 1e16 (10000000000000000) */ 172 { { UINT64_C(0x6b3be04000000000), UINT64_C(0x40693b8b5b5056e1) } }, /* 1e32 (18446744073709551615) */ 173 { { UINT64_C(0x4daa797ed6e38ed6), UINT64_C(0x40d384f03e93ff9f) } }, /* 1e64 (18446744073709551615) */ 174 { { UINT64_C(0x19bf8cde66d86d61), UINT64_C(0x41a827748f9301d3) } }, /* 1e128 (18446744073709551615) */ 175 { { UINT64_C(0xbd1bbb77203731fb), UINT64_C(0x435154fdd7f73bf3) } }, /* 1e256 (18446744073709551615) */ 176 { { UINT64_C(0x238d98cab8a97899), UINT64_C(0x46a3c633415d4c1d) } }, /* 1e512 (18446744073709551615) */ 177 { { UINT64_C(0x182eca1a7a51e308), UINT64_C(0x4d4892eceb0d02ea) } }, /* 1e1024 (18446744073709551615) */ 178 { { UINT64_C(0xbbc94e9a519c651e), UINT64_C(0x5a923d1676bb8a7a) } }, /* 1e2048 (18446744073709551615) */ 179 { { UINT64_C(0x2f3592982a7f005a), UINT64_C(0x752588c0a4051441) } }, /* 1e4096 (18446744073709551615) */ 180 180 /* INF */ 181 181 }; … … 193 193 for (unsigned cTimes = 0; cTimes < 32; cTimes++) 194 194 { 195 RTAssertMsg2(" { UINT64_C(%#018RX64), UINT64_C(%#018RX64)}, %c* 1e%u (%RU64) *%c\n", Power10.v[0], Power10.v[1],195 RTAssertMsg2(" { { UINT64_C(%#018RX64), UINT64_C(%#018RX64) } }, %c* 1e%u (%RU64) *%c\n", Power10.v[0], Power10.v[1], 196 196 '/', cTimes, f128M_to_ui64(&Power10, softfloat_round_near_even, false, &SoftState), '/'); 197 197 f128M_mul(&Power10, &Num10, &Power10, &SoftState); … … 200 200 static const float128_t g_ar128Power10Initial[] = 201 201 { 202 { UINT64_C(0x0000000000000000), UINT64_C(0x3fff000000000000)}, /* 1e0 (1) */203 { UINT64_C(0x0000000000000000), UINT64_C(0x4002400000000000)}, /* 1e1 (10) */204 { UINT64_C(0x0000000000000000), UINT64_C(0x4005900000000000)}, /* 1e2 (100) */205 { UINT64_C(0x0000000000000000), UINT64_C(0x4008f40000000000)}, /* 1e3 (1000) */206 { UINT64_C(0x0000000000000000), UINT64_C(0x400c388000000000)}, /* 1e4 (10000) */207 { UINT64_C(0x0000000000000000), UINT64_C(0x400f86a000000000)}, /* 1e5 (100000) */208 { UINT64_C(0x0000000000000000), UINT64_C(0x4012e84800000000)}, /* 1e6 (1000000) */209 { UINT64_C(0x0000000000000000), UINT64_C(0x4016312d00000000)}, /* 1e7 (10000000) */210 { UINT64_C(0x0000000000000000), UINT64_C(0x40197d7840000000)}, /* 1e8 (100000000) */211 { UINT64_C(0x0000000000000000), UINT64_C(0x401cdcd650000000)}, /* 1e9 (1000000000) */212 { UINT64_C(0x0000000000000000), UINT64_C(0x40202a05f2000000)}, /* 1e10 (10000000000) */213 { UINT64_C(0x0000000000000000), UINT64_C(0x402374876e800000)}, /* 1e11 (100000000000) */214 { UINT64_C(0x0000000000000000), UINT64_C(0x4026d1a94a200000)}, /* 1e12 (1000000000000) */215 { UINT64_C(0x0000000000000000), UINT64_C(0x402a2309ce540000)}, /* 1e13 (10000000000000) */216 { UINT64_C(0x0000000000000000), UINT64_C(0x402d6bcc41e90000)}, /* 1e14 (100000000000000) */217 { UINT64_C(0x0000000000000000), UINT64_C(0x4030c6bf52634000)}, /* 1e15 (1000000000000000) */218 { UINT64_C(0x0000000000000000), UINT64_C(0x40341c37937e0800)}, /* 1e16 (10000000000000000) */219 { UINT64_C(0x0000000000000000), UINT64_C(0x40376345785d8a00)}, /* 1e17 (100000000000000000) */220 { UINT64_C(0x0000000000000000), UINT64_C(0x403abc16d674ec80)}, /* 1e18 (1000000000000000000) */221 { UINT64_C(0x0000000000000000), UINT64_C(0x403e158e460913d0)}, /* 1e19 (10000000000000000000) */222 { UINT64_C(0x0000000000000000), UINT64_C(0x40415af1d78b58c4)}, /* 1e20 (18446744073709551615) */223 { UINT64_C(0x0000000000000000), UINT64_C(0x4044b1ae4d6e2ef5)}, /* 1e21 (18446744073709551615) */224 { UINT64_C(0x2000000000000000), UINT64_C(0x40480f0cf064dd59)}, /* 1e22 (18446744073709551615) */225 { UINT64_C(0x6800000000000000), UINT64_C(0x404b52d02c7e14af)}, /* 1e23 (18446744073709551615) */226 { UINT64_C(0x4200000000000000), UINT64_C(0x404ea784379d99db)}, /* 1e24 (18446744073709551615) */227 { UINT64_C(0x0940000000000000), UINT64_C(0x405208b2a2c28029)}, /* 1e25 (18446744073709551615) */228 { UINT64_C(0x4b90000000000000), UINT64_C(0x40554adf4b732033)}, /* 1e26 (18446744073709551615) */229 { UINT64_C(0x1e74000000000000), UINT64_C(0x40589d971e4fe840)}, /* 1e27 (18446744073709551615) */230 { UINT64_C(0x1308800000000000), UINT64_C(0x405c027e72f1f128)}, /* 1e28 (18446744073709551615) */231 { UINT64_C(0x17caa00000000000), UINT64_C(0x405f431e0fae6d72)}, /* 1e29 (18446744073709551615) */232 { UINT64_C(0x9dbd480000000000), UINT64_C(0x406293e5939a08ce)}, /* 1e30 (18446744073709551615) */233 { UINT64_C(0x452c9a0000000000), UINT64_C(0x4065f8def8808b02)}, /* 1e31 (18446744073709551615) */202 { { UINT64_C(0x0000000000000000), UINT64_C(0x3fff000000000000) } }, /* 1e0 (1) */ 203 { { UINT64_C(0x0000000000000000), UINT64_C(0x4002400000000000) } }, /* 1e1 (10) */ 204 { { UINT64_C(0x0000000000000000), UINT64_C(0x4005900000000000) } }, /* 1e2 (100) */ 205 { { UINT64_C(0x0000000000000000), UINT64_C(0x4008f40000000000) } }, /* 1e3 (1000) */ 206 { { UINT64_C(0x0000000000000000), UINT64_C(0x400c388000000000) } }, /* 1e4 (10000) */ 207 { { UINT64_C(0x0000000000000000), UINT64_C(0x400f86a000000000) } }, /* 1e5 (100000) */ 208 { { UINT64_C(0x0000000000000000), UINT64_C(0x4012e84800000000) } }, /* 1e6 (1000000) */ 209 { { UINT64_C(0x0000000000000000), UINT64_C(0x4016312d00000000) } }, /* 1e7 (10000000) */ 210 { { UINT64_C(0x0000000000000000), UINT64_C(0x40197d7840000000) } }, /* 1e8 (100000000) */ 211 { { UINT64_C(0x0000000000000000), UINT64_C(0x401cdcd650000000) } }, /* 1e9 (1000000000) */ 212 { { UINT64_C(0x0000000000000000), UINT64_C(0x40202a05f2000000) } }, /* 1e10 (10000000000) */ 213 { { UINT64_C(0x0000000000000000), UINT64_C(0x402374876e800000) } }, /* 1e11 (100000000000) */ 214 { { UINT64_C(0x0000000000000000), UINT64_C(0x4026d1a94a200000) } }, /* 1e12 (1000000000000) */ 215 { { UINT64_C(0x0000000000000000), UINT64_C(0x402a2309ce540000) } }, /* 1e13 (10000000000000) */ 216 { { UINT64_C(0x0000000000000000), UINT64_C(0x402d6bcc41e90000) } }, /* 1e14 (100000000000000) */ 217 { { UINT64_C(0x0000000000000000), UINT64_C(0x4030c6bf52634000) } }, /* 1e15 (1000000000000000) */ 218 { { UINT64_C(0x0000000000000000), UINT64_C(0x40341c37937e0800) } }, /* 1e16 (10000000000000000) */ 219 { { UINT64_C(0x0000000000000000), UINT64_C(0x40376345785d8a00) } }, /* 1e17 (100000000000000000) */ 220 { { UINT64_C(0x0000000000000000), UINT64_C(0x403abc16d674ec80) } }, /* 1e18 (1000000000000000000) */ 221 { { UINT64_C(0x0000000000000000), UINT64_C(0x403e158e460913d0) } }, /* 1e19 (10000000000000000000) */ 222 { { UINT64_C(0x0000000000000000), UINT64_C(0x40415af1d78b58c4) } }, /* 1e20 (18446744073709551615) */ 223 { { UINT64_C(0x0000000000000000), UINT64_C(0x4044b1ae4d6e2ef5) } }, /* 1e21 (18446744073709551615) */ 224 { { UINT64_C(0x2000000000000000), UINT64_C(0x40480f0cf064dd59) } }, /* 1e22 (18446744073709551615) */ 225 { { UINT64_C(0x6800000000000000), UINT64_C(0x404b52d02c7e14af) } }, /* 1e23 (18446744073709551615) */ 226 { { UINT64_C(0x4200000000000000), UINT64_C(0x404ea784379d99db) } }, /* 1e24 (18446744073709551615) */ 227 { { UINT64_C(0x0940000000000000), UINT64_C(0x405208b2a2c28029) } }, /* 1e25 (18446744073709551615) */ 228 { { UINT64_C(0x4b90000000000000), UINT64_C(0x40554adf4b732033) } }, /* 1e26 (18446744073709551615) */ 229 { { UINT64_C(0x1e74000000000000), UINT64_C(0x40589d971e4fe840) } }, /* 1e27 (18446744073709551615) */ 230 { { UINT64_C(0x1308800000000000), UINT64_C(0x405c027e72f1f128) } }, /* 1e28 (18446744073709551615) */ 231 { { UINT64_C(0x17caa00000000000), UINT64_C(0x405f431e0fae6d72) } }, /* 1e29 (18446744073709551615) */ 232 { { UINT64_C(0x9dbd480000000000), UINT64_C(0x406293e5939a08ce) } }, /* 1e30 (18446744073709551615) */ 233 { { UINT64_C(0x452c9a0000000000), UINT64_C(0x4065f8def8808b02) } }, /* 1e31 (18446744073709551615) */ 234 234 }; 235 235
Note:
See TracChangeset
for help on using the changeset viewer.