github.com/aergoio/aergo@v1.3.1/libtool/src/gmp-6.1.2/tune/mod_1_inv.c (about)

     1  /* mpn/generic/mod_1.c forced to use mul-by-inverse udiv_qrnnd_preinv.
     2  
     3  Copyright 2000 Free Software Foundation, Inc.
     4  
     5  This file is part of the GNU MP Library.
     6  
     7  The GNU MP Library is free software; you can redistribute it and/or modify
     8  it under the terms of either:
     9  
    10    * the GNU Lesser General Public License as published by the Free
    11      Software Foundation; either version 3 of the License, or (at your
    12      option) any later version.
    13  
    14  or
    15  
    16    * the GNU General Public License as published by the Free Software
    17      Foundation; either version 2 of the License, or (at your option) any
    18      later version.
    19  
    20  or both in parallel, as here.
    21  
    22  The GNU MP Library is distributed in the hope that it will be useful, but
    23  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    24  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    25  for more details.
    26  
    27  You should have received copies of the GNU General Public License and the
    28  GNU Lesser General Public License along with the GNU MP Library.  If not,
    29  see https://www.gnu.org/licenses/.  */
    30  
    31  #define OPERATION_mod_1
    32  
    33  #include "gmp.h"
    34  #include "gmp-impl.h"
    35  
    36  #undef MOD_1_NORM_THRESHOLD
    37  #undef MOD_1_UNNORM_THRESHOLD
    38  #undef MOD_1N_TO_MOD_1_1_THRESHOLD
    39  #undef MOD_1U_TO_MOD_1_1_THRESHOLD
    40  #define MOD_1_NORM_THRESHOLD    0
    41  #define MOD_1_UNNORM_THRESHOLD  0
    42  #define MOD_1N_TO_MOD_1_1_THRESHOLD MP_SIZE_T_MAX
    43  #define MOD_1U_TO_MOD_1_1_THRESHOLD MP_SIZE_T_MAX
    44  #define __gmpn_mod_1  mpn_mod_1_inv
    45  
    46  #include "mpn/generic/mod_1.c"