1414public class MathWrapper {
1515
1616 private static final Map <PowData , Double > powData = Collections .synchronizedMap (new HashMap <>());
17- private static final String POW = "3f40624dd2f1a9fc" ; // 1/2000 = 0.0005
17+ private static final String EXPONENT = "3f40624dd2f1a9fc" ; // 1/2000 = 0.0005
1818
1919 public static double pow (double a , double b ) {
2020 double strictResult = StrictMath .pow (a , b );
@@ -25,54 +25,54 @@ public static double pow(double a, double b) {
2525 * This static block is used to initialize the data map.
2626 */
2727 static {
28- addPowData ("3ff0192278704be3" , POW , "3ff000033518c576" ); // 4137160
29- addPowData ("3ff000002fc6a33f" , POW , "3ff0000000061d86" ); // 4065476
30- addPowData ("3ff00314b1e73ecf" , POW , "3ff0000064ea3ef8" ); // 4071538
31- addPowData ("3ff0068cd52978ae" , POW , "3ff00000d676966c" ); // 4109544
32- addPowData ("3ff0032fda05447d" , POW , "3ff0000068636fe0" ); // 4123826
33- addPowData ("3ff00051c09cc796" , POW , "3ff000000a76c20e" ); // 4166806
34- addPowData ("3ff00bef8115b65d" , POW , "3ff0000186893de0" ); // 4225778
35- addPowData ("3ff009b0b2616930" , POW , "3ff000013d27849e" ); // 4251796
36- addPowData ("3ff00364ba163146" , POW , "3ff000006f26a9dc" ); // 4257157
37- addPowData ("3ff019be4095d6ae" , POW , "3ff0000348e9f02a" ); // 4260583
38- addPowData ("3ff0123e52985644" , POW , "3ff0000254797fd0" ); // 4367125
39- addPowData ("3ff0126d052860e2" , POW , "3ff000025a6cde26" ); // 4402197
40- addPowData ("3ff0001632cccf1b" , POW , "3ff0000002d76406" ); // 4405788
41- addPowData ("3ff0000965922b01" , POW , "3ff000000133e966" ); // 4490332
42- addPowData ("3ff00005c7692d61" , POW , "3ff0000000bd5d34" ); // 4499056
43- addPowData ("3ff015cba20ec276" , POW , "3ff00002c84cef0e" ); // 4518035
44- addPowData ("3ff00002f453d343" , POW , "3ff000000060cf4e" ); // 4533215
45- addPowData ("3ff006ea73f88946" , POW , "3ff00000e26d4ea2" ); // 4647814
46- addPowData ("3ff00a3632db72be" , POW , "3ff000014e3382a6" ); // 4766695
47- addPowData ("3ff000c0e8df0274" , POW , "3ff0000018b0aeb2" ); // 4771494
48- addPowData ("3ff00015c8f06afe" , POW , "3ff0000002c9d73e" ); // 4793587
49- addPowData ("3ff00068def18101" , POW , "3ff000000d6c3cac" ); // 4801947
50- addPowData ("3ff01349f3ac164b" , POW , "3ff000027693328a" ); // 4916843
51- addPowData ("3ff00e86a7859088" , POW , "3ff00001db256a52" ); // 4924111
52- addPowData ("3ff00000c2a51ab7" , POW , "3ff000000018ea20" ); // 5098864
53- addPowData ("3ff020fb74e9f170" , POW , "3ff00004346fbfa2" ); // 5133963
54- addPowData ("3ff00001ce277ce7" , POW , "3ff00000003b27dc" ); // 5139389
55- addPowData ("3ff005468a327822" , POW , "3ff00000acc20750" ); // 5151258
56- addPowData ("3ff00006666f30ff" , POW , "3ff0000000d1b80e" ); // 5185021
57- addPowData ("3ff000045a0b2035" , POW , "3ff00000008e98e6" ); // 5295829
58- addPowData ("3ff00e00380e10d7" , POW , "3ff00001c9ff83c8" ); // 5380897
59- addPowData ("3ff00c15de2b0d5e" , POW , "3ff000018b6eaab6" ); // 5400886
60- addPowData ("3ff00042afe6956a" , POW , "3ff0000008892244" ); // 5864127
61- addPowData ("3ff0005b7357c2d4" , POW , "3ff000000bb48572" ); // 6167339
62- addPowData ("3ff00033d5ab51c8" , POW , "3ff0000006a279c8" ); // 6240974
63- addPowData ("3ff0000046d74585" , POW , "3ff0000000091150" ); // 6279093
64- addPowData ("3ff0010403f34767" , POW , "3ff0000021472146" ); // 6428736
65- addPowData ("3ff00496fe59bc98" , POW , "3ff000009650a4ca" ); // 6432355,6493373
66- addPowData ("3ff0012e43815868" , POW , "3ff0000026af266e" ); // 6555029
67- addPowData ("3ff00021f6080e3c" , POW , "3ff000000458d16a" ); // 7092933
68- addPowData ("3ff000489c0f28bd" , POW , "3ff00000094b3072" ); // 7112412
69- addPowData ("3ff00009d3df2e9c" , POW , "3ff00000014207b4" ); // 7675535
70- addPowData ("3ff000def05fa9c8" , POW , "3ff000001c887cdc" ); // 7860324
71- addPowData ("3ff0013bca543227" , POW , "3ff00000286a42d2" ); // 8292427
72- addPowData ("3ff0021a2f14a0ee" , POW , "3ff0000044deb040" ); // 8517311
73- addPowData ("3ff0002cc166be3c" , POW , "3ff0000005ba841e" ); // 8763101
74- addPowData ("3ff0000cc84e613f" , POW , "3ff0000001a2da46" ); // 9269124
75- addPowData ("3ff000057b83c83f" , POW , "3ff0000000b3a640" ); // 9631452
28+ addPowData ("3ff0192278704be3" , EXPONENT , "3ff000033518c576" ); // 4137160
29+ addPowData ("3ff000002fc6a33f" , EXPONENT , "3ff0000000061d86" ); // 4065476
30+ addPowData ("3ff00314b1e73ecf" , EXPONENT , "3ff0000064ea3ef8" ); // 4071538
31+ addPowData ("3ff0068cd52978ae" , EXPONENT , "3ff00000d676966c" ); // 4109544
32+ addPowData ("3ff0032fda05447d" , EXPONENT , "3ff0000068636fe0" ); // 4123826
33+ addPowData ("3ff00051c09cc796" , EXPONENT , "3ff000000a76c20e" ); // 4166806
34+ addPowData ("3ff00bef8115b65d" , EXPONENT , "3ff0000186893de0" ); // 4225778
35+ addPowData ("3ff009b0b2616930" , EXPONENT , "3ff000013d27849e" ); // 4251796
36+ addPowData ("3ff00364ba163146" , EXPONENT , "3ff000006f26a9dc" ); // 4257157
37+ addPowData ("3ff019be4095d6ae" , EXPONENT , "3ff0000348e9f02a" ); // 4260583
38+ addPowData ("3ff0123e52985644" , EXPONENT , "3ff0000254797fd0" ); // 4367125
39+ addPowData ("3ff0126d052860e2" , EXPONENT , "3ff000025a6cde26" ); // 4402197
40+ addPowData ("3ff0001632cccf1b" , EXPONENT , "3ff0000002d76406" ); // 4405788
41+ addPowData ("3ff0000965922b01" , EXPONENT , "3ff000000133e966" ); // 4490332
42+ addPowData ("3ff00005c7692d61" , EXPONENT , "3ff0000000bd5d34" ); // 4499056
43+ addPowData ("3ff015cba20ec276" , EXPONENT , "3ff00002c84cef0e" ); // 4518035
44+ addPowData ("3ff00002f453d343" , EXPONENT , "3ff000000060cf4e" ); // 4533215
45+ addPowData ("3ff006ea73f88946" , EXPONENT , "3ff00000e26d4ea2" ); // 4647814
46+ addPowData ("3ff00a3632db72be" , EXPONENT , "3ff000014e3382a6" ); // 4766695
47+ addPowData ("3ff000c0e8df0274" , EXPONENT , "3ff0000018b0aeb2" ); // 4771494
48+ addPowData ("3ff00015c8f06afe" , EXPONENT , "3ff0000002c9d73e" ); // 4793587
49+ addPowData ("3ff00068def18101" , EXPONENT , "3ff000000d6c3cac" ); // 4801947
50+ addPowData ("3ff01349f3ac164b" , EXPONENT , "3ff000027693328a" ); // 4916843
51+ addPowData ("3ff00e86a7859088" , EXPONENT , "3ff00001db256a52" ); // 4924111
52+ addPowData ("3ff00000c2a51ab7" , EXPONENT , "3ff000000018ea20" ); // 5098864
53+ addPowData ("3ff020fb74e9f170" , EXPONENT , "3ff00004346fbfa2" ); // 5133963
54+ addPowData ("3ff00001ce277ce7" , EXPONENT , "3ff00000003b27dc" ); // 5139389
55+ addPowData ("3ff005468a327822" , EXPONENT , "3ff00000acc20750" ); // 5151258
56+ addPowData ("3ff00006666f30ff" , EXPONENT , "3ff0000000d1b80e" ); // 5185021
57+ addPowData ("3ff000045a0b2035" , EXPONENT , "3ff00000008e98e6" ); // 5295829
58+ addPowData ("3ff00e00380e10d7" , EXPONENT , "3ff00001c9ff83c8" ); // 5380897
59+ addPowData ("3ff00c15de2b0d5e" , EXPONENT , "3ff000018b6eaab6" ); // 5400886
60+ addPowData ("3ff00042afe6956a" , EXPONENT , "3ff0000008892244" ); // 5864127
61+ addPowData ("3ff0005b7357c2d4" , EXPONENT , "3ff000000bb48572" ); // 6167339
62+ addPowData ("3ff00033d5ab51c8" , EXPONENT , "3ff0000006a279c8" ); // 6240974
63+ addPowData ("3ff0000046d74585" , EXPONENT , "3ff0000000091150" ); // 6279093
64+ addPowData ("3ff0010403f34767" , EXPONENT , "3ff0000021472146" ); // 6428736
65+ addPowData ("3ff00496fe59bc98" , EXPONENT , "3ff000009650a4ca" ); // 6432355,6493373
66+ addPowData ("3ff0012e43815868" , EXPONENT , "3ff0000026af266e" ); // 6555029
67+ addPowData ("3ff00021f6080e3c" , EXPONENT , "3ff000000458d16a" ); // 7092933
68+ addPowData ("3ff000489c0f28bd" , EXPONENT , "3ff00000094b3072" ); // 7112412
69+ addPowData ("3ff00009d3df2e9c" , EXPONENT , "3ff00000014207b4" ); // 7675535
70+ addPowData ("3ff000def05fa9c8" , EXPONENT , "3ff000001c887cdc" ); // 7860324
71+ addPowData ("3ff0013bca543227" , EXPONENT , "3ff00000286a42d2" ); // 8292427
72+ addPowData ("3ff0021a2f14a0ee" , EXPONENT , "3ff0000044deb040" ); // 8517311
73+ addPowData ("3ff0002cc166be3c" , EXPONENT , "3ff0000005ba841e" ); // 8763101
74+ addPowData ("3ff0000cc84e613f" , EXPONENT , "3ff0000001a2da46" ); // 9269124
75+ addPowData ("3ff000057b83c83f" , EXPONENT , "3ff0000000b3a640" ); // 9631452
7676 // add pow data
7777 }
7878
0 commit comments