1/* gmp-mparam.h -- Compiler/machine parameter header file.
2
3Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
4Foundation, Inc.
5
6This file is part of the GNU MP Library.
7
8The GNU MP Library is free software; you can redistribute it and/or modify
9it under the terms of the GNU Lesser General Public License as published by
10the Free Software Foundation; either version 3 of the License, or (at your
11option) any later version.
12
13The GNU MP Library is distributed in the hope that it will be useful, but
14WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
16License for more details.
17
18You should have received a copy of the GNU Lesser General Public License
19along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
20
21#define GMP_LIMB_BITS 64
22#define BYTES_PER_MP_LIMB 8
23
24/* Generated by tuneup.c, 2004-02-07, gcc 3.3 */
25
26#define MUL_TOOM22_THRESHOLD             40
27#define MUL_TOOM33_THRESHOLD            236
28
29#define SQR_BASECASE_THRESHOLD            7  /* karatsuba */
30#define SQR_TOOM2_THRESHOLD               0  /* never sqr_basecase */
31#define SQR_TOOM3_THRESHOLD             120
32
33#define DIV_SB_PREINV_THRESHOLD       MP_SIZE_T_MAX  /* no preinv with nails */
34#define DIV_DC_THRESHOLD                 48
35#define POWM_THRESHOLD                  113
36
37#define HGCD_THRESHOLD                   78
38#define GCD_ACCEL_THRESHOLD               3
39#define GCD_DC_THRESHOLD                392
40#define JACOBI_BASE_METHOD                1
41
42#define DIVREM_1_NORM_THRESHOLD       MP_SIZE_T_MAX  /* no preinv with nails */
43#define DIVREM_1_UNNORM_THRESHOLD     MP_SIZE_T_MAX  /* no preinv with nails */
44#define MOD_1_NORM_THRESHOLD          MP_SIZE_T_MAX  /* no preinv with nails */
45#define MOD_1_UNNORM_THRESHOLD        MP_SIZE_T_MAX  /* no preinv with nails */
46#define USE_PREINV_DIVREM_1               0  /* no preinv with nails */
47#define USE_PREINV_MOD_1                  0  /* no preinv with nails */
48#define DIVREM_2_THRESHOLD            MP_SIZE_T_MAX  /* no preinv with nails */
49#define DIVEXACT_1_THRESHOLD              0  /* always */
50#define MODEXACT_1_ODD_THRESHOLD          0  /* always */
51
52#define GET_STR_DC_THRESHOLD             15
53#define GET_STR_PRECOMPUTE_THRESHOLD     24
54#define SET_STR_THRESHOLD              6336
55
56#define MUL_FFT_TABLE  { 688, 1440, 3648, 6400, 25600, 0 }
57#define MUL_FFT_MODF_THRESHOLD          488
58#define MUL_FFT_THRESHOLD              3712
59
60#define SQR_FFT_TABLE  { 432, 864, 3136, 6400, 25600, 0 }
61#define SQR_FFT_MODF_THRESHOLD          480
62#define SQR_FFT_THRESHOLD              2976
63