defmodule
z
files
(bnn bnz)
export
(fix->n bnnumbits bnnumbitsindigit bnmultiply bnmultiplyplain 
bnmultiplykaratsuba bndivide ndivide bncompare bniszero bnkaraswitch pgcd gcd 
fib fact even? ** #:r:q:integerp #:r:q:n:abs #:r:q:z:abs #:r:q:truncate #:r:q:
n:float #:r:q:z:float #:r:q:n:0- #:r:q:z:0- #:r:q:n:<?> #:r:q:z:<?> #:r:q:n:+ 
#:r:q:z:+ #:r:q:n:- #:r:q:z:- #:r:q:n:* #:r:q:z:* #:r:q:n:quomod #:r:q:n:
nquomodn #:r:q:z:quomod #:r:q:n:prin #:r:q:z:prin #:fix:+ #:fix:- #:fix:* #:
fix:quomod z?z nprin nfact nfib newobase newibase bzabs bzsign bznegate bzabs 
bzsign bznegate bzcompare bzadd bzsubtract bzmultiply bzdiv bzmod bzdivide 
bzcreate bzfree bzcopy bnconvert entretampon #:sharp:|{|)
import
(bngen bnkern)
cpexport
((fix->n subr2 ()) (bnnumbits subr3 ()) (bnnumbitsindigit subr2 ()) (
bnmultiply nsubr ()) (bnmultiplyplain nsubr ()) (bnmultiplykaratsuba nsubr ())
(entretampon subr3 ()) (bndivide nsubr ()) (ndivide nsubr ()) (bncompare nsubr
()) (bniszero subr3 ()) (bnkaraswitch subr1 ()) (pgcd subr2 ()) (bnconvert 
subr3 ()) (gcd nsubr ()) (fib subr1 ()) (nfib subr1 () () () (fn) (fn+1) (f2n)
(f2n+1) (fl) (f2l) (sv)) (fact subr1 ()) (nfact subr1 ()) (even? subr1 ()) (**
subr2 ()) (#:r:q:integerp subr1 ()) (#:r:q:n:abs subr1 ()) (#:r:q:z:abs subr1 
()) (#:r:q:truncate subr1 ()) (#:r:q:n:float subr1 ()) (#:r:q:z:float subr1 ()
) (#:r:q:n:0- subr1 ()) (#:r:q:z:0- subr1 ()) (#:r:q:n:<?> subr2 ()) (z?z 
nsubr ()) (#:r:q:z:<?> subr2 ()) (#:r:q:n:+ subr2 ()) (#:r:q:z:+ subr2 ()) (#:
r:q:n:- subr2 ()) (#:r:q:z:- subr2 ()) (#:r:q:n:* subr2 ()) (#:r:q:z:* subr2 (
)) (#:r:q:n:quomod subr2 ()) (#:r:q:n:nquomodn subr2 ()) (#:r:q:z:quomod subr2
()) (#:r:q:n:prin subr1 ()) (nprin subr1 ()) (newobase nsubr ()) (#:r:q:z:prin
subr1 ()) (#:fix:+ subr2 ()) (#:fix:- subr2 ()) (#:fix:* subr2 ()) (#:fix:
quomod subr2 ()) (newibase nsubr ()) (bzabs subr1 ()) (bzsign subr1 ()) (
bznegate subr1 ()) (bzcopy subr1 ()) (bzcompare subr2 ()) (bzadd subr2 ()) (
bzsubtract subr2 ()) (bzmultiply subr2 ()) (bzdiv subr2 ()) (bzmod subr2 ()) (
bzdivide subr2 ()) (bzcreate subr1 ()) (bzfree subr1 ()) (#:sharp:|{| subr0 ()
))
cpfunctions
((b+b*b←kara nsubr) (b+b*b←naif nsubr) (#:fix:pgcd subr2) (fixpgcdfix subr2) (
fixpgcd subr2) (#:r:q:z:pgcd subr2) (#:r:q:n:pgcd subr2) (bngcd nsubr) (fibexp
subr1) (#:r:q:**n subr3) (zcopy subr2) (zfloat subr1) (z+z nsubr) (z-z nsubr) 
(z*z nsubr) (0-n subr1) (-cquoc subr2) (-cquo-c subr2) (makeobase**k subr1) (
c2string nsubr) (makeibase**k subr1) (#:r:q:reversebuf nsubr) (#:r:q:
stringtodigit nsubr))
cpimport
((bngen (#:r:error . subr3) (#:r:quomod . subr2)) (bnkern (bncreate . subr2) (
bngetsize . subr1) (bngettype . subr1) (bnsettype . subr2) (bnfree . subr1)))