diff options
Diffstat (limited to 'Build/source/libs/mpfr/mpfr-src/src/x86/mparam.h')
-rw-r--r-- | Build/source/libs/mpfr/mpfr-src/src/x86/mparam.h | 233 |
1 files changed, 233 insertions, 0 deletions
diff --git a/Build/source/libs/mpfr/mpfr-src/src/x86/mparam.h b/Build/source/libs/mpfr/mpfr-src/src/x86/mparam.h new file mode 100644 index 00000000000..6f5f4917503 --- /dev/null +++ b/Build/source/libs/mpfr/mpfr-src/src/x86/mparam.h @@ -0,0 +1,233 @@ +/* Various Thresholds of MPFR, not exported. -*- mode: C -*- + +Copyright 2005-2015 Free Software Foundation, Inc. + +This file is part of the GNU MPFR Library. + +The GNU MPFR Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The GNU MPFR Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see +http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc., +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Generated by MPFR's tuneup.c, 2011-07-31, gcc 4.4.2 */ +/* contributed by Jim Cloos <cloos at jhcloos dot com> with GMP 5.0.2 on a + Pentium3-M, where __i386, __i686, __pentiumpro are defined */ + +#define MPFR_MULHIGH_TAB \ + -1,0,-1,-1,-1,-1,-1,-1,-1,7,8,9,10,0,0,0, \ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \ + 0,0,0,0,0,0,0,0,0,0,28,30,30,30,30,32, \ + 32,32,34,34,34,32,34,34,34,36,36,36,36,40,40,40, \ + 42,44,48,48,48,48,48,48,48,48,48,52,52,52,52,52, \ + 52,52,56,56,60,56,60,60,60,60,60,64,64,64,64,64, \ + 64,64,64,64,64,64,68,64,64,68,68,68,68,72,72,81, \ + 81,80,81,81,87,87,87,87,87,87,87,87,87,87,93,87, \ + 93,93,93,93,93,93,93,93,99,99,93,93,93,92,93,99, \ + 99,99,99,99,99,99,99,99,105,105,99,105,105,104,105,105, \ + 105,105,111,117,117,117,117,117,117,117,117,117,117,117,117,117, \ + 123,123,123,123,141,141,141,141,141,141,141,141,141,141,141,141, \ + 141,141,141,141,141,141,141,141,141,153,153,153,153,153,153,153, \ + 153,153,153,153,153,165,165,165,153,165,165,165,165,165,165,165, \ + 165,165,165,165,165,177,177,165,177,177,177,177,165,177,177,177, \ + 177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177, \ + 177,177,189,204,189,204,204,204,204,204,204,189,204,189,204,204, \ + 204,204,204,204,204,204,204,204,203,204,204,204,204,204,204,204, \ + 220,204,220,220,220,220,220,220,220,220,220,220,220,220,220,220, \ + 236,220,236,236,236,236,236,235,236,235,236,236,236,236,235,236, \ + 236,236,236,236,236,236,236,236,236,252,252,252,252,252,252,252, \ + 252,252,252,252,252,252,252,252,282,282,282,282,282,282,282,282, \ + 282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282, \ + 282,282,282,282,282,282,282,306,306,282,306,306,306,306,306,306, \ + 306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306, \ + 306,306,306,306,306,330,330,330,329,330,330,330,330,330,330,330, \ + 330,330,330,330,330,330,330,330,330,330,330,330,330,330,354,354, \ + 354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354, \ + 354,354,354,354,354,354,354,354,354,378,378,378,378,378,378,378, \ + 378,377,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \ + 408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408, \ + 408,408,408,408,408,408,407,408,407,408,408,407,408,408,408,408, \ + 408,408,439,408,440,440,439,440,440,440,440,439,440,440,439,440, \ + 439,440,439,440,439,439,440,440,440,440,439,440,439,440,439,440, \ + 440,440,439,439,440,440,472,440,472,439,440,439,440,440,440,472, \ + 472,472,469,471,471,472,471,471,472,471,470,470,472,472,471,472, \ + 472,504,504,463,471,455,438,501,462,497,501,503,459,471,451,467, \ + 448,501,503,485,504,453,469,470,503,472,496,496,480,467,504,460, \ + 504,488,488,532,535,497,480,470,504,497,504,492,497,498,536,468, \ + 504,510,519,528,500,500,495,504,504,504,504,534,504,504,498,504, \ + 504,511,504,504,504,503,504,563,504,511,504,504,504,504,504,504, \ + 504,504,533,504,536,536,536,533,536,536,536,536,536,536,536,536, \ + 536,536,536,536,536,536,536,536,536,536,536,536,536,536,566,536, \ + 536,536,536,568,568,568,568,568,568,568,568,568,568,568,568,568, \ + 568,568,568,568,568,568,568,568,568,568,568,568,568,568,592,592, \ + 592,592,592,592,592,592,592,592,640,592,640,592,640,639,640,640, \ + 640,640,640,639,640,639,640,640,640,639,640,640,640,640,640,640, \ + 640,640,640,640,640,640,640,640,640,640,640,640,640,640,640,640, \ + 639,640,639,639,688,688,688,639,640,639,640,640,640,687,688,688, \ + 688,687,687,688,688,688,688,688,688,688,688,687,688,736,688,688, \ + 688,687,636,688,688,688,688,688,688,688,688,688,688,688,688,688, \ + 688,688,688,688,688,688,688,688,688,688,687,688,688,688,688,688, \ + 688,688,688,688,688,688,688,688,688,688,688,688,736,736,736,736, \ + 736,736,736,736,736,736,736,736,688,735,736,736,736,736,736,736, \ + 736,736,736,736,736,736,736,736,736,736,736,735,736,735,736,736, \ + 736,735,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \ + 736,736,736,736,736,736,736,735,736,736,736,736,736,736,736,736, \ + 736,736,736,736,784,736,784,784,736,736,736,736,736,736,736,736, \ + 736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \ + 784,736,784,784,784,784,784,784,736,784,736,784,784,784,784,736, \ + 784,783,784,784,784,784,784,784,784,784,784,784,784,784,784,784, \ + 784,784,784,784,784,784,784,784,784,784,784,832,784,784,784,784, \ + 832,784,832,831,832,831,832,832,832,832,832,784,784,784,784,784, \ + 832,784,832,784,832,832,832,832,832,832,832,832,832,832,832,832 \ + +#define MPFR_SQRHIGH_TAB \ + -1,0,0,-1,-1,-1,-1,5,6,6,7,7,8,8,9,9, \ + 10,11,12,11,12,13,14,13,14,15,16,15,16,16,17,17, \ + 18,19,19,19,20,20,21,22,23,22,23,24,25,24,25,26, \ + 27,26,27,27,28,28,29,29,30,31,32,31,32,32,33,34, \ + 35,34,35,36,36,38,38,38,39,40,40,40,41,41,41,41, \ + 42,43,44,44,48,48,48,48,48,50,52,50,52,52,54,54, \ + 56,56,58,54,54,54,56,56,56,56,58,58,60,60,62,64, \ + 64,64,62,62,64,64,64,64,64,66,66,68,68,70,68,72, \ + 70,72,74,72,74,72,72,72,74,74,76,72,72,72,74,74, \ + 76,76,76,76,78,78,78,80,80,80,80,80,80,80,87,90, \ + 87,90,90,93,93,90,90,90,90,93,93,93,90,96,96,93, \ + 96,96,96,96,96,93,99,96,102,99,99,99,96,102,102,102, \ + 108,102,105,105,105,108,111,111,108,111,111,111,111,111,111,117, \ + 114,117,114,117,117,120,120,120,120,120,120,120,123,126,126,126, \ + 126,129,129,129,129,129,132,132,132,135,135,135,141,141,141,141, \ + 141,141,148,148,148,152,148,152,152,148,152,156,156,156,156,156, \ + 160,135,141,152,141,141,141,141,141,141,141,141,141,141,141,141, \ + 141,141,152,141,156,152,156,156,160,160,160,152,160,156,156,156, \ + 160,160,156,168,160,168,164,164,168,160,168,176,172,168,168,172, \ + 172,172,176,176,188,176,176,172,188,188,188,188,188,187,188,188, \ + 188,188,188,188,196,188,196,196,196,196,196,204,204,204,204,204, \ + 204,204,204,212,212,212,212,212,212,212,212,220,220,220,220,220, \ + 220,220,220,219,220,220,220,228,220,228,220,220,228,228,220,220, \ + 220,236,236,228,228,236,228,236,228,244,244,228,244,244,236,236, \ + 258,236,258,258,258,258,258,258,258,264,258,264,264,264,264,264, \ + 264,264,264,264,264,258,264,258,264,282,258,264,282,282,282,282, \ + 282,264,264,282,282,276,264,264,282,294,282,282,282,282,282,282, \ + 282,282,282,282,282,282,282,282,282,282,282,282,294,282,282,282, \ + 282,282,282,306,282,282,306,306,282,306,306,306,306,318,306,318, \ + 318,318,318,318,318,318,318,318,318,318,318,330,330,318,318,318, \ + 330,318,318,330,330,318,318,318,318,318,318,330,342,330,330,330, \ + 330,330,330,330,330,330,330,330,330,318,330,318,318,342,342,318, \ + 342,318,318,342,318,330,330,330,330,330,318,330,330,318,330,318, \ + 342,330,342,342,342,342,342,342,342,330,342,342,330,342,342,342, \ + 342,354,342,342,342,342,342,342,342,354,342,342,354,354,354,342, \ + 354,354,354,354,354,354,354,378,366,366,366,366,378,366,366,366, \ + 378,408,366,378,378,378,378,378,378,378,378,378,378,424,424,424, \ + 424,424,424,424,424,408,408,408,408,408,408,408,408,408,408,408, \ + 408,408,424,424,408,424,408,424,424,408,408,424,424,424,424,424, \ + 424,424,424,424,424,424,408,424,424,424,424,424,440,424,440,424, \ + 424,440,424,424,424,424,440,440,440,440,424,424,440,440,424,424, \ + 424,424,440,424,440,456,456,424,440,440,440,440,456,424,424,424, \ + 440,440,456,440,472,456,440,440,472,440,456,440,440,440,456,440, \ + 440,440,456,456,456,472,471,472,456,472,440,472,488,488,455,455, \ + 456,456,488,456,472,488,504,472,456,504,488,488,456,472,472,471, \ + 472,502,472,472,496,488,487,503,456,504,504,503,504,456,456,487, \ + 488,488,504,488,487,504,503,503,504,504,503,503,503,504,502,503, \ + 502,504,519,501,504,551,502,520,520,488,504,479,517,503,488,463, \ + 472,456,504,503,487,519,552,534,485,480,486,502,499,552,504,534, \ + 486,440,504,511,512,533,516,472,536,567,534,494,519,440,542,534, \ + 528,592,468,536,516,485,472,583,550,509,537,471,493,533,526,446, \ + 558,498,499,495,487,571,500,544,471,583,545,530,470,566,520,536, \ + 558,463,504,544,534,494,520,542,522,520,552,520,514,483,434,607, \ + 566,538,536,552,486,607,623,606,520,453,588,476,614,497,472,504, \ + 504,566,552,504,504,504,504,504,504,504,504,504,504,552,520,504, \ + 520,520,520,504,520,520,504,520,536,520,520,536,536,536,536,536, \ + 536,536,536,586,536,536,520,555,504,565,520,552,536,552,552,552, \ + 552,552,552,552,552,552,552,552,552,552,552,552,552,552,568,552, \ + 568,552,568,568,568,568,559,560,568,552,552,568,568,552,568,584, \ + 552,552,552,552,552,552,568,568,552,568,568,552,568,568,552,552, \ + 584,568,568,568,568,568,568,568,568,568,552,568,584,584,568,552, \ + 584,584,584,584,584,584,584,568,568,568,568,616,568,568,616,568, \ + 600,584,600,600,600,632,616,600,584,616,616,632,632,584,632,616, \ + 616,616,616,616,616,632,632,616,616,632,632,616,616,632,616,616 \ + +#define MPFR_DIVHIGH_TAB \ + 0,1,2,3,4,5,6,7,8,7,10,9,10,11,12,13, \ + 14,15,16,17,18,16,14,16,16,19,19,18,20,19,20,18, \ + 24,19,20,23,24,21,21,23,27,24,28,29,28,28,28,28, \ + 31,31,30,28,34,29,32,32,33,34,35,31,34,38,38,34, \ + 35,36,38,38,38,40,41,43,39,42,43,42,42,43,44,43, \ + 45,48,49,48,51,50,50,48,50,48,51,50,51,52,53,50, \ + 55,51,53,54,56,59,56,59,58,55,57,59,59,63,64,63, \ + 63,64,64,59,64,64,67,64,63,67,67,71,67,67,71,66, \ + 75,75,75,75,73,75,73,75,75,75,73,75,84,73,74,73, \ + 76,76,75,81,76,79,81,84,81,83,84,84,84,84,88,86, \ + 83,88,96,94,96,96,96,96,96,96,96,95,96,96,96,104, \ + 96,100,100,104,104,104,96,96,96,104,100,96,102,96,104,104, \ + 102,104,100,104,112,104,104,112,112,112,104,112,120,112,112,112, \ + 112,120,110,118,118,118,119,112,120,118,120,112,118,127,128,128, \ + 128,128,128,128,128,128,128,128,128,128,128,128,128,136,128,136, \ + 128,128,128,128,128,128,128,128,127,128,128,128,128,128,130,133, \ + 134,136,136,135,136,136,150,136,136,138,148,140,136,143,148,150, \ + 150,150,150,148,150,148,148,150,156,149,168,150,160,161,168,168, \ + 168,168,168,162,168,162,167,168,168,168,168,168,162,174,168,168, \ + 174,174,184,168,168,176,162,168,192,174,168,168,173,174,186,174, \ + 174,168,192,174,168,174,168,168,186,192,192,180,174,176,192,192, \ + 185,192,192,180,192,192,186,192,192,192,192,192,184,192,208,208, \ + 208,208,190,192,190,192,192,191,186,192,192,208,192,192,192,192, \ + 192,192,196,204,204,192,204,192,208,192,191,192,208,208,198,208, \ + 205,220,197,218,222,208,216,199,207,220,206,224,214,204,208,219, \ + 221,209,227,207,221,216,208,236,222,244,225,208,208,212,224,222, \ + 229,230,225,221,222,256,227,240,221,224,240,216,240,231,224,263, \ + 246,232,240,240,240,240,239,240,240,234,234,240,234,238,240,240, \ + 240,240,256,256,240,256,240,240,240,234,256,240,240,256,234,256, \ + 256,239,272,244,256,255,256,240,256,240,256,255,240,255,256,256, \ + 256,254,254,256,244,256,256,256,256,256,256,256,256,253,272,255, \ + 256,256,252,256,256,256,256,256,256,272,256,256,256,256,257,272, \ + 272,272,272,272,264,270,272,288,272,280,282,282,280,280,270,282, \ + 282,282,288,282,288,282,282,300,286,288,300,282,282,288,300,312, \ + 300,298,306,300,304,304,304,300,300,300,316,306,300,288,306,311, \ + 324,312,320,300,306,336,320,300,324,320,336,336,336,328,336,324, \ + 336,336,328,336,322,328,336,336,336,336,312,336,336,336,336,336, \ + 336,336,336,335,336,344,348,336,353,349,336,336,348,348,346,336, \ + 352,320,336,336,336,336,352,336,336,336,336,336,336,336,336,336, \ + 336,336,336,330,336,336,336,336,334,335,336,336,344,344,348,336, \ + 348,336,352,336,336,348,336,348,336,348,352,351,348,336,336,336, \ + 352,352,352,348,352,336,336,384,336,336,352,348,336,348,376,352, \ + 352,372,384,352,384,352,352,352,348,384,348,349,384,351,384,353, \ + 368,352,350,353,378,372,372,372,384,352,384,352,408,384,378,368, \ + 383,384,408,356,371,368,372,371,384,376,384,408,384,407,372,384, \ + 408,369,406,383,377,384,394,382,370,416,408,378,369,372,381,400, \ + 378,408,376,402,417,408,376,384,382,384,384,408,384,384,384,408, \ + 384,416,408,408,416,384,384,384,408,384,384,384,396,408,408,408, \ + 408,408,408,406,408,408,416,416,408,408,408,408,408,416,408,416, \ + 408,405,416,408,408,440,408,416,416,416,440,408,408,408,440,444, \ + 408,440,440,408,415,419,440,440,444,443,436,436,440,447,448,440, \ + 440,416,440,439,440,444,440,444,468,448,440,416,440,416,465,465, \ + 468,436,468,440,472,439,440,468,472,448,465,468,464,439,440,480, \ + 480,472,439,468,440,440,468,440,468,468,444,440,448,480,438,440, \ + 504,439,440,467,480,468,448,465,466,440,468,464,440,472,448,468, \ + 468,469,456,465,448,460,472,472,468,469,465,480,480,468,472,512, \ + 468,464,465,469,480,468,504,466,468,480,480,480,468,512,504,469, \ + 466,466,472,468,480,480,512,469,472,480,480,480,504,477,500,466, \ + 504,468,480,512,504,512,504,480,480,511,512,510,492,511,503,513, \ + 503,502,504,512,504,512,504,512,504,512,504,512,513,503,512,504, \ + 513,504,512,512,510,501,513,503,512,513,498,504,512,510,502,512, \ + 501,500,552,497,516,511,503,513,497,511,502,509,564,509,504,512, \ + 503,504,512,504,504,500,512,512,512,511,512,504,557,504,564,564, \ + 512,564,514,512,516,512,560,564,560,564,564,512,564,564,564,560 \ + +#define MPFR_MUL_THRESHOLD 15 /* limbs */ +#define MPFR_SQR_THRESHOLD 14 /* limbs */ +#define MPFR_DIV_THRESHOLD 27 /* limbs */ +#define MPFR_EXP_2_THRESHOLD 562 /* bits */ +#define MPFR_EXP_THRESHOLD 9671 /* bits */ +#define MPFR_SINCOS_THRESHOLD 30620 /* bits */ +#define MPFR_AI_THRESHOLD1 -28021 /* threshold for negative input of mpfr_ai */ +#define MPFR_AI_THRESHOLD2 2991 +#define MPFR_AI_THRESHOLD3 37474 +/* Tuneup completed successfully, took 6469 seconds */ |