These functions were introduced to give some timing guarantees.
However the guarantees are too weak to be useful.
The functions seem to be unused essentially by downstream users.
* MP_USE_ENUMS enables enums
* Wc++-compat catches some implicit conversions if MP_USE_ENUMS is defined
* 100% backwards compatible API/ABI if MP_USE_ENUMS is not defined
tommath.h contains declarations for the public part of the library.
tommath_private.h contains the functions which are private to ltm and
should not be exposed to the public.
The implementation of the expt_d functionality is now implemented in the
mp_expt_d_ex() function.
The user can now choose between the old (more timing resistant) version
and the new version by modification of the parameter 'fast'.
mp_expt_d() defaults to the old version
The loop was always iterating DIGIT_BIT times, instead of
halting when possible. This changes makes sure it executes
less operations. This change has also been incorporated
into Rubinius / https://github.com/evanphx/rubinius which
uses libtommath