1 /* SPARC v9 32-bit gmp-mparam.h -- Compiler/machine parameter header file.
3 Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2009, 2010 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 #define GMP_LIMB_BITS 32
22 #define BYTES_PER_MP_LIMB 4
24 #define DIVREM_1_NORM_THRESHOLD 3
25 #define DIVREM_1_UNNORM_THRESHOLD 5
26 #define MOD_1_NORM_THRESHOLD 4
27 #define MOD_1_UNNORM_THRESHOLD 7
28 #define MOD_1N_TO_MOD_1_1_THRESHOLD MP_SIZE_T_MAX /* never */
29 #define MOD_1U_TO_MOD_1_1_THRESHOLD MP_SIZE_T_MAX
30 #define MOD_1_1_TO_MOD_1_2_THRESHOLD MP_SIZE_T_MAX
31 #define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX
32 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD MP_SIZE_T_MAX /* never */
33 #define USE_PREINV_DIVREM_1 1
34 #define DIVREM_2_THRESHOLD 0 /* always */
35 #define DIVEXACT_1_THRESHOLD 0 /* always */
36 #define BMOD_1_TO_MOD_1_THRESHOLD MP_SIZE_T_MAX /* never */
38 #define MUL_TOOM22_THRESHOLD 32
39 #define MUL_TOOM33_THRESHOLD 96
40 #define MUL_TOOM44_THRESHOLD 143
41 #define MUL_TOOM6H_THRESHOLD 216
42 #define MUL_TOOM8H_THRESHOLD 494
44 #define MUL_TOOM32_TO_TOOM43_THRESHOLD 96
45 #define MUL_TOOM32_TO_TOOM53_THRESHOLD 145
46 #define MUL_TOOM42_TO_TOOM53_THRESHOLD 97
47 #define MUL_TOOM42_TO_TOOM63_THRESHOLD 92
49 #define SQR_BASECASE_THRESHOLD 12
50 #define SQR_TOOM2_THRESHOLD 62
51 #define SQR_TOOM3_THRESHOLD 103
52 #define SQR_TOOM4_THRESHOLD 274
53 #define SQR_TOOM6_THRESHOLD 274
54 #define SQR_TOOM8_THRESHOLD 542
56 #define MULMOD_BNM1_THRESHOLD 14
57 #define SQRMOD_BNM1_THRESHOLD 21
59 #define MUL_FFT_TABLE { 272, 736, 1152, 3584, 10240, 24576, 98304, 917504, 0 }
60 #define MUL_FFT_MODF_THRESHOLD 248
61 #define MUL_FFT_THRESHOLD 2112
63 #define SQR_FFT_TABLE { 336, 800, 1408, 3584, 10240, 24576, 98304, 393216, 0 }
64 #define SQR_FFT_MODF_THRESHOLD 248
65 #define SQR_FFT_THRESHOLD 2112
67 #define MULLO_BASECASE_THRESHOLD 0 /* always */
68 #define MULLO_DC_THRESHOLD 106
69 #define MULLO_MUL_N_THRESHOLD 3493
71 #define DC_DIV_QR_THRESHOLD 123
72 #define DC_DIVAPPR_Q_THRESHOLD 396
73 #define DC_BDIV_QR_THRESHOLD 121
74 #define DC_BDIV_Q_THRESHOLD 280
76 #define INV_MULMOD_BNM1_THRESHOLD 62
77 #define INV_NEWTON_THRESHOLD 351
78 #define INV_APPR_THRESHOLD 357
80 #define BINV_NEWTON_THRESHOLD 324
81 #define REDC_1_TO_REDC_N_THRESHOLD 78
83 #define MU_DIV_QR_THRESHOLD 1895
84 #define MU_DIVAPPR_Q_THRESHOLD 1895
85 #define MUPI_DIV_QR_THRESHOLD 122
86 #define MU_BDIV_QR_THRESHOLD 872
87 #define MU_BDIV_Q_THRESHOLD 2801
89 #define MATRIX22_STRASSEN_THRESHOLD 13
90 #define HGCD_THRESHOLD 144
91 #define GCD_DC_THRESHOLD 630
92 #define GCDEXT_DC_THRESHOLD 416
93 #define JACOBI_BASE_METHOD 2
95 #define GET_STR_DC_THRESHOLD 9
96 #define GET_STR_PRECOMPUTE_THRESHOLD 17
97 #define SET_STR_DC_THRESHOLD 537
98 #define SET_STR_PRECOMPUTE_THRESHOLD 1576