diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-03-06 06:10:25 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-03-06 06:10:25 -0800 |
commit | f71e47cda8418d11cef36d874e5d50835ceead02 (patch) | |
tree | 3f292c2353c8dfb318e81989e769afd56c9db2ca /txr.1 | |
parent | 0a2923dd24398c24a60c9cd0031c4079b211fdc9 (diff) | |
download | txr-f71e47cda8418d11cef36d874e5d50835ceead02.tar.gz txr-f71e47cda8418d11cef36d874e5d50835ceead02.tar.bz2 txr-f71e47cda8418d11cef36d874e5d50835ceead02.zip |
New function: bignum-len.
* arith.c (bignum_len): Wew function.
(arith_init): Register bignum-len intrinsic.
* arith.h (bignum_len): Declared.
* txr.1: Documented.
Diffstat (limited to 'txr.1')
-rw-r--r-- | txr.1 | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -35650,6 +35650,38 @@ that value is then added to the result accumulator. (rpoly 10 '(1 2 3)) -> 321 .cble +.coNP Function @ bignum-len +.synb +.mets (bignum-len << arg ) +.syne +.desc +The +.code bignum-len +function reports the machine-specific +.I "bignum order" +of the integer or character argument +.metn arg . + +If +.meta arg +is a character or +.code fixnum +integer, the function returns zero. + +Otherwise +.meta arg +is expected to be a +.code bignum +integer, and the function returns the number of "limbs" used for its +representation, a positive integer. + +Note: the +.code bignum-len +function is intended to be of use in algorithms whose performance +benefits from ordering the operations on multiple integer operands +according to the magnitudes of those operands. The function provides an +estimate of magnitude which trades accuracy for efficiency. + .SS* Bit Operations In \*(TL, similarly to Common Lisp, bit operations on integers are based on a concept that might be called "infinite two's-complement". |