R Under development (unstable) (2025-02-12 r87715 ucrt) -- "Unsuffered Consequences" Copyright (C) 2025 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > library(flint) > options(flint.Rdiff = TRUE) > > p. <- c(0L, as.integer(cumprod(rep(c(1, 2), c(1L, 30L))))) > p <- .ulong(x = p.) > > vv <- withVisible(print(p)) class "ulong", length 32, address [1] 0 1 2 4 8 16 [7] 32 64 128 256 512 1024 [13] 2048 4096 8192 16384 32768 65536 [19] 131072 262144 524288 1048576 2097152 4194304 [25] 8388608 16777216 33554432 67108864 134217728 268435456 [31] 536870912 1073741824 > stopifnot(identical(vv$value, p), identical(vv$visible, FALSE)) > vv <- withVisible( show(p)) class "ulong", length 32, address [1] 0 1 2 4 8 16 [7] 32 64 128 256 512 1024 [13] 2048 4096 8192 16384 32768 65536 [19] 131072 262144 524288 1048576 2097152 4194304 [25] 8388608 16777216 33554432 67108864 134217728 268435456 [31] 536870912 1073741824 > stopifnot(identical(vv$value, NULL), identical(vv$visible, FALSE)) > > x. <- c(-rev(p.), p.) > for (.cl in c("slong", "fmpz", "fmpq", "mag", "arf", "acf", + "arb", "acb")) + print(new(.cl, x = x.)) class "slong", length 64, address [1] -1073741824 -536870912 -268435456 -134217728 -67108864 -33554432 [7] -16777216 -8388608 -4194304 -2097152 -1048576 -524288 [13] -262144 -131072 -65536 -32768 -16384 -8192 [19] -4096 -2048 -1024 -512 -256 -128 [25] -64 -32 -16 -8 -4 -2 [31] -1 0 0 1 2 4 [37] 8 16 32 64 128 256 [43] 512 1024 2048 4096 8192 16384 [49] 32768 65536 131072 262144 524288 1048576 [55] 2097152 4194304 8388608 16777216 33554432 67108864 [61] 134217728 268435456 536870912 1073741824 class "fmpz", length 64, address [1] -1073741824 -536870912 -268435456 -134217728 -67108864 -33554432 [7] -16777216 -8388608 -4194304 -2097152 -1048576 -524288 [13] -262144 -131072 -65536 -32768 -16384 -8192 [19] -4096 -2048 -1024 -512 -256 -128 [25] -64 -32 -16 -8 -4 -2 [31] -1 0 0 1 2 4 [37] 8 16 32 64 128 256 [43] 512 1024 2048 4096 8192 16384 [49] 32768 65536 131072 262144 524288 1048576 [55] 2097152 4194304 8388608 16777216 33554432 67108864 [61] 134217728 268435456 536870912 1073741824 class "fmpq", length 64, address [1] -1073741824/1 -536870912/1 -268435456/1 -134217728/1 -67108864/1 [6] -33554432/1 -16777216/1 -8388608/1 -4194304/1 -2097152/1 [11] -1048576/1 -524288/1 -262144/1 -131072/1 -65536/1 [16] -32768/1 -16384/1 -8192/1 -4096/1 -2048/1 [21] -1024/1 -512/1 -256/1 -128/1 -64/1 [26] -32/1 -16/1 -8/1 -4/1 -2/1 [31] -1/1 0/1 0/1 1/1 2/1 [36] 4/1 8/1 16/1 32/1 64/1 [41] 128/1 256/1 512/1 1024/1 2048/1 [46] 4096/1 8192/1 16384/1 32768/1 65536/1 [51] 131072/1 262144/1 524288/1 1048576/1 2097152/1 [56] 4194304/1 8388608/1 16777216/1 33554432/1 67108864/1 [61] 134217728/1 268435456/1 536870912/1 1073741824/1 class "mag", length 64, address [1] 1.073742e+9 5.368710e+8 2.684355e+8 1.342178e+8 6.710887e+7 3.355444e+7 [7] 1.677722e+7 8.388608e+6 4.194304e+6 2.097152e+6 1.048576e+6 5.242880e+5 [13] 2.621440e+5 1.310720e+5 6.553600e+4 3.276800e+4 1.638400e+4 8.192000e+3 [19] 4.096000e+3 2.048000e+3 1.024000e+3 5.120000e+2 2.560000e+2 1.280000e+2 [25] 6.400000e+1 3.200000e+1 1.600000e+1 8.000000e+0 4.000000e+0 2.000000e+0 [31] 1.000000e+0 0.000000e+0 0.000000e+0 1.000000e+0 2.000000e+0 4.000000e+0 [37] 8.000000e+0 1.600000e+1 3.200000e+1 6.400000e+1 1.280000e+2 2.560000e+2 [43] 5.120000e+2 1.024000e+3 2.048000e+3 4.096000e+3 8.192000e+3 1.638400e+4 [49] 3.276800e+4 6.553600e+4 1.310720e+5 2.621440e+5 5.242880e+5 1.048576e+6 [55] 2.097152e+6 4.194304e+6 8.388608e+6 1.677722e+7 3.355444e+7 6.710887e+7 [61] 1.342178e+8 2.684355e+8 5.368710e+8 1.073742e+9 class "arf", length 64, address [1] -1.073742e+9 -5.368709e+8 -2.684355e+8 -1.342177e+8 -6.710886e+7 [6] -3.355443e+7 -1.677722e+7 -8.388608e+6 -4.194304e+6 -2.097152e+6 [11] -1.048576e+6 -5.242880e+5 -2.621440e+5 -1.310720e+5 -6.553600e+4 [16] -3.276800e+4 -1.638400e+4 -8.192000e+3 -4.096000e+3 -2.048000e+3 [21] -1.024000e+3 -5.120000e+2 -2.560000e+2 -1.280000e+2 -6.400000e+1 [26] -3.200000e+1 -1.600000e+1 -8.000000e+0 -4.000000e+0 -2.000000e+0 [31] -1.000000e+0 0.000000e+0 0.000000e+0 1.000000e+0 2.000000e+0 [36] 4.000000e+0 8.000000e+0 1.600000e+1 3.200000e+1 6.400000e+1 [41] 1.280000e+2 2.560000e+2 5.120000e+2 1.024000e+3 2.048000e+3 [46] 4.096000e+3 8.192000e+3 1.638400e+4 3.276800e+4 6.553600e+4 [51] 1.310720e+5 2.621440e+5 5.242880e+5 1.048576e+6 2.097152e+6 [56] 4.194304e+6 8.388608e+6 1.677722e+7 3.355443e+7 6.710886e+7 [61] 1.342177e+8 2.684355e+8 5.368709e+8 1.073742e+9 class "acf", length 64, address [1] -1.073742e+9+0.000000e+0i -5.368709e+8+0.000000e+0i [3] -2.684355e+8+0.000000e+0i -1.342177e+8+0.000000e+0i [5] -6.710886e+7+0.000000e+0i -3.355443e+7+0.000000e+0i [7] -1.677722e+7+0.000000e+0i -8.388608e+6+0.000000e+0i [9] -4.194304e+6+0.000000e+0i -2.097152e+6+0.000000e+0i [11] -1.048576e+6+0.000000e+0i -5.242880e+5+0.000000e+0i [13] -2.621440e+5+0.000000e+0i -1.310720e+5+0.000000e+0i [15] -6.553600e+4+0.000000e+0i -3.276800e+4+0.000000e+0i [17] -1.638400e+4+0.000000e+0i -8.192000e+3+0.000000e+0i [19] -4.096000e+3+0.000000e+0i -2.048000e+3+0.000000e+0i [21] -1.024000e+3+0.000000e+0i -5.120000e+2+0.000000e+0i [23] -2.560000e+2+0.000000e+0i -1.280000e+2+0.000000e+0i [25] -6.400000e+1+0.000000e+0i -3.200000e+1+0.000000e+0i [27] -1.600000e+1+0.000000e+0i -8.000000e+0+0.000000e+0i [29] -4.000000e+0+0.000000e+0i -2.000000e+0+0.000000e+0i [31] -1.000000e+0+0.000000e+0i 0.000000e+0+0.000000e+0i [33] 0.000000e+0+0.000000e+0i 1.000000e+0+0.000000e+0i [35] 2.000000e+0+0.000000e+0i 4.000000e+0+0.000000e+0i [37] 8.000000e+0+0.000000e+0i 1.600000e+1+0.000000e+0i [39] 3.200000e+1+0.000000e+0i 6.400000e+1+0.000000e+0i [41] 1.280000e+2+0.000000e+0i 2.560000e+2+0.000000e+0i [43] 5.120000e+2+0.000000e+0i 1.024000e+3+0.000000e+0i [45] 2.048000e+3+0.000000e+0i 4.096000e+3+0.000000e+0i [47] 8.192000e+3+0.000000e+0i 1.638400e+4+0.000000e+0i [49] 3.276800e+4+0.000000e+0i 6.553600e+4+0.000000e+0i [51] 1.310720e+5+0.000000e+0i 2.621440e+5+0.000000e+0i [53] 5.242880e+5+0.000000e+0i 1.048576e+6+0.000000e+0i [55] 2.097152e+6+0.000000e+0i 4.194304e+6+0.000000e+0i [57] 8.388608e+6+0.000000e+0i 1.677722e+7+0.000000e+0i [59] 3.355443e+7+0.000000e+0i 6.710886e+7+0.000000e+0i [61] 1.342177e+8+0.000000e+0i 2.684355e+8+0.000000e+0i [63] 5.368709e+8+0.000000e+0i 1.073742e+9+0.000000e+0i class "arb", length 64, address [1] (-1.073742e+9 +/- 0.000000e+0) (-5.368709e+8 +/- 0.000000e+0) [3] (-2.684355e+8 +/- 0.000000e+0) (-1.342177e+8 +/- 0.000000e+0) [5] (-6.710886e+7 +/- 0.000000e+0) (-3.355443e+7 +/- 0.000000e+0) [7] (-1.677722e+7 +/- 0.000000e+0) (-8.388608e+6 +/- 0.000000e+0) [9] (-4.194304e+6 +/- 0.000000e+0) (-2.097152e+6 +/- 0.000000e+0) [11] (-1.048576e+6 +/- 0.000000e+0) (-5.242880e+5 +/- 0.000000e+0) [13] (-2.621440e+5 +/- 0.000000e+0) (-1.310720e+5 +/- 0.000000e+0) [15] (-6.553600e+4 +/- 0.000000e+0) (-3.276800e+4 +/- 0.000000e+0) [17] (-1.638400e+4 +/- 0.000000e+0) (-8.192000e+3 +/- 0.000000e+0) [19] (-4.096000e+3 +/- 0.000000e+0) (-2.048000e+3 +/- 0.000000e+0) [21] (-1.024000e+3 +/- 0.000000e+0) (-5.120000e+2 +/- 0.000000e+0) [23] (-2.560000e+2 +/- 0.000000e+0) (-1.280000e+2 +/- 0.000000e+0) [25] (-6.400000e+1 +/- 0.000000e+0) (-3.200000e+1 +/- 0.000000e+0) [27] (-1.600000e+1 +/- 0.000000e+0) (-8.000000e+0 +/- 0.000000e+0) [29] (-4.000000e+0 +/- 0.000000e+0) (-2.000000e+0 +/- 0.000000e+0) [31] (-1.000000e+0 +/- 0.000000e+0) ( 0.000000e+0 +/- 0.000000e+0) [33] ( 0.000000e+0 +/- 0.000000e+0) ( 1.000000e+0 +/- 0.000000e+0) [35] ( 2.000000e+0 +/- 0.000000e+0) ( 4.000000e+0 +/- 0.000000e+0) [37] ( 8.000000e+0 +/- 0.000000e+0) ( 1.600000e+1 +/- 0.000000e+0) [39] ( 3.200000e+1 +/- 0.000000e+0) ( 6.400000e+1 +/- 0.000000e+0) [41] ( 1.280000e+2 +/- 0.000000e+0) ( 2.560000e+2 +/- 0.000000e+0) [43] ( 5.120000e+2 +/- 0.000000e+0) ( 1.024000e+3 +/- 0.000000e+0) [45] ( 2.048000e+3 +/- 0.000000e+0) ( 4.096000e+3 +/- 0.000000e+0) [47] ( 8.192000e+3 +/- 0.000000e+0) ( 1.638400e+4 +/- 0.000000e+0) [49] ( 3.276800e+4 +/- 0.000000e+0) ( 6.553600e+4 +/- 0.000000e+0) [51] ( 1.310720e+5 +/- 0.000000e+0) ( 2.621440e+5 +/- 0.000000e+0) [53] ( 5.242880e+5 +/- 0.000000e+0) ( 1.048576e+6 +/- 0.000000e+0) [55] ( 2.097152e+6 +/- 0.000000e+0) ( 4.194304e+6 +/- 0.000000e+0) [57] ( 8.388608e+6 +/- 0.000000e+0) ( 1.677722e+7 +/- 0.000000e+0) [59] ( 3.355443e+7 +/- 0.000000e+0) ( 6.710886e+7 +/- 0.000000e+0) [61] ( 1.342177e+8 +/- 0.000000e+0) ( 2.684355e+8 +/- 0.000000e+0) [63] ( 5.368709e+8 +/- 0.000000e+0) ( 1.073742e+9 +/- 0.000000e+0) class "acb", length 64, address [1] (-1.073742e+9 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [2] (-5.368709e+8 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [3] (-2.684355e+8 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [4] (-1.342177e+8 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [5] (-6.710886e+7 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [6] (-3.355443e+7 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [7] (-1.677722e+7 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [8] (-8.388608e+6 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [9] (-4.194304e+6 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [10] (-2.097152e+6 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [11] (-1.048576e+6 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [12] (-5.242880e+5 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [13] (-2.621440e+5 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [14] (-1.310720e+5 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [15] (-6.553600e+4 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [16] (-3.276800e+4 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [17] (-1.638400e+4 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [18] (-8.192000e+3 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [19] (-4.096000e+3 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [20] (-2.048000e+3 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [21] (-1.024000e+3 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [22] (-5.120000e+2 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [23] (-2.560000e+2 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [24] (-1.280000e+2 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [25] (-6.400000e+1 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [26] (-3.200000e+1 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [27] (-1.600000e+1 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [28] (-8.000000e+0 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [29] (-4.000000e+0 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [30] (-2.000000e+0 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [31] (-1.000000e+0 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [32] ( 0.000000e+0 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [33] ( 0.000000e+0 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [34] ( 1.000000e+0 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [35] ( 2.000000e+0 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [36] ( 4.000000e+0 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [37] ( 8.000000e+0 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [38] ( 1.600000e+1 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [39] ( 3.200000e+1 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [40] ( 6.400000e+1 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [41] ( 1.280000e+2 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [42] ( 2.560000e+2 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [43] ( 5.120000e+2 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [44] ( 1.024000e+3 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [45] ( 2.048000e+3 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [46] ( 4.096000e+3 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [47] ( 8.192000e+3 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [48] ( 1.638400e+4 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [49] ( 3.276800e+4 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [50] ( 6.553600e+4 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [51] ( 1.310720e+5 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [52] ( 2.621440e+5 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [53] ( 5.242880e+5 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [54] ( 1.048576e+6 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [55] ( 2.097152e+6 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [56] ( 4.194304e+6 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [57] ( 8.388608e+6 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [58] ( 1.677722e+7 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [59] ( 3.355443e+7 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [60] ( 6.710886e+7 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [61] ( 1.342177e+8 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [62] ( 2.684355e+8 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [63] ( 5.368709e+8 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i [64] ( 1.073742e+9 +/- 0.000000e+0)+(0.000000e+0 +/- 0.000000e+0)i > > prec <- as.integer(cumprod(rep(c(1, 2), c(1L, 15L)))) > e... <- arb_const_e(prec) > print(e..., digits = 32L) class "arb", length 16, address [1] (2.0000000000000000000000000000000e+0 +/- 2.0000000037252902984619140625000e+0000) [2] (2.0000000000000000000000000000000e+0 +/- 1.0000000018626451492309570312500e+0000) [3] (2.5000000000000000000000000000000e+0 +/- 2.5000000046566128730773925781250e-0001) [4] (2.7031250000000000000000000000000e+0 +/- 1.5625000029103830456733703613282e-0002) [5] (2.7182617187500000000000000000000e+0 +/- 6.1035156363686837721616029739380e-0005) [6] (2.7182818278670310974121093750000e+0 +/- 9.3132257635020199160180709441193e-0010) [7] (2.7182818284590452352113276734968e+0 +/- 2.1684043490099767027464860454480e-0019) [8] (2.7182818284590452353602874713527e+0 +/- 1.1754943530118163584762632105406e-0038) [9] (2.7182818284590452353602874713527e+0 +/- 3.4544674284722248369895768927939e-0077) [10] (2.7182818284590452353602874713527e+0 +/- 2.9833362980369795710290798347920e-0154) [11] (2.7182818284590452353602874713527e+0 +/- 2.2250738626517244123192802077844e-0308) [12] (2.7182818284590452353602874713527e+0 +/- 1.2377384212584987722717311674684e-0616) [13] (2.7182818284590452353602874713527e+0 +/- 3.8299909915147882718340257435504e-1233) [14] (2.7182818284590452353602874713527e+0 +/- 3.6672077419404010302671413245372e-2466) [15] (2.7182818284590452353602874713527e+0 +/- 3.3621031493744986169945729106858e-4932) [16] (2.7182818284590452353602874713527e+0 +/- 2.8259343914947675536691964927047e-9864) > > proc.time() user system elapsed 0.43 0.01 0.45