1/* S/390-32 gmp-mparam.h -- Compiler/machine parameter header file. 2 3Copyright 1991, 1993, 1994, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 42008, 2009, 2010, 2011 Free Software Foundation, 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 22#define GMP_LIMB_BITS 32 23#define BYTES_PER_MP_LIMB 4 24 25#define DIVREM_1_NORM_THRESHOLD 0 /* always */ 26#define DIVREM_1_UNNORM_THRESHOLD 5 27#define MOD_1_NORM_THRESHOLD 0 /* always */ 28#define MOD_1_UNNORM_THRESHOLD 3 29#define MOD_1N_TO_MOD_1_1_THRESHOLD 13 30#define MOD_1U_TO_MOD_1_1_THRESHOLD 6 31#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 /* never mpn_mod_1_1p */ 32#define MOD_1_2_TO_MOD_1_4_THRESHOLD 35 33#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 21 34#define USE_PREINV_DIVREM_1 1 35#define DIVREM_2_THRESHOLD 0 /* always */ 36#define DIVEXACT_1_THRESHOLD 0 /* always */ 37#define BMOD_1_TO_MOD_1_THRESHOLD 30 38 39#define MUL_TOOM22_THRESHOLD 22 40#define MUL_TOOM33_THRESHOLD 89 41#define MUL_TOOM44_THRESHOLD 202 42#define MUL_TOOM6H_THRESHOLD 270 43#define MUL_TOOM8H_THRESHOLD 406 44 45#define MUL_TOOM32_TO_TOOM43_THRESHOLD 129 46#define MUL_TOOM32_TO_TOOM53_THRESHOLD 139 47#define MUL_TOOM42_TO_TOOM53_THRESHOLD 127 48#define MUL_TOOM42_TO_TOOM63_THRESHOLD 113 49 50#define SQR_BASECASE_THRESHOLD 8 51#define SQR_TOOM2_THRESHOLD 52 52#define SQR_TOOM3_THRESHOLD 125 53#define SQR_TOOM4_THRESHOLD 226 54#define SQR_TOOM6_THRESHOLD 306 55#define SQR_TOOM8_THRESHOLD 430 56 57#define MULMOD_BNM1_THRESHOLD 13 58#define SQRMOD_BNM1_THRESHOLD 17 59 60#define MUL_FFT_MODF_THRESHOLD 308 /* k = 5 */ 61#define MUL_FFT_TABLE3 \ 62 { { 308, 5}, { 17, 6}, { 9, 5}, { 19, 6}, \ 63 { 17, 7}, { 9, 6}, { 20, 7}, { 11, 6}, \ 64 { 23, 7}, { 13, 8}, { 7, 7}, { 15, 6}, \ 65 { 31, 7}, { 19, 8}, { 11, 7}, { 27, 9}, \ 66 { 7, 8}, { 15, 7}, { 33, 8}, { 19, 7}, \ 67 { 39, 8}, { 23, 7}, { 47, 8}, { 27, 9}, \ 68 { 15, 8}, { 39, 9}, { 23, 8}, { 47,10}, \ 69 { 15, 9}, { 31, 8}, { 63, 9}, { 39, 8}, \ 70 { 83, 9}, { 47,10}, { 31, 9}, { 79,10}, \ 71 { 47,11}, { 2048,12}, { 4096,13}, { 8192,14}, \ 72 { 16384,15}, { 32768,16} } 73#define MUL_FFT_TABLE3_SIZE 42 74#define MUL_FFT_THRESHOLD 3520 75 76#define SQR_FFT_MODF_THRESHOLD 276 /* k = 5 */ 77#define SQR_FFT_TABLE3 \ 78 { { 276, 5}, { 19, 6}, { 17, 7}, { 9, 6}, \ 79 { 20, 7}, { 11, 6}, { 23, 7}, { 19, 8}, \ 80 { 11, 7}, { 27, 8}, { 15, 7}, { 33, 8}, \ 81 { 19, 7}, { 39, 8}, { 23, 7}, { 47, 8}, \ 82 { 27, 9}, { 15, 8}, { 39, 9}, { 23, 8}, \ 83 { 47,10}, { 15, 9}, { 31, 8}, { 63, 9}, \ 84 { 39, 8}, { 79, 9}, { 47,10}, { 31, 9}, \ 85 { 79,10}, { 47,11}, { 2048,12}, { 4096,13}, \ 86 { 8192,14}, { 16384,15}, { 32768,16} } 87#define SQR_FFT_TABLE3_SIZE 35 88#define SQR_FFT_THRESHOLD 2688 89 90#define MULLO_BASECASE_THRESHOLD 0 /* always */ 91#define MULLO_DC_THRESHOLD 54 92#define MULLO_MUL_N_THRESHOLD 6633 93 94#define DC_DIV_QR_THRESHOLD 52 95#define DC_DIVAPPR_Q_THRESHOLD 185 96#define DC_BDIV_QR_THRESHOLD 53 97#define DC_BDIV_Q_THRESHOLD 122 98 99#define INV_MULMOD_BNM1_THRESHOLD 29 100#define INV_NEWTON_THRESHOLD 260 101#define INV_APPR_THRESHOLD 220 102 103#define BINV_NEWTON_THRESHOLD 230 104#define REDC_1_TO_REDC_N_THRESHOLD 56 105 106#define MU_DIV_QR_THRESHOLD 1142 107#define MU_DIVAPPR_Q_THRESHOLD 1234 108#define MUPI_DIV_QR_THRESHOLD 114 109#define MU_BDIV_QR_THRESHOLD 792 110#define MU_BDIV_Q_THRESHOLD 1099 111 112#define MATRIX22_STRASSEN_THRESHOLD 15 113#define HGCD_THRESHOLD 151 114#define GCD_DC_THRESHOLD 599 115#define GCDEXT_DC_THRESHOLD 460 116#define JACOBI_BASE_METHOD 2 117 118#define GET_STR_DC_THRESHOLD 15 119#define GET_STR_PRECOMPUTE_THRESHOLD 35 120#define SET_STR_DC_THRESHOLD 915 121#define SET_STR_PRECOMPUTE_THRESHOLD 1670 122