@@ -112,7 +112,7 @@ const double LOG_F[128] = {
112112// precision, and -2^-8 <= v < 2^-7.
113113// TODO(lntue): Add reference to how the constants are derived after the
114114// resulting paper is ready.
115- alignas (32 ) const float R[128 ] = {
115+ alignas (8 ) const float R[128 ] = {
116116 0x1p0, 0x1 .fcp -1 , 0x1 .f8p -1 , 0x1 .f4p -1 , 0x1 .fp -1 , 0x1 .ecp -1 , 0x1 .e8p -1 ,
117117 0x1 .e4p -1 , 0x1 .ep -1 , 0x1 .dep -1 , 0x1 .dap -1 , 0x1 .d6p -1 , 0x1 .d4p -1 , 0x1 .dp -1 ,
118118 0x1 .ccp -1 , 0x1 .cap -1 , 0x1 .c6p -1 , 0x1 .c4p -1 , 0x1 .cp -1 , 0x1 .bep -1 , 0x1 .bap -1 ,
@@ -133,7 +133,7 @@ alignas(32) const float R[128] = {
133133 0x1 .0ap-1 , 0x1 .08p-1 , 0x1 .08p-1 , 0x1 .06p-1 , 0x1 .06p-1 , 0x1 .04p-1 , 0x1 .04p-1 ,
134134 0x1 .02p-1 , 0x1 .0p-1 };
135135
136- alignas ( 64 ) const double RD[128 ] = {
136+ const double RD[128 ] = {
137137 0x1p0, 0x1 .fcp -1 , 0x1 .f8p -1 , 0x1 .f4p -1 , 0x1 .fp -1 , 0x1 .ecp -1 , 0x1 .e8p -1 ,
138138 0x1 .e4p -1 , 0x1 .ep -1 , 0x1 .dep -1 , 0x1 .dap -1 , 0x1 .d6p -1 , 0x1 .d4p -1 , 0x1 .dp -1 ,
139139 0x1 .ccp -1 , 0x1 .cap -1 , 0x1 .c6p -1 , 0x1 .c4p -1 , 0x1 .cp -1 , 0x1 .bep -1 , 0x1 .bap -1 ,
@@ -158,7 +158,7 @@ alignas(64) const double RD[128] = {
158158// available.
159159// Generated by Sollya with the formula: CD[i] = RD[i]*(1 + i*2^-7) - 1
160160// for RD[i] defined on the table above.
161- alignas ( 64 ) const double CD[128 ] = {
161+ const double CD[128 ] = {
162162 0.0 , -0x1p-14 , -0x1p-12 , -0x1 .2p-11 , -0x1p-10 , -0x1 .9p-10 ,
163163 -0x1 .2p-9 , -0x1 .88p-9 , -0x1p-8 , -0x1 .9p-11 , -0x1 .fp -10 , -0x1 .9cp-9 ,
164164 -0x1p-12 , -0x1 .cp -10 , -0x1 .bp -9 , -0x1 .5p-11 , -0x1 .4p-9 , 0x1p-14 ,
@@ -183,7 +183,7 @@ alignas(64) const double CD[128] = {
183183 -0x1p-14 , -0x1p-8 ,
184184};
185185
186- alignas ( 64 ) const double LOG_R[128 ] = {
186+ const double LOG_R[128 ] = {
187187 0x0 .0000000000000p0, 0x1 .010157588de71p-7 , 0x1 .0205658935847p-6 ,
188188 0x1 .8492528c8cabfp-6 , 0x1 .0415d89e74444p-5 , 0x1 .466aed42de3eap-5 ,
189189 0x1 .894aa149fb343p-5 , 0x1 .ccb73cdddb2ccp -5 , 0x1 .08598b59e3a07p-4 ,
@@ -228,7 +228,7 @@ alignas(64) const double LOG_R[128] = {
228228 0x1 .5707a26bb8c66p-1 , 0x1 .5af405c3649ep-1 , 0x1 .5af405c3649ep-1 ,
229229 0x1 .5ee82aa24192p-1 , 0x0 .000000000000p0};
230230
231- alignas ( 64 ) const double LOG2_R[128 ] = {
231+ const double LOG2_R[128 ] = {
232232 0x0 .0000000000000p+0 , 0x1 .72c7ba20f7327p-7 , 0x1 .743ee861f3556p-6 ,
233233 0x1 .184b8e4c56af8p-5 , 0x1 .77394c9d958d5p-5 , 0x1 .d6ebd1f1febfep -5 ,
234234 0x1 .1bb32a600549dp-4 , 0x1 .4c560fe68af88p-4 , 0x1 .7d60496cfbb4cp-4 ,
@@ -281,7 +281,7 @@ alignas(64) const double LOG2_R[128] = {
281281// print("{", -c, ",", -b, "},");
282282// };
283283// We replace LOG_R[0] with log10(1.0) == 0.0
284- alignas (64 ) const NumberPair<double > LOG_R_DD[128 ] = {
284+ alignas (16 ) const NumberPair<double > LOG_R_DD[128 ] = {
285285 {0.0 , 0.0 },
286286 {-0x1 .0c76b999d2be8p-46 , 0x1 .010157589p-7 },
287287 {-0x1 .3dc5b06e2f7d2p-45 , 0x1 .0205658938p-6 },
@@ -417,7 +417,7 @@ alignas(64) const NumberPair<double> LOG_R_DD[128] = {
417417// Output range:
418418// [-0x1.3ffcp-15, 0x1.3e3dp-15]
419419// We store S2[i] = 2^16 (r(i - 2^6) - 1).
420- alignas (64 ) const int S2[193 ] = {
420+ alignas (8 ) const int S2[193 ] = {
421421 0x101 , 0xfd , 0xf9 , 0xf5 , 0xf1 , 0xed , 0xe9 , 0xe5 , 0xe1 ,
422422 0xdd , 0xd9 , 0xd5 , 0xd1 , 0xcd , 0xc9 , 0xc5 , 0xc1 , 0xbd ,
423423 0xb9 , 0xb4 , 0xb0 , 0xac , 0xa8 , 0xa4 , 0xa0 , 0x9c , 0x98 ,
@@ -441,7 +441,7 @@ alignas(64) const int S2[193] = {
441441 -0x1cd , -0x1d1 , -0x1d5 , -0x1d9 , -0x1dd , -0x1e0 , -0x1e4 , -0x1e8 , -0x1ec ,
442442 -0x1f0 , -0x1f4 , -0x1f8 , -0x1fc };
443443
444- alignas ( 64 ) const double R2[193 ] = {
444+ const double R2[193 ] = {
445445 0x1 .0101p0, 0x1 .00fdp0, 0x1 .00f9p0, 0x1 .00f5p0, 0x1 .00f1p0,
446446 0x1 .00edp0, 0x1 .00e9p0, 0x1 .00e5p0, 0x1 .00e1p0, 0x1 .00ddp0,
447447 0x1 .00d9p0, 0x1 .00d5p0, 0x1 .00d1p0, 0x1 .00cdp0, 0x1 .00c9p0,
@@ -488,7 +488,7 @@ alignas(64) const double R2[193] = {
488488// Output range:
489489// [-0x1.01928p-22 , 0x1p-22]
490490// We store S[i] = 2^21 (r(i - 80) - 1).
491- alignas (64 ) const int S3[161 ] = {
491+ alignas (8 ) const int S3[161 ] = {
492492 0x50 , 0x4f , 0x4e , 0x4d , 0x4c , 0x4b , 0x4a , 0x49 , 0x48 , 0x47 , 0x46 ,
493493 0x45 , 0x44 , 0x43 , 0x42 , 0x41 , 0x40 , 0x3f , 0x3e , 0x3d , 0x3c , 0x3b ,
494494 0x3a , 0x39 , 0x38 , 0x37 , 0x36 , 0x35 , 0x34 , 0x33 , 0x32 , 0x31 , 0x30 ,
@@ -511,7 +511,7 @@ alignas(64) const int S3[161] = {
511511// Output range:
512512// [-0x1.0002143p-29 , 0x1p-29]
513513// We store S[i] = 2^28 (r(i - 65) - 1).
514- alignas (64 ) const int S4[130 ] = {
514+ alignas (8 ) const int S4[130 ] = {
515515 0x41 , 0x40 , 0x3f , 0x3e , 0x3d , 0x3c , 0x3b , 0x3a , 0x39 , 0x38 , 0x37 ,
516516 0x36 , 0x35 , 0x34 , 0x33 , 0x32 , 0x31 , 0x30 , 0x2f , 0x2e , 0x2d , 0x2c ,
517517 0x2b , 0x2a , 0x29 , 0x28 , 0x27 , 0x26 , 0x25 , 0x24 , 0x23 , 0x22 , 0x21 ,
@@ -661,7 +661,7 @@ const double EXP_M2[128] = {
661661// d = round(a - b - c, D, RN);
662662// print("{", d, ",", c, ",", b, "},");
663663// };
664- const fputil::TripleDouble EXP2_MID1[64 ] = {
664+ alignas ( 16 ) const fputil::TripleDouble EXP2_MID1[64 ] = {
665665 {0 , 0 , 0x1p0},
666666 {-0x1 .9085b0a3d74d5p-110 , -0x1 .19083535b085dp-56 , 0x1 .02c9a3e778061p0},
667667 {0x1 .05ff94f8d257ep-110 , 0x1 .d73e2a475b465p -55 , 0x1 .059b0d3158574p0},
@@ -739,7 +739,7 @@ const fputil::TripleDouble EXP2_MID1[64] = {
739739// d = round(a - b - c, D, RN);
740740// print("{", d, ",", c, ",", b, "},");
741741// };
742- const fputil::TripleDouble EXP2_MID2[64 ] = {
742+ alignas ( 16 ) const fputil::TripleDouble EXP2_MID2[64 ] = {
743743 {0 , 0 , 0x1p0},
744744 {0x1 .39726694630e3p-108 , 0x1 .ae8e38c59c72ap -54 , 0x1 .000b175effdc7p0},
745745 {0x1 .e5e06ddd31156p -112 , -0x1 .7b5d0d58ea8f4p-58 , 0x1 .00162f3904052p0},
0 commit comments