1 /* Minimal values gmp-mparam.h -- Compiler/machine parameter header file.
3 Copyright 1991, 1993, 1994, 2000, 2006, 2008, 2009, 2010, 2012 Free
4 Software Foundation, Inc.
6 This file is part of the GNU MP Library.
8 The GNU MP Library is free software; you can redistribute it and/or modify
9 it under the terms of the GNU Lesser General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or (at your
11 option) any later version.
13 The GNU MP Library is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
16 License for more details.
18 You should have received a copy of the GNU Lesser General Public License
19 along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
21 /* The values in this file are not currently minimal.
22 Trimming them further would be good. */
24 #define MOD_1_NORM_THRESHOLD 0 /* always */
25 #define MOD_1_UNNORM_THRESHOLD 0 /* always */
26 #define MOD_1N_TO_MOD_1_1_THRESHOLD 2
27 #define MOD_1U_TO_MOD_1_1_THRESHOLD 2
28 #define MOD_1_1_TO_MOD_1_2_THRESHOLD 3
29 #define MOD_1_2_TO_MOD_1_4_THRESHOLD 4
30 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD 1
31 #define USE_PREINV_DIVREM_1 1 /* native */
32 #define DIVEXACT_1_THRESHOLD 0 /* always (native) */
33 #define BMOD_1_TO_MOD_1_THRESHOLD 3
35 #define MUL_TOOM22_THRESHOLD 8
36 #define MUL_TOOM33_THRESHOLD 20
37 #define MUL_TOOM44_THRESHOLD 24
38 #define MUL_TOOM6H_THRESHOLD 70 /* FIXME */
39 #define MUL_TOOM8H_THRESHOLD 86
41 #define MUL_TOOM32_TO_TOOM43_THRESHOLD 50 /* FIXME */
42 #define MUL_TOOM32_TO_TOOM53_THRESHOLD 50 /* FIXME */
43 #define MUL_TOOM42_TO_TOOM53_THRESHOLD 50 /* FIXME */
44 #define MUL_TOOM42_TO_TOOM63_THRESHOLD 50 /* FIXME */
46 #define SQR_BASECASE_THRESHOLD 0
47 #define SQR_TOOM2_THRESHOLD 8
48 #define SQR_TOOM3_THRESHOLD 20
49 #define SQR_TOOM4_THRESHOLD 24
50 #define SQR_TOOM6H_THRESHOLD 70 /* FIXME */
51 #define SQR_TOOM8H_THRESHOLD 86
53 #define MULMOD_BNM1_THRESHOLD 10
54 #define SQRMOD_BNM1_THRESHOLD 10
56 #define MUL_FFT_TABLE {64, 256, 1024, 4096, 8192, 65536, 0}
57 #define MUL_FFT_MODF_THRESHOLD 65
58 #define MUL_FFT_THRESHOLD 200
60 #define SQR_FFT_TABLE {64, 256, 1024, 4096, 8192, 65536, 0}
61 #define SQR_FFT_MODF_THRESHOLD 65
62 #define SQR_FFT_THRESHOLD 200
64 #define MULLO_BASECASE_THRESHOLD 0
65 #define MULLO_DC_THRESHOLD 2
66 #define MULLO_MUL_N_THRESHOLD 4
68 #define DC_DIV_QR_THRESHOLD 6
69 #define DC_DIVAPPR_Q_THRESHOLD 6
70 #define DC_BDIV_QR_THRESHOLD 4
71 #define DC_BDIV_Q_THRESHOLD 4
73 #define INV_MULMOD_BNM1_THRESHOLD 2
74 #define INV_NEWTON_THRESHOLD 6
75 #define INV_APPR_THRESHOLD 4
77 #define BINV_NEWTON_THRESHOLD 6
78 #define REDC_1_TO_REDC_N_THRESHOLD 9
80 #define MU_DIV_QR_THRESHOLD 8
81 #define MU_DIVAPPR_Q_THRESHOLD 8
82 #define MUPI_DIV_QR_THRESHOLD 8
83 #define MU_BDIV_QR_THRESHOLD 8
84 #define MU_BDIV_Q_THRESHOLD 8
86 #define MATRIX22_STRASSEN_THRESHOLD 2
87 #define HGCD_THRESHOLD 10
88 #define GCD_DC_THRESHOLD 20
89 #define GCDEXT_SCHOENHAGE_THRESHOLD 20
90 #define JACOBI_BASE_METHOD 1
92 #define GET_STR_DC_THRESHOLD 4
93 #define GET_STR_PRECOMPUTE_THRESHOLD 10
94 #define SET_STR_THRESHOLD 64
95 #define SET_STR_PRECOMPUTE_THRESHOLD 100
97 #define FAC_ODD_THRESHOLD 0 /* always */
98 #define FAC_DSC_THRESHOLD 70