Handbook
Glossary
bignum
Vocabulary
math
Class description
The class of bignums, which are heap-allocated arbitrary-precision integers.
Definition
IN:
math
BUILTIN:
bignum
;
Methods
USING:
kernel
math
math.bitwise.private
;
M:
bignum
(bit-count)
[
0
]
[
[
byte-bit-count
]
[
-8
shift
(bit-count)
]
bi
+
]
if-zero
;
USING:
bootstrap.image.private
kernel
kernel.private
math
;
M:
bignum
(eql?)
{
bignum
bignum
}
declare
=
;
USING:
math
math.functions.private
;
M:
bignum
(integer-log10)
bignum-integer-log10
;
inline
USING:
math
math.private
;
M:
bignum
(log2)
bignum-log2
;
inline
USING:
math
math.private
;
M:
bignum
*
bignum*
;
inline
USING:
math
math.private
;
M:
bignum
+
bignum+
;
inline
USING:
math
math.private
;
M:
bignum
-
bignum-
;
inline
USING:
kernel.private
math
math.integers.private
;
M:
bignum
/f
{
bignum
bignum
}
declare
bignum/f
;
USING:
math
math.private
;
M:
bignum
/i
bignum/i
;
inline
USING:
math
math.private
;
M:
bignum
/mod
bignum/mod
;
inline
USING:
math
math.private
;
M:
bignum
<
bignum<
;
inline
USING:
math
math.private
;
M:
bignum
<=
bignum<=
;
inline
USING:
math
math.private
;
M:
bignum
>
bignum>
;
inline
USING:
math
math.private
;
M:
bignum
>=
bignum>=
;
inline
USING:
arrays
asn1
kernel
math
pack
sequences
;
M:
bignum
>ber
>128-ber
dup
length
dup
126
>
[
"range error in bignum"
throw
]
[
2
swap
2array
"CC"
pack-native
B{
}
prepend-as
]
if
;
USING:
math
;
M:
bignum
>bignum
;
inline
USING:
math
math.private
;
M:
bignum
>fixnum
bignum>fixnum
;
inline
USING:
math
math.integers.private
;
M:
bignum
>float
bignum>float
;
inline
USING:
kernel
layouts
math
math.order
;
M:
bignum
>integer
dup
most-negative-fixnum
most-positive-fixnum
between?
[
>fixnum
]
when
;
USING:
math
math.parser
python
python.errors
python.ffi
;
M:
bignum
>py
number>string
f
10
PyLong_FromString
check-new-ref
;
USING:
kernel
math
math.functions
math.functions.private
;
M:
bignum
^n
[
factor-2s
]
dip
[
(^n)
]
keep
rot
*
shift
;
USING:
math
math.private
;
M:
bignum
bit?
bignum-bit?
;
inline
USING:
math
math.private
;
M:
bignum
bitand
bignum-bitand
;
inline
USING:
math
math.private
;
M:
bignum
bitnot
bignum-bitnot
;
inline
USING:
math
math.private
;
M:
bignum
bitor
bignum-bitor
;
inline
USING:
math
math.private
;
M:
bignum
bitxor
bignum-bitxor
;
inline
USING:
compiler.tree.propagation.info
kernel
math
;
M:
bignum
eql?
over
bignum?
[
=
]
[
2drop
f
]
if
;
USING:
kernel
math
math.private
;
M:
bignum
equal?
over
bignum?
[
bignum=
]
[
swap
dup
fixnum?
[
>bignum
bignum=
]
[
2drop
f
]
if
]
if
;
inline
USING:
kernel
math
math.private
;
M:
bignum
hashcode*
nip
bignum>fixnum
;
USING:
math
math.private
;
M:
bignum
integer>fixnum
bignum>fixnum
;
inline
USING:
math
math.private
;
M:
bignum
integer>fixnum-strict
bignum>fixnum-strict
;
inline
USING:
math
math.functions
math.functions.private
;
M:
bignum
log
[
log
]
log-2
(bignum-log)
;
USING:
math
math.functions
math.functions.private
;
M:
bignum
log10
[
log10
]
log10-2
(bignum-log)
;
USING:
math
math.private
;
M:
bignum
mod
bignum-mod
;
inline
USING:
math
math.private
;
M:
bignum
number=
bignum=
;
inline
USING:
kernel
math
math.parser.private
sbufs
sequences
;
M:
bignum
positive>dec
12
<sbuf>
bignum>dec
fixnum>dec
""
like
reverse!
nip
;
inline
USING:
bootstrap.image.private
math
;
M:
bignum
prepare-object
[
bignum
[
emit-bignum
]
emit-object
]
cache-eql-object
;
USING:
math
random
random.private
;
M:
bignum
random*
random-integer
;
USING:
kernel.private
math
math.order.private
;
M:
bignum
real<=>
{
bignum
bignum
}
declare
(real<=>)
;
inline
USING:
math
math.private
;
M:
bignum
shift
integer>fixnum
bignum-shift
;
inline
USING:
math
math.private
;
M:
bignum
simple-gcd
bignum-gcd
;
inline
USING:
math
math.private
;
M:
bignum
u<
bignum<
;
inline
USING:
math
math.private
;
M:
bignum
u<=
bignum<=
;
inline
USING:
math
math.private
;
M:
bignum
u>
bignum>
;
inline
USING:
math
math.private
;
M:
bignum
u>=
bignum>=
;
inline