📄 bigintpm.inc
字号:
144:-60:12144:60:12100:625:254096:81:11034:804:227:90:56:127:90:54:9&blcmabc:abc:NaNabc:+0:NaN+0:abc:NaN+0:+0:NaN+1:+0:0+0:+1:0+27:+90:270+1034:+804:415668&bandabc:abc:NaNabc:0:NaN0:abc:NaN1:2:03:2:2+8:+2:0+281474976710656:0:0+281474976710656:1:0+281474976710656:+281474976710656:281474976710656281474976710656:-1:281474976710656-2:-3:-4-1:-1:-1-6:-6:-6-7:-4:-8-7:4:0-4:7:4# negative argument is bitwise shorter than positive [perl #26559]30:-3:28123:-1:123# equal arguments are treated special, so also do some test with unequal ones0xFFFF:0xFFFF:0x0xFFFF0xFFFFFF:0xFFFFFF:0x0xFFFFFF0xFFFFFFFF:0xFFFFFFFF:0x0xFFFFFFFF0xFFFFFFFFFF:0xFFFFFFFFFF:0x0xFFFFFFFFFF0xFFFFFFFFFFFF:0xFFFFFFFFFFFF:0x0xFFFFFFFFFFFF0xF0F0:0xF0F0:0x0xF0F00x0F0F:0x0F0F:0x0x0F0F0xF0F0F0:0xF0F0F0:0x0xF0F0F00x0F0F0F:0x0F0F0F:0x0x0F0F0F0xF0F0F0F0:0xF0F0F0F0:0x0xF0F0F0F00x0F0F0F0F:0x0F0F0F0F:0x0x0F0F0F0F0xF0F0F0F0F0:0xF0F0F0F0F0:0x0xF0F0F0F0F00x0F0F0F0F0F:0x0F0F0F0F0F:0x0x0F0F0F0F0F0xF0F0F0F0F0F0:0xF0F0F0F0F0F0:0x0xF0F0F0F0F0F00x0F0F0F0F0F0F:0x0F0F0F0F0F0F:0x0x0F0F0F0F0F0F0x1F0F0F0F0F0F:0x3F0F0F0F0F0F:0x0x1F0F0F0F0F0F&biorabc:abc:NaNabc:0:NaN0:abc:NaN1:2:3+8:+2:10+281474976710656:0:281474976710656+281474976710656:1:281474976710657+281474976710656:281474976710656:281474976710656-2:-3:-1-1:-1:-1-6:-6:-6-7:4:-3-4:7:-1+281474976710656:-1:-130:-3:-130:-4:-2300:-76:-68-76:300:-68# equal arguments are treated special, so also do some test with unequal ones0xFFFF:0xFFFF:0x0xFFFF0xFFFFFF:0xFFFFFF:0x0xFFFFFF0xFFFFFFFF:0xFFFFFFFF:0x0xFFFFFFFF0xFFFFFFFFFF:0xFFFFFFFFFF:0x0xFFFFFFFFFF0xFFFFFFFFFFFF:0xFFFFFFFFFFFF:0x0xFFFFFFFFFFFF0:0xFFFF:0x0xFFFF0:0xFFFFFF:0x0xFFFFFF0:0xFFFFFFFF:0x0xFFFFFFFF0:0xFFFFFFFFFF:0x0xFFFFFFFFFF0:0xFFFFFFFFFFFF:0x0xFFFFFFFFFFFF0xFFFF:0:0x0xFFFF0xFFFFFF:0:0x0xFFFFFF0xFFFFFFFF:0:0x0xFFFFFFFF0xFFFFFFFFFF:0:0x0xFFFFFFFFFF0xFFFFFFFFFFFF:0:0x0xFFFFFFFFFFFF0xF0F0:0xF0F0:0x0xF0F00x0F0F:0x0F0F:0x0x0F0F0xF0F0:0x0F0F:0x0xFFFF0xF0F0F0:0xF0F0F0:0x0xF0F0F00x0F0F0F:0x0F0F0F:0x0x0F0F0F0x0F0F0F:0xF0F0F0:0x0xFFFFFF0xF0F0F0F0:0xF0F0F0F0:0x0xF0F0F0F00x0F0F0F0F:0x0F0F0F0F:0x0x0F0F0F0F0x0F0F0F0F:0xF0F0F0F0:0x0xFFFFFFFF0xF0F0F0F0F0:0xF0F0F0F0F0:0x0xF0F0F0F0F00x0F0F0F0F0F:0x0F0F0F0F0F:0x0x0F0F0F0F0F0x0F0F0F0F0F:0xF0F0F0F0F0:0x0xFFFFFFFFFF0xF0F0F0F0F0F0:0xF0F0F0F0F0F0:0x0xF0F0F0F0F0F00x0F0F0F0F0F0F:0x0F0F0F0F0F0F:0x0x0F0F0F0F0F0F0x0F0F0F0F0F0F:0xF0F0F0F0F0F0:0x0xFFFFFFFFFFFF0x1F0F0F0F0F0F:0xF0F0F0F0F0F0:0x0xFFFFFFFFFFFF&bxorabc:abc:NaNabc:0:NaN0:abc:NaN1:2:3+8:+2:10+281474976710656:0:281474976710656+281474976710656:1:281474976710657+281474976710656:281474976710656:0-2:-3:3-1:-1:0-6:-6:0-7:4:-3-4:7:-54:-7:-3-4:-7:530:-3:-2930:-4:-30300:-76:-360-76:300:-360# equal arguments are treated special, so also do some test with unequal ones0xFFFF:0xFFFF:00xFFFFFF:0xFFFFFF:00xFFFFFFFF:0xFFFFFFFF:00xFFFFFFFFFF:0xFFFFFFFFFF:00xFFFFFFFFFFFF:0xFFFFFFFFFFFF:00:0xFFFF:0x0xFFFF0:0xFFFFFF:0x0xFFFFFF0:0xFFFFFFFF:0x0xFFFFFFFF0:0xFFFFFFFFFF:0x0xFFFFFFFFFF0:0xFFFFFFFFFFFF:0x0xFFFFFFFFFFFF0xFFFF:0:0x0xFFFF0xFFFFFF:0:0x0xFFFFFF0xFFFFFFFF:0:0x0xFFFFFFFF0xFFFFFFFFFF:0:0x0xFFFFFFFFFF0xFFFFFFFFFFFF:0:0x0xFFFFFFFFFFFF0xF0F0:0xF0F0:00x0F0F:0x0F0F:00xF0F0:0x0F0F:0x0xFFFF0xF0F0F0:0xF0F0F0:00x0F0F0F:0x0F0F0F:00x0F0F0F:0xF0F0F0:0x0xFFFFFF0xF0F0F0F0:0xF0F0F0F0:00x0F0F0F0F:0x0F0F0F0F:00x0F0F0F0F:0xF0F0F0F0:0x0xFFFFFFFF0xF0F0F0F0F0:0xF0F0F0F0F0:00x0F0F0F0F0F:0x0F0F0F0F0F:00x0F0F0F0F0F:0xF0F0F0F0F0:0x0xFFFFFFFFFF0xF0F0F0F0F0F0:0xF0F0F0F0F0F0:00x0F0F0F0F0F0F:0x0F0F0F0F0F0F:00x0F0F0F0F0F0F:0xF0F0F0F0F0F0:0x0xFFFFFFFFFFFF&bnotabc:NaN+0:-1+8:-9+281474976710656:-281474976710657-1:0-2:1-12:11&digit0:0:012:0:212:1:1123:0:3123:1:2123:2:1123:-1:1123:-2:2123:-3:3123456:0:6123456:1:5123456:2:4123456:3:3123456:4:2123456:5:1123456:-1:1123456:-2:2123456:-3:3100000:-3:0100000:0:0100000:1:0&mantissaabc:NaN1e4:12e0:2123:123-1:-1-2:-2+inf:inf-inf:-inf&exponentabc:NaN1e4:42e0:0123:0-1:0-2:00:1+inf:inf-inf:inf&partsabc:NaN,NaN1e4:1,42e0:2,0123:123,0-1:-1,0-2:-2,00:0,1+inf:inf,inf-inf:-inf,inf&bfac-1:NaNNaNfac:NaN+inf:inf-inf:NaN0:11:12:23:64:245:1206:7207:50408:403209:36288010:362880011:3991680012:47900160020:243290200817664000022:112400072777760768000069:171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000&bpowabc:12:NaN12:abc:NaN0:0:10:1:00:2:00:-1:inf0:-2:inf1:0:11:1:11:2:11:3:11:-1:11:-2:11:-3:12:0:12:1:22:2:42:3:83:3:27-2:2:4-2:3:-8-2:4:16-2:5:-322:-1:NaN-2:-1:NaN2:-2:NaN-2:-2:NaN# inf tests+inf:1234500012:inf-inf:1234500012:inf-inf:1234500013:-inf+inf:-12345000123:inf-inf:-12345000123:-inf# -inf * -inf = inf-inf:2:inf-inf:0:NaN-inf:-1:0-inf:inf:NaN2:inf:inf2:-inf:00:inf:00:-inf:inf-1:-inf:NaN-1:inf:NaN-2:inf:NaN-2:-inf:0NaN:inf:NaNNaN:-inf:NaN-inf:NaN:NaNinf:NaN:NaNinf:-inf:NaN1:inf:11:-inf:1# 1 ** -x => 1 / (1 ** x)-1:0:1-2:0:1-1:1:-1-1:2:1-1:3:-1-1:4:1-1:5:-1-1:-1:-1-1:-2:1-1:-3:-1-1:-4:110:2:10010:3:100010:4:1000010:5:10000010:6:100000010:7:1000000010:8:10000000010:9:100000000010:20:100000000000000000000123456:2:15241383936-2:2:4-2:3:-8-2:4:16-2:5:-32-3:2:9-3:3:-27-3:4:81-3:5:-243&length100:310:21:10:112345:510000000000000000:17-123:3215960156869840440586892398248:30&broot# sqrt()+0:2:0+1:2:1-1:2:NaN# -$x ** (1/2) => -$y, but not in froot()-123:2:NaN+inf:2:inf-inf:2:NaN2:2:1-2:2:NaN4:2:29:2:316:2:4100:2:10123:2:1115241:2:123144:2:1212:2:30.49:2:00.0049:2:0# invalid ones1:NaN:NaN-1:NaN:NaN0:NaN:NaN-inf:NaN:NaN+inf:NaN:NaNNaN:0:NaNNaN:2:NaNNaN:inf:NaNNaN:inf:NaN12:-inf:NaN12:inf:NaN+0:0:NaN+1:0:NaN-1:0:NaN-2:0:NaN-123.45:0:NaN+inf:0:NaN12:1:12-12:1:NaN8:-1:NaN-8:-1:NaN# cubic root8:3:2-8:3:NaN# fourths root16:4:281:4:3# 2 ** 6418446744073709551616:4:6553618446744073709551616:8:25618446744073709551616:16:1618446744073709551616:32:418446744073709551616:64:218446744073709551616:128:1# 213 ** 1584274086103068221283760416414557757:15:213# see t/bigroot.t for more tests&bsqrt145:12144:12143:1116:4170:13169:13168:124:23:12:19:312:3256:16100000000:100004000000000000:2000000152399026:12345152399025:12345152399024:12344# 2 ** 64 => 2 ** 3218446744073709551616:429496729684274086103068221283760416414557757:2902999932880953771:10:0-2:NaN-123:NaNNan:NaN+inf:inf-inf:NaN# see t/biglog.t for more tests&bexpNaN:NaNinf:inf1:22:7&batan2NaN:1:10:NaNNaN:NaN:10:NaN1:NaN:10:NaNinf:1:14:1-inf:1:14:-11:5:13:01:5:14:00:0:10:00:1:14:00:2:14:01:0:14:15:0:14:1-1:0:11:-1-2:0:77:-12:0:77:1-1:5:14:01:5:14:0-1:8:14:01:8:14:0-1:1:14:0&bpi77:3+0:311:3# see t/bignok.t for more tests&bnok+inf:10:infNaN:NaN:NaNNaN:1:NaN1:NaN:NaN1:1:1# k > n1:2:02:3:0# k < 01:-2:0# 7 over 3 = 357:3:357:6:1100:90:17310309456440100:95:75287520&bround$round_mode('trunc')0:12:0NaNbround:12:NaN+inf:12:inf-inf:12:-inf1234:0:12341234:2:1200123456:4:123400123456:5:123450123456:6:123456+10123456789:5:10123000000-10123456789:5:-10123000000+10123456789:9:10123456700-10123456789:9:-10123456700+101234500:6:101234000-101234500:6:-101234000#+101234500:-4:101234000#-101234500:-4:-101234000$round_mode('zero')+20123456789:5:20123000000-20123456789:5:-20123000000+20123456789:9:20123456800-20123456789:9:-20123456800+201234500:6:201234000-201234500:6:-201234000#+201234500:-4:201234000#-201234500:-4:-201234000+12345000:4:12340000-12345000:4:-12340000$round_mode('+inf')+30123456789:5:30123000000-30123456789:5:-30123000000+30123456789:9:30123456800-30123456789:9:-30123456800+301234500:6:301235000-301234500:6:-301234000#+301234500:-4:301235000#-301234500:-4:-301234000+12345000:4:12350000-12345000:4:-12340000$round_mode('-inf')+40123456789:5:40123000000-40123456789:5:-40123000000+40123456789:9:40123456800-40123456789:9:-40123456800+401234500:6:401234000+401234500:6:401234000#-401234500:-4:-401235000#-401234500:-4:-401235000+12345000:4:12340000-12345000:4:-12350000$round_mode('odd')+50123456789:5:50123000000-50123456789:5:-50123000000+50123456789:9:50123456800-50123456789:9:-50123456800+501234500:6:501235000-501234500:6:-501235000#+501234500:-4:501235000#-501234500:-4:-501235000+12345000:4:12350000-12345000:4:-12350000$round_mode('even')+60123456789:5:60123000000-60123456789:5:-60123000000+60123456789:9:60123456800-60123456789:9:-60123456800+601234500:6:601234000-601234500:6:-601234000#+601234500:-4:601234000#-601234500:-4:-601234000#-601234500:-9:0#-501234500:-9:0#-601234500:-8:0#-501234500:-8:0+1234567:7:1234567+1234567:6:1234570+12345000:4:12340000-12345000:4:-12340000$round_mode('common')+60123456789:5:60123000000+60123199999:5:60123000000+60123299999:5:60123000000+60123399999:5:60123000000+60123499999:5:60123000000+60123500000:5:60124000000+60123600000:5:60124000000+60123700000:5:60124000000+60123800000:5:60124000000+60123900000:5:60124000000-60123456789:5:-60123000000-60123199999:5:-60123000000-60123299999:5:-60123000000-60123399999:5:-60123000000-60123499999:5:-60123000000-60123500000:5:-60124000000-60123600000:5:-60124000000-60123700000:5:-60124000000-60123800000:5:-60124000000-60123900000:5:-60124000000&is_zero0:1NaNzero:0+inf:0-inf:0123:0-1:01:0&is_one0:0NaNone:0+inf:0-inf:01:12:0-1:0-2:0# floor and ceil tests are pretty pointless in integer space...but play safe&bfloor0:0NaNfloor:NaN+inf:inf-inf:-inf-1:-1-2:-22:23:3abc:NaN&bceilNaNceil:NaN+inf:inf-inf:-inf0:0-1:-1-2:-22:23:3abc:NaN&as_hex128:0x80-128:-0x800:0x0-0:0x01:0x10x123456789123456789:0x123456789123456789+inf:inf-inf:-infNaNas_hex:NaN&as_bin128:0b10000000-128:-0b100000000:0b0-0:0b01:0b10b1010111101010101010110110110110110101:0b10101111010101010101101101101101101010x123456789123456789:0b100100011010001010110011110001001000100100011010001010110011110001001+inf:inf-inf:-infNaNas_bin:NaN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -