Edit

kc3-lang/libtommath/bn_mp_n_root.c

Branch :

  • Show log

    Commit

  • Author : Steffen Jaeckel
    Date : 2014-02-14 11:26:07
    Hash : 52cfd5ff
    Message : mp_n_root: add mp_n_root_ex() with parameter 'fast' for mp_expt_d_ex() This change is introduced to be able to choose the underlying implementation of mp_expt_d_ex() The implementation of the root_n functionality is now implemented in the mp_n_root_ex() function. The parameter 'fast' is just passed over to mp_expt_d_ex(). mp_n_root() defaults to the pre 921be35779f7d71080ad85c27ed58671602d59b3 implementation

  • bn_mp_n_root.c
  • #include <tommath.h>
    #ifdef BN_MP_N_ROOT_C
    /* LibTomMath, multiple-precision integer library -- Tom St Denis
     *
     * LibTomMath is a library that provides multiple-precision
     * integer arithmetic as well as number theoretic functionality.
     *
     * The library was designed directly after the MPI library by
     * Michael Fromberger but has been written from scratch with
     * additional optimizations in place.
     *
     * The library is free for all purposes without any express
     * guarantee it works.
     *
     * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
     */
    
    /* wrapper function for mp_n_root_ex()
     * computes c = (a)**(1/b) such that (c)**b <= a and (c+1)**b > a
     */
    int mp_n_root (mp_int * a, mp_digit b, mp_int * c)
    {
      return mp_n_root_ex(a, b, c, 0);
    }
    
    #endif
    
    /* $Source$ */
    /* $Revision$ */
    /* $Date$ */