Math Processor Unit Library

libmpu – library of arithmetic functions for integer, real, and complex numbers of increased digit capacity

16 Commits   0 Branches   2 Tags

#ifndef   __REAL_EINTERNAL_EXP_002_32MSB
#define   __REAL_EINTERNAL_EXP_002_32MSB

#if BITS_PER_EMUSHORT == 32

#define N_EXP_E256  31

static EMUSHORT _ei_exp__E_256_[N_EXP_E256][NPIR_256] =
{
/*   Sign        Exp         hgw         S i g n i f i c a n d                                                               lgw      */
/*  ==========  ==========  ==========  ==================================================================================  ==========*/
  { 0x00000000, 0x3fffff5c, 0x00000000, 0xa95dbc32, 0xb1fd7ee7, 0x04e778a1, 0x9613843c, 0xf8d826ce, 0x193f4b67, 0x3d6a2437, 0x00000000 }, /*  1.131689691548480707340794371656698718580112383440937594673121935301E-49 */
  { 0xffffffff, 0x3fffff61, 0x00000000, 0xee93f92d, 0x4c433029, 0x5b06aaed, 0x02755225, 0xd3045e71, 0xdb82ae27, 0x1c37ac75, 0x00000000 }, /* -5.101303318674127847687159917501199929079460088574100751808099390255E-48 */
  { 0x00000000, 0x3fffff67, 0x00000000, 0x945763f4, 0x7bd0b0e2, 0xc5dde6db, 0x34f67edd, 0x75836b9a, 0xba7f9ccf, 0x06237076, 0x00000000 }, /*  2.029985668895861470731368647842658308045320669593609775886778106010E-46 */
  { 0xffffffff, 0x3fffff6c, 0x00000000, 0xb7106de6, 0x823b40e2, 0xafd7103e, 0xd4b1bd14, 0x47d828da, 0xe1f63743, 0xa705ffe0, 0x00000000 }, /* -8.016485938414855476099222740477160642953684014243706269963722594411E-45 */
  { 0x00000000, 0x3fffff71, 0x00000000, 0xe1d91ba3, 0x2b843430, 0x43f1fa48, 0x7472d883, 0x8fa9ba3d, 0x8beae490, 0x2764d2a3, 0x00000000 }, /*  3.164805648202546910525571810907059989666122538652553478587322577785E-43 */
  { 0xffffffff, 0x3fffff77, 0x00000000, 0x8b5080df, 0xe6745e6c, 0x516ed1ed, 0x93bdd15d, 0xb5e5cab8, 0x407a627e, 0x61fc5318, 0x00000000 }, /* -1.249415346709328617247557259739947818440277190155437006515545766056E-41 */
  { 0x00000000, 0x3fffff7c, 0x00000000, 0xabdf514a, 0x82d2c332, 0xe9dad807, 0x015d2780, 0x506dc8b7, 0x47181a8a, 0x18deafc5, 0x00000000 }, /*  4.932494088369874684781950550496395215329553742708556325510807380388E-40 */
  { 0xffffffff, 0x3fffff81, 0x00000000, 0xd409fb75, 0x538be9ed, 0xb27835f6, 0x021abdbf, 0x2dc96e4e, 0x0c125f54, 0x5631316b, 0x00000000 }, /* -1.947270614529407744374641549525542804524669810487456113094845115786E-38 */
  { 0x00000000, 0x3fffff87, 0x00000000, 0x82cbdb0e, 0x5986ba7b, 0x0fbab207, 0xa3914a53, 0x987690d6, 0xb38c0b0f, 0xb0931913, 0x00000000 }, /*  7.687516250908382730899499740172502058355677663476552897601614949080E-37 */
  { 0xffffffff, 0x3fffff8c, 0x00000000, 0xa15d0d1a, 0x4dae9692, 0x8ac2f900, 0x04161c02, 0x1cb42528, 0xad9b071f, 0x461d014f, 0x00000000 }, /* -3.034909768936580537892935420162045799839150651496326886029150085622E-35 */
  { 0x00000000, 0x3fffff91, 0x00000000, 0xc712ffc9, 0x94232185, 0x5ff0b776, 0x124760a2, 0x84610a6d, 0x7a000239, 0x8ae4dec8, 0x00000000 }, /*  1.198134352496426860923146153279492191185405537989471861840692876949E-33 */
  { 0xffffffff, 0x3fffff96, 0x00000000, 0xf5991482, 0x3b0ff767, 0xbd6b4545, 0x3db7a86d, 0xe3b94154, 0x7c032d64, 0x6023c929, 0x00000000 }, /* -4.730044831401259869118074881784941827428624877703104982000026557586E-32 */
  { 0x00000000, 0x3fffff9c, 0x00000000, 0x977f46d9, 0xda56f633, 0xf168cf77, 0x01ed8fc7, 0x45edbb49, 0xa4a459c0, 0xce5c0d56, 0x00000000 }, /*  1.867346851419008934406509087177573276251401468432493237285627977837E-30 */
  { 0xffffffff, 0x3fffffa1, 0x00000000, 0xbae6f32b, 0x2ba53676, 0x30634bf2, 0x8715c3e7, 0xed4e6a8f, 0xf1613ce0, 0x7029a437, 0x00000000 }, /* -7.371989881330620356363564985258291834456770046091052535129260013583E-29 */
  { 0x00000000, 0x3fffffa6, 0x00000000, 0xe694cef2, 0x90db0d7f, 0x140f2fbf, 0x271c9a7d, 0xcfafd6f2, 0x6f70988d, 0xa10cec39, 0x00000000 }, /*  2.910344951229729803732529734663657951352535244531446131730886694949E-27 */
  { 0xffffffff, 0x3fffffac, 0x00000000, 0x8e3befcb, 0x6f1c57e2, 0x53a622f2, 0xccedb1c9, 0xa8eb2955, 0xc3bb25f7, 0xa02b8039, 0x00000000 }, /* -1.148958133774440489052776397521464906631866059228919727323621859836E-25 */
  { 0x00000000, 0x3fffffb1, 0x00000000, 0xaf796d26, 0x65136ad7, 0x3275bfba, 0x8ce45f2e, 0x680262ee, 0x6500ab21, 0x28038231, 0x00000000 }, /*  4.535904904675366120621901477736329011224725951350432988307549863651E-24 */
  { 0xffffffff, 0x3fffffb6, 0x00000000, 0xd87b96ac, 0xf8e0b3e6, 0x16e913f6, 0xcf2053fa, 0x6888deb3, 0x78b85033, 0xff55aa11, 0x00000000 }, /* -1.790703485407509370080522263622548205846826927274918731250852922036E-22 */
  { 0x00000000, 0x3fffffbc, 0x00000000, 0x858996be, 0x35683203, 0xa8a4d91c, 0xebb6a6c8, 0x77c70b77, 0xd6d67478, 0x274a1a9f, 0x00000000 }, /*  7.069414079258934943386459955607598429484899042451222784681346242631E-21 */
  { 0xffffffff, 0x3fffffc1, 0x00000000, 0xa4bec819, 0xd15ae370, 0x87e6555a, 0x6c876af6, 0x570c67d4, 0x954de31b, 0x0d92c812, 0x00000000 }, /* -2.790892937162504668141537252812709952783635188125082799889268649622E-19 */
  { 0x00000000, 0x3fffffc6, 0x00000000, 0xcb3f0f84, 0xe1bb77d8, 0x2b4adb04, 0x8eaa5e7b, 0x530b118b, 0x9038fde3, 0x7c9479da, 0x00000000 }, /*  1.101800565672045903040530521780450975572316541534217583612872707091E-17 */
  { 0xffffffff, 0x3fffffcb, 0x00000000, 0xfabecb46, 0x55678663, 0xce0f50ad, 0xaa0b8212, 0x52baee18, 0xf259d237, 0xbb6e57ef, 0x00000000 }, /* -4.349737397116123746083032847731835799703583198898727054259710573696E-16 */
  { 0x00000000, 0x3fffffd1, 0x00000000, 0x9aac38eb, 0x2974ecee, 0x56665d7d, 0x7bc1dbfa, 0x0670bed3, 0x6bea8488, 0x02530b5e, 0x00000000 }, /*  1.717212411255568912827181090085125426790791225496817654681142468720E-14 */
  { 0xffffffff, 0x3fffffd6, 0x00000000, 0xbed270fb, 0xccaae25f, 0xf129a06f, 0x42d0dc42, 0x1ca96a3a, 0xeb57c1ef, 0x6d2c9128, 0x00000000 }, /* -6.779360592645165733660390782498884999144362148823203243655446939882E-13 */
  { 0x00000000, 0x3fffffdb, 0x00000000, 0xeb6d9627, 0x048b0fdc, 0x257768c2, 0x74f0337c, 0xcf8fd4d8, 0x4bda511a, 0x2484075f, 0x00000000 }, /*  2.676507306136935766565396195025824655454285083914713549972253618559E-11 */
  { 0xffffffff, 0x3fffffe1, 0x00000000, 0x91402eb2, 0x2133f7ba, 0x56337ff2, 0x7cb7da47, 0xbf24da67, 0x4691c775, 0x6edeeba8, 0x00000000 }, /* -1.056838027737498636969536440435911335382234853134324033790240588839E-9  */
  { 0x00000000, 0x3fffffe6, 0x00000000, 0xb354795f, 0xb875ed14, 0xb089f4cc, 0x1f12f738, 0x121a8f20, 0xc1c727a7, 0x0772c023, 0x00000000 }, /*  4.175351397573619795842018064240286462508684730906953129175324510517E-8  */
  { 0xffffffff, 0x3fffffeb, 0x00000000, 0xddebbc99, 0xa7785563, 0x34111eef, 0xccdaab88, 0x96674452, 0x23000dde, 0xbbcbed65, 0x00000000 }, /* -1.653439153439153439153439153439153439153439153439153439153439164214E-6  */
  { 0x00000000, 0x3ffffff1, 0x00000000, 0x8ab355e0, 0x08ab355e, 0x008ab355, 0xe008ab35, 0x5e008ab3, 0x55e008ab, 0x355e0100, 0x00000000 }, /*  6.613756613756613756613756613756613756613756613756613756613756613810E-5  */
  { 0xffffffff, 0x3ffffff6, 0x00000000, 0xb60b60b6, 0x0b60b60b, 0x60b60b60, 0xb60b60b6, 0x0b60b60b, 0x60b60b60, 0xb60b60b5, 0x00000000 }, /* -2.777777777777777777777777777777777777777777777777777777777777777778E-3  */
  { 0x00000000, 0x3ffffffc, 0x00000000, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0x00000000 }  /*  1.666666666666666666666666666666666666666666666666666666666666666667E-1  */
};

#else  /* BITS_PER_EMUSHORT != 32 */
#error ei_exp_002_emu32msb.dfn: ERROR: Failed size of EMUSHORT data type.
#endif /* BITS_PER_EMUSHORT == 32 */

#endif /* __REAL_EINTERNAL_EXP_002_32MSB */