Jerry James writes:
- Uses make_fixnum instead of make_integer when the argument is
guaranteed to
be in the fixnum range.
- Introduces make_unsigned_integer so that we handle unsigned values with the
high bit set correctly.
- Introduces conversions between bignums and (un)signed long long values.
The places where you've used these are correct AFAICT. I haven't
audited the (far larger number of) places you didn't change. ;-)
- Uses mp_set_memory_functions with the BSD MP code, if it exists.
- Eliminates all use of move()/mp_move().
I don't understand these, can't review.
- Eliminates some unnecessary consing in the Lisp + and *
implementations.
- Fixes a problem with check_valid_xbm_inline().
These look OK to me.
- Fixes a few miscellaneous bugs in the BSD MP code.
I don't use BSD MP, so can't say anything about these.
Regarding the implementation of bignum_random, I had two questions.
(1) Could this be a serious drain on the entropy pool? Is it useful
if it isn't?!
(2) Why no seed? In general the ability to seed is useful for
repeatable experiments.
Steve
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches