MPAライブラリ ヘッダー(定数)



[ 簡単な説明 ]

MPAライブラリ中で使用する各種定数(π、e等19種類)のMPA型での定義を行うサブ・ヘッダー。
MPA 型構造体を static として定義する。

階乗計算(m_kaijo( ))での最大引数値を _MAX_KAIJO として定義しておく。

プログラム・ソース("mpa_v.h")           top (トップに戻る)
/*		mpa_v.h		values of mpa		*/
#ifndef		_MPA_VF

#define		_MPA_VF

static MPA _E = {
	    1,		/* sign */
	    0,		/* exp */
	    0,		/* zero */
	    2,23536,21592,20829,21158,22011,17762,  313,29939,25521,
	14789,16871, 2893,21173, 7699,12808,20880,26615,19603,20199,
	 2342,26591, 6098,32539, 3468, 6379,22774,16601,  171,22668,
	 6061, 7928,31575,11258,25953, 4633,32071,27616,26349, 1067,
	 3477,10875,27930,31194,21956,27599,30076,18860,24892, 6369,
	24806,17851,30889,20795,12094,32579,18551,25265, 8502,22259,
	19788, 5529, 9460,16851,26090,30741,12674,22930,16088,14881,
	 2708,23958, 9103,30578,27354,23472,13821, 3331,21748, 5406,
	30949, 7145,11862,30451,22748,22371, 4272,15678, 9144, 5338,
	28830,  382,14451,16124,11980,  416, 4916,20584,12129,18617,
	16293};

static MPA _PI = {
	    1,		/* sign */
	    0,		/* exp */
	    0,		/* zero */
	    3, 4639,23202, 4276,12429, 6296,26152,23558,28787, 8786,
	  590, 1093, 6643, 3712, 8379,30001,27726,13892,20810, 1084,
	25485,  155,24313,10445,20276,29830, 6960, 5509, 7036,19426,
	17268,32521,21941,23203,16965,29250,27997,19531,26604,14242,
	12555,21324,14317,13701,32727, 5854,16491,16239,14561,22518,
	23177,20434,27559,25730, 6084,22783, 6436,20684,20972,29229,
	20336,16399,19338, 2845,31766,12724,18486, 3626,29926,19746,
	25594,18409, 4925,16134,25949, 4590,10475,12995,17967, 6833,
	  533, 9591, 7893, 5251,23589,21197,22128,25002,14634,31024,
	 1265,14902,  562,17156, 6083, 5250,31000,23661,20027,29135,
	 7623};

static MPA _2_PI = {
	    1,		/* sign */
	    0,		/* exp */
	    0,		/* zero */
	    6, 9279,13636, 8552,24858,12593,19537,14349,24806,17572,
	 1180, 2186,13286, 7424,16759,27235,22684,27785, 8852, 2169,
	18202,  311,15858,20891, 7785,26892,13920,11018,14073, 6085,
	 1769,32275,11115,13639, 1163,25733,23227, 6295,20440,28484,
	25111, 9880,28634,27403,32686,11709,  214,32478,29123,12269,
	13587, 8101,22351,18692,12169,12798,12873, 8601, 9177,25691,
	 7905,   31, 5908, 5691,30764,25449, 4204, 7253,27085, 6725,
	18421, 4050, 9850,32269,19130, 9180,20950,25991, 3166,13666,
	 1066,19182,15786,10503,14411, 9627,11489,17236,29269,29280,
	 2530,29804, 1125, 1544,12166,10501,29233,14555, 7287,25502,
	15246};

static MPA _PI_2 = {
	    1,		/* sign */
	    0,		/* exp */
	    0,		/* zero */
	    1,18703,27985, 2138, 6214,19532,13076,11779,14393,20777,
	  295,  546,19705,18240, 4189,31384,30247, 6946,10405,  542,
	12742,16461,28540,21606,26522,14915, 3480, 2754,19902, 9713,
	 8634,16260,27354,27985,24866,31009,13998,26149,29686, 7121,
	 6277,27046, 7158,23234,32747,19311, 8245,24503,23664,27643,
	11588,26601,13779,29249, 3042,11391,19602,10342,10486,14614,
	26552, 8199,26053, 1422,32267, 6362, 9243, 1813,14963, 9873,
	12797, 9204,18846,24451,12974,18679, 5237,22881,25367,19800,
	16650,21179,20330,19009,28178,26982,27448,12501, 7317,15512,
	  632,23835,  281, 8578, 3041,19009,15500,11830,26397,30951,
	20196};

static MPA _PI_4 = {
	    1,		/* sign */
	   -1,		/* exp */
	    0,		/* zero */
	25735,30376,17453, 3107, 9766, 6538, 5889,23580,26772,16531,
	16657, 9852,25504, 2094,32076,15123,19857, 5202,16655, 6371,
	 8230,30654,10803,13261, 7457,18124, 1377, 9951, 4856,20701,
	 8130,13677,13992,28817,15504,23383,13074,31227, 3560,19522,
	29907, 3579,11617,16373,26039,20506,28635,28216,13821,22178,
	13300,23273,31008,17905, 5695,26185, 5171, 5243, 7307,13276,
	 4099,29410,17095,16133,19565, 4621,17290,23865,21320,22782,
	20986, 9423,12225,22871, 9339,19002,27824,29067,26284, 8325,
	10589,26549, 9504,30473,13491,13724, 6250,20042,24140,  316,
	11917,16524,20673, 1520,25888,24134, 5915,13198,31859,26481,
	24577};

static MPA _SQRT3 = {
	    1,		/* sign */
	    0,		/* exp */
	    0,		/* zero */
	    1,23987,27553,12441,10867,22827,20661,24817,14395,17554,
	30221, 6538,15780,15558, 7298,19600,28229,21361, 4674,31227,
	 5615, 2797,30374, 9749,11794, 4423,25075, 2462, 9434, 7439,
	12707, 8602,13216, 3436,26848,30524, 4654,12444,12523,19900,
	24286, 7658, 2925,26115,14015,10909,15852, 5114,28350,31133,
	 9895,31918,29332, 4985,17302, 4693,13682,16566,13247, 2835,
	 4949,31736,18191,17566,14184,21219,29412, 6826,12325,  751,
	16467, 3605,23326,24797,15715,24840,17212, 1707, 6746,16499,
	22882,27681,20581, 5462, 5709,12823,23992,22814,32190,27429,
	20086,23135, 8055, 4963, 9411, 2362,18687,26337, 1093, 5336,
	14003};

static MPA _SQRT2 = {
	    1,		/* sign */
	    0,		/* exp */
	    0,		/* zero */
	    1,13572,31129,32375,19600,17815,27725,19925, 5501, 7965,
	14256,11938,10101, 1230,26813,12822, 1639, 6421, 9598, 8385,
	 1879, 2604, 7493,18425,24505,  987, 7303,23850, 3016,14791,
	23123,24594, 3692,15866, 5044,13448, 1488,29738,30970,14668,
	 2872,24593,24089,24306,22071,18705,13378, 5673, 3093,15474,
	 6078, 5004,30938,23178, 7261,24487,14742,10851, 8600,31986,
	 2494,21233, 4220, 3513,12381,27300,20548,25616, 6473,10259,
	19029,23395,31261,32244,27088, 2874,31015,24772, 4902,27379,
	10833,13905,23655,19718,28144, 9068,14344, 4976, 1020,12853,
	 6041,19095,21487,15777,30207,23174,31871,18978, 2435,30632,
	 3144};

static MPA _1_SQRT2 = {
	    1,		/* sign */
	   -1,		/* exp */
	    0,		/* zero */
	23170,15564,32571,26184, 8907,30246,26346,19134,20366,23512,
	 5969, 5050,16999,13406,22795,  819,19594,21183, 4192,17323,
	17686, 3746,25596,28636,16877,20035,28309, 1508, 7395,27945,
	28681, 1846, 7933, 2522, 6724,  744,14869,15485, 7334, 1436,
	12296,28428,28537,11035,25736,23073, 2836,17930,24121, 3039,
	 2502,15469,11589, 3630,28627,23755, 5425,20684,15993, 1247,
	10616,18494, 1756,22574,30034,10274,12808, 3236,21513,25898,
	28081,32014,32506,13544, 1437,15507,28770, 2451,13689,21800,
	23336,28211,26243,14072, 4534, 7172, 2488,  510, 6426,19404,
	25931,27127,24272,31487,27971,15935,25873, 1217,31700, 1572,
	    0};

static MPA _LN2 = {
	    1,		/* sign */
	   -1,		/* exp */
	    0,		/* zero */
	22713, 1533,31289,30618,24143, 3790,12295,29430,22432,15568,
	25806,10635,12652,10292,11959, 2986,32021,31214, 3780, 1758,
	23908,24918,10917,31562,32013,17467, 9685,25436, 2497, 1296,
	20142,15145, 2228,28169,10194,27809,12562,11171, 2613,19418,
	 2200,24334, 4055, 7849,24093,17625,16502, 9583,20598, 7573,
	32489,14124,29757,18037,19089,19189,28627,12110, 1542, 9350,
	11005, 1564,24129,25506,27926,26097, 8679,32092,12351,21288,
	 9206,23547,18480,17228, 7953,32341, 3351,14682,15067,31774,
	32010,24395,17531,24896, 1436,22621, 3086,30171,17608,14706,
	10364,29483, 9166,13519, 6552,20069,18889,21587, 2435, 8672,
	24205};

static MPA _LN10 = {
	    1,		/* sign */
	    0,		/* exp */
	    0,		/* zero */
	    2, 9915, 3549,21844,11013,23882,28002,23574,19496,20933,
	 4076,31981, 6014, 8656,15457,29712, 1984,23269, 5679,  363,
	27754,  523,19655, 1630,  177,15898,26668,12562, 1552, 8572,
	11695,23675,25104, 1482, 5846,15382,15912,20817,18705,29618,
	27291, 1889,22577,32247,22963,22025,11068,14290,17798,30355,
	21017,25565,29337,30315,12854,  644, 5690, 9837, 3396,15438,
	 5078,24854, 1405,12143, 2109, 3389, 9614,18818,31328,15432,
	30972,21865,27578,12601,21940, 5941, 2501,17204,18412,22836,
	24113,15007,23325, 5237, 5621, 8120, 3648,24478,12408,10276,
	27205,15150,14217,20583, 7615, 9213, 9655,22094, 4192,22468,
	 4635};

static MPA _LNRADIX = {
	    1,		/* sign */
	    0,		/* exp */
	    0,		/* zero */
	   10,13015,23009,10597,  529, 1698,24087,20598,15476, 8807,
	 4155,26646,28458,25944,23313,15546,12036,21577, 9459,23932,
	26380,30951,13326,32697,14692,21450,32633,14214,21093, 4687,
	19449, 7224,30568,  664,29323,21850,23924,24595, 3726, 6435,
	29127,  243, 4563,28060,19442,  955, 2238,18158,12682,14061,
	15305,28589,15265,20379, 8419,24199,25704, 3426,17810,23134,
	 9183, 1235,23471, 1498,22154,25685,31010,31895,22633,21434,
	24412, 7028,25533,15063,29047,21005,26364,17503,23628,29411,
	17872,21409, 5485,  832,12992,21550,11636,13535,26589, 1982,
	23986,24401,16265, 6424, 6179,32753, 6131,21200,28894, 3760,
	31787};

static MPA _LOG10_2 = {
	    1,		/* sign */
	   -1,		/* exp */
	    0,		/* zero */
	 9864, 4944,20412,32700,25150, 4787,11275,15944,24073,21926,
	 3156, 7823,19750, 5308,28454,23526, 6386,25869, 8920, 3212,
	32431, 8508,23740,14746, 7279, 8786, 5235, 9389,17966, 9276,
	22709, 5114,18772,23129,17912, 7151,14345,10937,15516,30952,
	25649,  192,11869, 4961, 7359,15586,  756,30152,17574,25266,
	11677,24612,13818,19261,12627,27653,16908,30898,16811,16651,
	10457,30466,15604,25725,30650,17966,31887,17509,11007,28673,
	 8538,27699,22356,13473,16244, 6834,27505, 8754,11245,12074,
	21096,20692,21790, 2589,26595,16788,  205, 4208,22415, 5090,
	15180,21586, 7789,17898,26090,15916,14934,14265,25522,19257,
	23490};

static MPA _LOG10_3 = {
	    1,		/* sign */
	   -1,		/* exp */
	    0,		/* zero */
	15634,10134,10218,32578, 6240,13370,16653, 2311,12738, 5574,
	22112,28094,28847, 7919,12990,10717,24216,27206,16190, 3626,
	 5157,14593,   75,17134,  478,13272,29969,12380,29797, 3174,
	15412, 3543,27158, 3225,20070, 2701, 7420, 8274,30940,17583,
	28042,10127, 5460,25587,21840,30275,17686,15558,10906,28797,
	 1542,17096, 6179,13211, 6994,  926,28519,13106, 2145, 7026,
	 1613,13493,19277,13285, 6611, 7068,12723,10477, 7065,25566,
	 8730,20571,13006,10681,10697, 1301,31741,15151,22661, 1341,
	31125,23694,22885,11039,21955,22672, 1882,  478, 2726,25437,
	15389,22059,31857,32322,26066,28876, 2118, 5257,25522,27684,
	14926};

static MPA _G = {
	    1,		/* sign */
	    0,		/* exp */
	    0,		/* zero */
	    1,27916, 8956, 4221,22918,16374, 5852,25834,26626,19784,
	 3418,17535,27079, 9014,30210,10345,26723,24208, 5810,17910,
	30725,31253, 2284,31390, 8328, 9853,31557,21134,29487,18302,
	12090, 8455,30674,29894,30725,28178,15518, 7780,  179, 4761,
	29825,20039,17822, 6812,30219,14112,10274,17477, 7835, 5205,
	11821,32436,32463,18836,31038,24419,21425, 8187, 6154,26570,
	19583,20812,16555,27375,12529, 7705,27350,27464, 6561, 2529,
	13254,23754,17092,11300,  695, 4204, 7867,  718, 8737, 2109,
	 9032,14616,12558, 9649,10586,26472,19403, 4737, 1234,22581,
	 4242, 4895, 2265,14139,18727, 6541,16158,22938,21457, 4187,
	23087};

static MPA _MAX_M_EXP = {
	    1,		/* sign */
	    1,		/* exp */
	    0,		/* zero */
	    5, 6507,27886,21682,16647,28156, 1120,24498,23029,19071,
	 4730,10878,27440,14400,11164,27097,17625,12888,25999, 9959,
	14131,29546,27019,30141, 7010,   58,13645,20128,23318, 2503,
	 6013,17957, 7064,11748,31953,16579, 5043,25005,31358, 2805,
	 1854,28817,11603,11331,29116,28970, 6240,32238, 1065, 7069,
	18017,10124,11640,24455,29962,21684,18635,20188, 8746,15036,
	 4590, 1724,15954, 1875, 8948,20171,25366,25984,23379,11044,
	 1019,29427,13992,26057, 5293,22502,15237, 9144,15549,28827,
	24417,11812, 9279, 6229,  343,17125,12907,13300,12373,16482,
	22878,30969, 5252,23911,18225,11726, 9341,15994, 4025,27566,
	24727};

static MPA _MAX_M_10 = {
	    1,		/* sign */
	    1,		/* exp */
	    0,		/* zero */
	    2, 8445, 4315,26331,18397, 5341,24004, 4813, 7047,28564,
	 9557,25791,  459,26687,10808,29414, 2881,16789,30224,16484,
	19760,10710, 3630,26276, 7572,27898,27452,29235,24148,  594,
	26016,27490,16785,24725,27644,27438, 6285,30706, 2023,16890,
	 4838,  720, 2966,11632,30523,14952, 8404, 1004,18957,16757,
	23633,27691, 6721, 9487,26246,24683,22545, 6252,14799,23480,
	15964,19530, 2550,13997, 2785,29350,15871, 8251,30373, 7085,
	27363,21011,28029,30290,29485, 5927, 3273,15266,20599,19298,
	 2786,31207, 6678,15676, 6289, 4166,27612,26766,16489,25898,
	21550, 7850, 6235,20430, 6254,22674,31498,10718, 5888,25509,
	18965};

static MPA _MMAX = {
            1,          /* sign */
        16383,          /* exp */
            0,          /* zero */
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767};

static MPA _M0 = {
            1,          /* sign */
            0,          /* exp */
            1,          /* zero */
            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,    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,    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,    0,    0,    0,
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
            0};

static MPA _M1 = {
            1,          /* sign */
            0,          /* exp */
            0,          /* zero */
            1,    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,
            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,    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,    0,    0,
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
            0};

static UINT _MAX_KAIJO = 19219;

#endif