📄 gmp-mparam.h
字号:
/* Fat binary x86 gmp-mparam.h -- Compiler/machine parameter header file.Copyright 1991, 1993, 1994, 2000, 2001, 2002, 2003 Free Software Foundation,Inc.This file is part of the GNU MP Library.The GNU MP Library is free software; you can redistribute it and/or modifyit under the terms of the GNU Lesser General Public License as published bythe Free Software Foundation; either version 3 of the License, or (at youroption) any later version.The GNU MP Library is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITYor FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General PublicLicense for more details.You should have received a copy of the GNU Lesser General Public Licensealong with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */#define BITS_PER_MP_LIMB 32#define BYTES_PER_MP_LIMB 4/* mpn_divexact_1 is faster than mpn_divrem_1 at all sizes. The only time this might not be true currently is for actual 80386 and 80486 chips, where mpn/x86/dive_1.asm might be slower than mpn/x86/divrem_1.asm, but that's not worth worrying about. */#define DIVEXACT_1_THRESHOLD 0/* Only some of the x86s have an mpn_preinv_divrem_1, but we set USE_PREINV_DIVREM_1 so that all callers use it, and then let the __gmpn_cpuvec pointer go to plain mpn_divrem_1 if there's not an actual preinv. */#define USE_PREINV_DIVREM_1 1/* mpn_sqr_basecase is faster than mpn_mul_basecase at all sizes, no need for mpn_sqr_n to call the latter. */#define SQR_BASECASE_THRESHOLD 0/* Sensible fallbacks for these, when not taken from a cpu-specific gmp-mparam.h. */#define MUL_KARATSUBA_THRESHOLD 20#define MUL_TOOM3_THRESHOLD 130#define SQR_KARATSUBA_THRESHOLD 30#define SQR_TOOM3_THRESHOLD 200/* These are values more or less in the middle of what the typical x86 chips come out as. For a fat binary it's necessary to have values for these, since the defaults for MUL_FFT_TABLE and SQR_FFT_TABLE otherwise come out as non-constant array initializers. FIXME: Perhaps these should be done in the cpuvec structure like other thresholds. */#define MUL_FFT_TABLE { 464, 928, 1920, 3584, 10240, 40960, 0 }#define MUL_FFT_MODF_THRESHOLD 400#define MUL_FFT_THRESHOLD 2000#define SQR_FFT_TABLE { 528, 1184, 1920, 4608, 14336, 40960, 0 }#define SQR_FFT_MODF_THRESHOLD 500#define SQR_FFT_THRESHOLD 3000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -