lambdaway
::
BN
6
|
list
|
login
|
load
|
|
{require lib_BN} _h1 big numbers _p Require [[lib_BN]]. _h2 primitives {pre '{BN_DEC 50} -> 50 digits '{BN.new n} -> big n '{BN.+ a b} -> a+b '{BN.- a b} -> a-b '{BN.* a b} -> a*b '{BN./ a b} -> a/b '{BN.% a b} -> a%b '{BN.pow a b} -> a{sup b} '{BN.compare a b} -> -1|0|1 '{BN.negate n} -> -n '{BN.abs n} -> -> |n| '{BN.intPart n} -> intPart of n '{BN.valueOf n} -> ?? '{BN.round n} -> ?? '{BN.fac n} -> fac(n) '{BN.tfac n} -> fac(n) '{BN.sqrt n} -> sqrt(n) } _h2 tests {prewrap '{BN.DEC 100} by default n=50 decimals -> {BN.DEC 100} '{BN.new 123} -> {BN.new 123} '{BN.+ 123456789123456789123456789 123456789123456789123456789} -> {BN.+ 123456789123456789123456789 123456789123456789123456789} '{BN.+ .1 .2} -> {BN.+ .1 .2} '{BN.- 123456789123456789123456789 123456789123456789123456789} -> {BN.- 123456789123456789123456789 123456789123456789123456789} '{BN.* 123456789123456789123456789 123456789123456789123456789} -> {BN.* 123456789123456789123456789 123456789123456789123456789} '{BN./ 123456789123456789123456789 2} -> {BN./ 123456789123456789123456789 2} '{BN.% 123456789123456789123456789 2} -> {BN.% 123456789123456789123456789 2} '{BN.pow 2 128} -> {BN.pow 2 128} '{BN.compare 123456789123456789123456789 123456789123456789123456788} -> {BN.compare 123456789123456789123456789 123456789123456789123456788} '{BN.compare 123456789123456789123456789 123456789123456789123456789} -> {BN.compare 123456789123456789123456789 123456789123456789123456789} '{BN.compare 123456789123456789123456789 123456789123456789123456790} -> {BN.compare 123456789123456789123456789 123456789123456789123456790} '{BN.negate 123456789123456789123456789} -> {BN.negate 123456789123456789123456789} '{BN.abs -123456789123456789123456789} -> {BN.abs -123456789123456789123456789} '{BN.intPart {PI}} -> {BN.intPart {PI}} '{BN.valueOf {PI}} -> {BN.valueOf {PI}} ??? '{BN.round {PI}} -> {BN.round {PI}} ??? '{BN.fac 100} -> {BN.fac 100} '{BN.tfac 100} -> {BN.tfac 100} '{BN.sqrt 2} -> {BN.sqrt 2} '{def fac {lambda {:n} {if {< :n 1} then 1 else {BN.* :n {fac {- :n 1}}}}}} -> {def fac {lambda {:n} {if {< :n 1} then 1 else {BN.* :n {fac {- :n 1}}}}}} '{fac 100} -> {fac 100} }
lambdaway v.20211111