crmf 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -0
  3. data/crmf.gemspec +105 -3
  4. data/ext/crlibm-1.0beta5/AUTHORS +2 -0
  5. data/ext/crlibm-1.0beta5/CMakeLists.txt +154 -0
  6. data/ext/crlibm-1.0beta5/COPYING +340 -0
  7. data/ext/crlibm-1.0beta5/COPYING.LIB +504 -0
  8. data/ext/crlibm-1.0beta5/ChangeLog +125 -0
  9. data/ext/crlibm-1.0beta5/Makefile.am +134 -0
  10. data/ext/crlibm-1.0beta5/NEWS +0 -0
  11. data/ext/crlibm-1.0beta5/README +31 -0
  12. data/ext/crlibm-1.0beta5/README.DEV +23 -0
  13. data/ext/crlibm-1.0beta5/README.md +5 -0
  14. data/ext/crlibm-1.0beta5/TODO +66 -0
  15. data/ext/crlibm-1.0beta5/VERSION +1 -0
  16. data/ext/crlibm-1.0beta5/acos-td.c +1195 -0
  17. data/ext/crlibm-1.0beta5/acos-td.h +629 -0
  18. data/ext/crlibm-1.0beta5/asin-td.c +1297 -0
  19. data/ext/crlibm-1.0beta5/asin-td.h +620 -0
  20. data/ext/crlibm-1.0beta5/asincos.c +4488 -0
  21. data/ext/crlibm-1.0beta5/asincos.h +575 -0
  22. data/ext/crlibm-1.0beta5/atan-itanium.c +846 -0
  23. data/ext/crlibm-1.0beta5/atan-pentium.c +280 -0
  24. data/ext/crlibm-1.0beta5/atan-pentium.h +343 -0
  25. data/ext/crlibm-1.0beta5/atan_accurate.c +341 -0
  26. data/ext/crlibm-1.0beta5/atan_accurate.h +198 -0
  27. data/ext/crlibm-1.0beta5/atan_fast.c +506 -0
  28. data/ext/crlibm-1.0beta5/atan_fast.h +680 -0
  29. data/ext/crlibm-1.0beta5/configure.ac +419 -0
  30. data/ext/crlibm-1.0beta5/crlibm.h +204 -0
  31. data/ext/crlibm-1.0beta5/crlibm.spec +42 -0
  32. data/ext/crlibm-1.0beta5/crlibm_private.c +397 -0
  33. data/ext/crlibm-1.0beta5/crlibm_private.h +1048 -0
  34. data/ext/crlibm-1.0beta5/csh_fast.c +721 -0
  35. data/ext/crlibm-1.0beta5/csh_fast.h +771 -0
  36. data/ext/crlibm-1.0beta5/double-extended.h +496 -0
  37. data/ext/crlibm-1.0beta5/exp-itanium.c +723 -0
  38. data/ext/crlibm-1.0beta5/exp-td-standalone.c +87 -0
  39. data/ext/crlibm-1.0beta5/exp-td.c +1363 -0
  40. data/ext/crlibm-1.0beta5/exp-td.h +685 -0
  41. data/ext/crlibm-1.0beta5/exp_build_coeffs/exp_fast_table.c +125 -0
  42. data/ext/crlibm-1.0beta5/expm1-standalone.c +119 -0
  43. data/ext/crlibm-1.0beta5/expm1.c +2515 -0
  44. data/ext/crlibm-1.0beta5/expm1.h +715 -0
  45. data/ext/crlibm-1.0beta5/interval.h +238 -0
  46. data/ext/crlibm-1.0beta5/log-de.c +480 -0
  47. data/ext/crlibm-1.0beta5/log-de.h +747 -0
  48. data/ext/crlibm-1.0beta5/log-de2.c +280 -0
  49. data/ext/crlibm-1.0beta5/log-de2.h +2352 -0
  50. data/ext/crlibm-1.0beta5/log-td.c +1158 -0
  51. data/ext/crlibm-1.0beta5/log-td.h +819 -0
  52. data/ext/crlibm-1.0beta5/log.c +2244 -0
  53. data/ext/crlibm-1.0beta5/log.h +1592 -0
  54. data/ext/crlibm-1.0beta5/log10-td.c +906 -0
  55. data/ext/crlibm-1.0beta5/log10-td.h +823 -0
  56. data/ext/crlibm-1.0beta5/log1p.c +1295 -0
  57. data/ext/crlibm-1.0beta5/log2-td.c +1521 -0
  58. data/ext/crlibm-1.0beta5/log2-td.h +821 -0
  59. data/ext/crlibm-1.0beta5/log2_accurate.c +330 -0
  60. data/ext/crlibm-1.0beta5/log2_accurate.h +261 -0
  61. data/ext/crlibm-1.0beta5/log_accurate.c +133 -0
  62. data/ext/crlibm-1.0beta5/log_accurate.h +261 -0
  63. data/ext/crlibm-1.0beta5/log_fast.c +360 -0
  64. data/ext/crlibm-1.0beta5/log_fast.h +440 -0
  65. data/ext/crlibm-1.0beta5/pow.c +1396 -0
  66. data/ext/crlibm-1.0beta5/pow.h +3101 -0
  67. data/ext/crlibm-1.0beta5/prepare +20 -0
  68. data/ext/crlibm-1.0beta5/rem_pio2_accurate.c +219 -0
  69. data/ext/crlibm-1.0beta5/rem_pio2_accurate.h +53 -0
  70. data/ext/crlibm-1.0beta5/scs_lib/AUTHORS +3 -0
  71. data/ext/crlibm-1.0beta5/scs_lib/COPYING +504 -0
  72. data/ext/crlibm-1.0beta5/scs_lib/ChangeLog +16 -0
  73. data/ext/crlibm-1.0beta5/scs_lib/Doxyfile.dev +939 -0
  74. data/ext/crlibm-1.0beta5/scs_lib/Doxyfile.user +939 -0
  75. data/ext/crlibm-1.0beta5/scs_lib/INSTALL +215 -0
  76. data/ext/crlibm-1.0beta5/scs_lib/Makefile.am +17 -0
  77. data/ext/crlibm-1.0beta5/scs_lib/NEWS +0 -0
  78. data/ext/crlibm-1.0beta5/scs_lib/README +9 -0
  79. data/ext/crlibm-1.0beta5/scs_lib/README.DEV +38 -0
  80. data/ext/crlibm-1.0beta5/scs_lib/TODO +4 -0
  81. data/ext/crlibm-1.0beta5/scs_lib/VERSION +1 -0
  82. data/ext/crlibm-1.0beta5/scs_lib/addition_scs.c +623 -0
  83. data/ext/crlibm-1.0beta5/scs_lib/division_scs.c +110 -0
  84. data/ext/crlibm-1.0beta5/scs_lib/double2scs.c +174 -0
  85. data/ext/crlibm-1.0beta5/scs_lib/main.dox +104 -0
  86. data/ext/crlibm-1.0beta5/scs_lib/multiplication_scs.c +339 -0
  87. data/ext/crlibm-1.0beta5/scs_lib/poly_fct.c +112 -0
  88. data/ext/crlibm-1.0beta5/scs_lib/print_scs.c +73 -0
  89. data/ext/crlibm-1.0beta5/scs_lib/rand_scs.c +63 -0
  90. data/ext/crlibm-1.0beta5/scs_lib/scs.h +353 -0
  91. data/ext/crlibm-1.0beta5/scs_lib/scs2double.c +411 -0
  92. data/ext/crlibm-1.0beta5/scs_lib/scs2mpf.c +58 -0
  93. data/ext/crlibm-1.0beta5/scs_lib/scs2mpfr.c +61 -0
  94. data/ext/crlibm-1.0beta5/scs_lib/scs_private.c +23 -0
  95. data/ext/crlibm-1.0beta5/scs_lib/scs_private.h +133 -0
  96. data/ext/crlibm-1.0beta5/scs_lib/wrapper_scs.h +486 -0
  97. data/ext/crlibm-1.0beta5/scs_lib/zero_scs.c +52 -0
  98. data/ext/crlibm-1.0beta5/trigo_accurate.c +501 -0
  99. data/ext/crlibm-1.0beta5/trigo_accurate.h +331 -0
  100. data/ext/crlibm-1.0beta5/trigo_fast.c +1243 -0
  101. data/ext/crlibm-1.0beta5/trigo_fast.h +639 -0
  102. data/ext/crlibm-1.0beta5/trigpi.c +1169 -0
  103. data/ext/crlibm-1.0beta5/trigpi.h +556 -0
  104. data/ext/crlibm-1.0beta5/triple-double.c +57 -0
  105. data/ext/crlibm-1.0beta5/triple-double.h +1380 -0
  106. data/ext/crmf/crmf.c +117 -20
  107. data/ext/crmf/extconf.rb +12 -8
  108. data/lib/crmf/version.rb +1 -1
  109. data/tests/perf.rb +100 -219
  110. metadata +108 -10
  111. data/ext/crlibm-1.0beta4.tar.gz +0 -0
@@ -0,0 +1,556 @@
1
+ #include "crlibm.h"
2
+ #include "crlibm_private.h"
3
+
4
+ /*File generated by maple/trigpi.pl*/
5
+ #define TWOTO42 4.39804651110400000000000000000000000000000000000000e+12
6
+
7
+ #define TWOTO52 4.50359962737049600000000000000000000000000000000000e+15
8
+
9
+ #define INV128 7.81250000000000000000000000000000000000000000000000e-03
10
+
11
+ #define TWOTO5251 6.75539944105574400000000000000000000000000000000000e+15
12
+
13
+ #define SMALLEST 4.94065645841246544176568792868221372365059802614325e-324
14
+
15
+ #define PIH 3.14159265358979311599796346854418516159057617187500e+00
16
+
17
+ #define PIM 1.22464679914735320717376402945839660462569212467758e-16
18
+
19
+ #define PIL -2.99476980971833966588701635421198401670550095233904e-33
20
+
21
+ #define PIHH 3.14159268140792846679687500000000000000000000000000e+00
22
+
23
+ #define PIHM -2.78181353507989115314558148384094238281250000000000e-08
24
+
25
+ #define PIX_RNCST_SIN 1.00787401574803160796292764473221714405939530505554e+00
26
+
27
+ #define PIX_EPS_SIN 4.33680868994201773602981120347976684570312500000000e-19
28
+
29
+ #define PIX_RNCST_TAN 1.01587301587301598581442042834326647273327977070694e+00
30
+
31
+ #define PIX_EPS_TAN 8.67361737988403547205962240695953369140625000000000e-19
32
+
33
+ static const scs PiSCS=
34
+ {{0x00000003, 0x090fdaa2, 0x085a308d, 0x0c4c6628,
35
+ 0x2e037073, 0x1129024e, 0x022299f3, 0x074020bb},
36
+ DB_ONE, 0, 1 }
37
+ ;
38
+ #define PiSCS_ptr (scs_ptr)(& PiSCS)
39
+
40
+ typedef struct tPi_t_tag {double sh; double ch; double sm; double cm; double sl; double cl;} tPi_t;
41
+ static const tPi_t sincosTable[64] =
42
+ {
43
+ { /* sin/cos(0*pi/128) */
44
+ 0.00000000000000000000000000000000000000000000000000e+00, /* sh */
45
+ 1.00000000000000000000000000000000000000000000000000e+00, /* ch */
46
+ 0.00000000000000000000000000000000000000000000000000e+00, /* sm */
47
+ 0.00000000000000000000000000000000000000000000000000e+00, /* cm */
48
+ 0.00000000000000000000000000000000000000000000000000e+00, /* sl */
49
+ 0.00000000000000000000000000000000000000000000000000e+00, /* cl */
50
+ } ,
51
+ { /* sin/cos(1*pi/128) */
52
+ 2.45412285229122881236030195850617019459605216979980e-02, /* sh */
53
+ 9.99698818696204249967252053465927019715309143066406e-01, /* ch */
54
+ -9.18684901257787817511092729052523410277440947511204e-20, /* sm */
55
+ -2.98514864037997529143865109884349378101639351597209e-17, /* cm */
56
+ 4.87061487044670605326897942323184237088370497395221e-36, /* sl */
57
+ -1.90847873707337374441321797545527262287132421960372e-33, /* cl */
58
+ } ,
59
+ { /* sin/cos(2*pi/128) */
60
+ 4.90676743274180149345653489945107139647006988525391e-02, /* sh */
61
+ 9.98795456205172405006464941834565252065658569335938e-01, /* ch */
62
+ -6.79610372051828011331087211108459897310458406639606e-19, /* sm */
63
+ -1.22916933370754648023069228195440464413706083235769e-17, /* cm */
64
+ -4.43188681247183252512131377148380367335867976105441e-35, /* sl */
65
+ 2.44684467864912710011822340186994056439724387642614e-34, /* cl */
66
+ } ,
67
+ { /* sin/cos(3*pi/128) */
68
+ 7.35645635996674263079597722025937400758266448974609e-02, /* sh */
69
+ 9.97290456678690206970827603072393685579299926757812e-01, /* ch */
70
+ -2.77849415062735932702215188936675076042592110809248e-18, /* sm */
71
+ 9.16476953711017345735104565501545052170255011497269e-18, /* cm */
72
+ -9.12403754898528209738897073370755128458265201364941e-35, /* sl */
73
+ 6.78241343097392959213418956364511469074601099596281e-34, /* cl */
74
+ } ,
75
+ { /* sin/cos(4*pi/128) */
76
+ 9.80171403295606036287779261328978464007377624511719e-02, /* sh */
77
+ 9.95184726672196928731750631413888186216354370117188e-01, /* ch */
78
+ -1.63458236224425598733036227927721717477694202336940e-18, /* sm */
79
+ -4.24869136783044095961919567518488446851237034975878e-17, /* cm */
80
+ -1.32092388100064537760551925056417985745657226089355e-35, /* sl */
81
+ 1.33155107725046144631896989941148168106742079450765e-33, /* cl */
82
+ } ,
83
+ { /* sin/cos(5*pi/128) */
84
+ 1.22410675199216195663254325154412072151899337768555e-01, /* sh */
85
+ 9.92479534598709967063712156232213601469993591308594e-01, /* ch */
86
+ 2.83545014899653353390676675638351012269446701684827e-18, /* sm */
87
+ 3.10930550954289060565003028451274795448754407491652e-17, /* cm */
88
+ 1.81516557514933045310042069477077268403843802536068e-34, /* sl */
89
+ -1.83795947578180190975980887553298238967275792441039e-33, /* cl */
90
+ } ,
91
+ { /* sin/cos(6*pi/128) */
92
+ 1.46730474455361747931902982600149698555469512939453e-01, /* sh */
93
+ 9.89176509964781014438983675063354894518852233886719e-01, /* ch */
94
+ 3.72694714704656774762676429108167171813186218775477e-18, /* sm */
95
+ -4.09873099370471113819595571800653989851994072636781e-17, /* cm */
96
+ 3.73523981512508271311947760640000952122222968339672e-34, /* sl */
97
+ -4.48575605520484372949276939500710783945639583248830e-34, /* cl */
98
+ } ,
99
+ { /* sin/cos(7*pi/128) */
100
+ 1.70961888760301217171644339032354764640331268310547e-01, /* sh */
101
+ 9.85277642388941221618381405278341844677925109863281e-01, /* ch */
102
+ 9.19199801817590944421343720066011137609803605455754e-18, /* sm */
103
+ 2.31556370279002066952419195035978530309724519300942e-17, /* cm */
104
+ -6.76887439409826056872126962280395760312157075744208e-34, /* sl */
105
+ -7.52759715457648329988759858960284250572199307609030e-34, /* cl */
106
+ } ,
107
+ { /* sin/cos(8*pi/128) */
108
+ 1.95090322016128275839363936938752885907888412475586e-01, /* sh */
109
+ 9.80785280403230430579242238309234380722045898437500e-01, /* ch */
110
+ -7.99107906846173126344289703693072234842489650708062e-18, /* sm */
111
+ 1.85469399978250057259083323855314298012062932205111e-17, /* cm */
112
+ 6.18462700242207127058950316629513247512028088300259e-34, /* sl */
113
+ -1.06965644455307566037437785239692763829708493768038e-33, /* cl */
114
+ } ,
115
+ { /* sin/cos(9*pi/128) */
116
+ 2.19101240156869797592875670488865580409765243530273e-01, /* sh */
117
+ 9.75702130038528570032951847679214552044868469238281e-01, /* ch */
118
+ -3.65138122991507758201905028218239594431466287621283e-19, /* sm */
119
+ -2.55725560812596856486584111140239960382614753072513e-17, /* cm */
120
+ -2.33594994186064420524188910640554529764134815908088e-35, /* sl */
121
+ -9.31742445089422233678739018667912651409612658394109e-34, /* cl */
122
+ } ,
123
+ { /* sin/cos(10*pi/128) */
124
+ 2.42980179903263898699705691797134932130575180053711e-01, /* sh */
125
+ 9.70031253194543974238683858857257291674613952636719e-01, /* ch */
126
+ -8.75143152971966315657698066597556045463081095367626e-18, /* sm */
127
+ 1.83653003484288443908920092041031891826103053310748e-17, /* cm */
128
+ -6.57232603730794308023668785032351777033485854907112e-34, /* sl */
129
+ -1.43110975719449184241630500775446481526298855330310e-33, /* cl */
130
+ } ,
131
+ { /* sin/cos(11*pi/128) */
132
+ 2.66712757474898365384063936289749108254909515380859e-01, /* sh */
133
+ 9.63776065795439840222513794287806376814842224121094e-01, /* ch */
134
+ 2.09412225788266884161338599457742136857657480229159e-17, /* sm */
135
+ 2.64639505612200287797555650837254713865234329571181e-17, /* cm */
136
+ -1.13034665247279893680679089609736970876966889026874e-33, /* sl */
137
+ -2.90732345901993230283123062176090186865215463253595e-36, /* cl */
138
+ } ,
139
+ { /* sin/cos(12*pi/128) */
140
+ 2.90284677254462386564171083591645583510398864746094e-01, /* sh */
141
+ 9.56940335732208824381928025104571133852005004882812e-01, /* ch */
142
+ -1.89279787077742514611142383006534872375212090104104e-17, /* sm */
143
+ 4.05538698618757005503321806309621067670667256244675e-17, /* cm */
144
+ 1.15229531571423146986028622140694357073680581126202e-33, /* sl */
145
+ -1.71470133643021490774251081375403695480671459421111e-33, /* cl */
146
+ } ,
147
+ { /* sin/cos(13*pi/128) */
148
+ 3.13681740398891462096031546025187708437442779541016e-01, /* sh */
149
+ 9.49528180593036674750351266993675380945205688476562e-01, /* ch */
150
+ 1.45604472999689122359140657497995731581857682115574e-17, /* sm */
151
+ -7.55441519280432984009053129417731398148166729726062e-18, /* cm */
152
+ 3.65641868980115946347742781527870762816609669157526e-34, /* sl */
153
+ -5.12602450240466855759717750777748877302823219800281e-34, /* cl */
154
+ } ,
155
+ { /* sin/cos(14*pi/128) */
156
+ 3.36889853392220051109262612953898496925830841064453e-01, /* sh */
157
+ 9.41544065183020806308888950297841802239418029785156e-01, /* ch */
158
+ -4.20009400334750923530198764394686942499166950042589e-19, /* sm */
159
+ -2.78963795476983410723774639073498160082587681962273e-17, /* cm */
160
+ -2.91786529699854378247553773743757458316226497390670e-36, /* sl */
161
+ 1.62732363567338984793340006492231780038121787494388e-33, /* cl */
162
+ } ,
163
+ { /* sin/cos(15*pi/128) */
164
+ 3.59895036534988166376791696166037581861019134521484e-01, /* sh */
165
+ 9.32992798834738845670244700158946216106414794921875e-01, /* ch */
166
+ -1.76016871238392824991712490180716397399893409400325e-17, /* sm */
167
+ 4.20414155553843553793296357703776047390203635491842e-17, /* cm */
168
+ 1.33751254730467910174693675743357144631063005169968e-33, /* sl */
169
+ 9.02858964955212762289886973560835699430495731315468e-34, /* cl */
170
+ } ,
171
+ { /* sin/cos(16*pi/128) */
172
+ 3.82683432365089781779232680491986684501171112060547e-01, /* sh */
173
+ 9.23879532511286738483136105060111731290817260742188e-01, /* ch */
174
+ -1.00507726964615876116866635215079604149716565502162e-17, /* sm */
175
+ 1.76450470843366770599569725809896737820548554530071e-17, /* cm */
176
+ -2.06053163028066946700869844728951806226449919556645e-34, /* sl */
177
+ -5.04425373215868178317262040897837818667759555267340e-34, /* cl */
178
+ } ,
179
+ { /* sin/cos(17*pi/128) */
180
+ 4.05241314004989860997341111215064302086830139160156e-01, /* sh */
181
+ 9.14209755703530690951197357208002358675003051757812e-01, /* ch */
182
+ 9.91114019428998841611582656929141002790524150916273e-18, /* sm */
183
+ -3.63161825278144230137483342238202646129279797999369e-17, /* cm */
184
+ -2.51690708954346477356872397338259880052208425689270e-34, /* sl */
185
+ -1.94388197771225539922639474168732176327545733871664e-33, /* cl */
186
+ } ,
187
+ { /* sin/cos(18*pi/128) */
188
+ 4.27555093430282084909777040593326091766357421875000e-01, /* sh */
189
+ 9.03989293123443338195954765978967770934104919433594e-01, /* ch */
190
+ 9.41118981629547261700504547345546652274077429814600e-18, /* sm */
191
+ -6.60975446874843084950410324118654757730786778092578e-18, /* cm */
192
+ -1.74466824265988005677926664445477172311534261793862e-34, /* sl */
193
+ 1.27280130346803566179582264758403917100160817972220e-34, /* cl */
194
+ } ,
195
+ { /* sin/cos(19*pi/128) */
196
+ 4.49611329654606595163102156220702454447746276855469e-01, /* sh */
197
+ 8.93224301195515324458540362684288993477821350097656e-01, /* ch */
198
+ 4.88319242320352434992459578960859391755338197539985e-18, /* sm */
199
+ -4.11612391519089126927973381825877743981647578251702e-18, /* cm */
200
+ 2.71510844981913810248805367518978860016097711671055e-34, /* sl */
201
+ 2.53802538057159989694478858192415647688294380587576e-34, /* cl */
202
+ } ,
203
+ { /* sin/cos(20*pi/128) */
204
+ 4.71396736825997642039709489836241118609905242919922e-01, /* sh */
205
+ 8.81921264348355049556005269550951197743415832519531e-01, /* ch */
206
+ 6.51667813606901296447208541365272563671678644989260e-18, /* sm */
207
+ -1.98432484058905621441138331351064557464910578392153e-17, /* cm */
208
+ 2.94575469662359839325656601464778797771834866677748e-34, /* sl */
209
+ -7.04121140076738336886106234154968299762349001311189e-34, /* cl */
210
+ } ,
211
+ { /* sin/cos(21*pi/128) */
212
+ 4.92898192229784037898809856415027752518653869628906e-01, /* sh */
213
+ 8.70086991108711460540803273033816367387771606445312e-01, /* ch */
214
+ -1.02578316765621855379978432396560880807423053235781e-18, /* sm */
215
+ -4.18885108685499682324788024356996724212552957633711e-17, /* cm */
216
+ 6.95208177608850685652817838158830003461259862153976e-35, /* sl */
217
+ 7.09001858618784147808113574428963243591875515454078e-34, /* cl */
218
+ } ,
219
+ { /* sin/cos(22*pi/128) */
220
+ 5.14102744193221772306401362584438174962997436523438e-01, /* sh */
221
+ 8.57728610000272118085717920621391385793685913085938e-01, /* ch */
222
+ -4.57127075236156239511828925399355339402327136821488e-17, /* sm */
223
+ -4.81834479363366201443381433448989495956683085629586e-17, /* cm */
224
+ 1.54882794422382834009847995565726593342335634635644e-33, /* sl */
225
+ -1.10441305176875333754243497414965343357566732409805e-33, /* cl */
226
+ } ,
227
+ { /* sin/cos(23*pi/128) */
228
+ 5.34997619887097264346209612995153293013572692871094e-01, /* sh */
229
+ 8.44853565249707116890931501984596252441406250000000e-01, /* ch */
230
+ -5.36831327083581339873963151168879848386957514422019e-17, /* sm */
231
+ -4.36313602968796371239489349318562331730725440347672e-17, /* cm */
232
+ -1.39005699188381123579693330118086965951478315829762e-33, /* sl */
233
+ -2.03077268533675470129749465480265274351493013855507e-33, /* cl */
234
+ } ,
235
+ { /* sin/cos(24*pi/128) */
236
+ 5.55570233019602177648721408331766724586486816406250e-01, /* sh */
237
+ 8.31469612302545235671402679145103320479393005371094e-01, /* ch */
238
+ 4.70941094056167682138404887426404929202505139640422e-17, /* sm */
239
+ 1.40738569847280238930785242263532116993349751072869e-18, /* cm */
240
+ -2.06405203836829206177595824610721979274646969038677e-33, /* sl */
241
+ 4.69513153839808352458514422733246165217408979962725e-35, /* cl */
242
+ } ,
243
+ { /* sin/cos(25*pi/128) */
244
+ 5.75808191417845338655467912758467718958854675292969e-01, /* sh */
245
+ 8.17584813151583711388070696557406336069107055664062e-01, /* ch */
246
+ -3.79094954589427341338090415345480342563618583176174e-17, /* sm */
247
+ -1.48831498124267717438654368251080189181059728497540e-17, /* cm */
248
+ -2.74337380468543094919985039492410424892033458032374e-33, /* sl */
249
+ -7.82732627712989170819884242480669228359664723248350e-34, /* cl */
250
+ } ,
251
+ { /* sin/cos(26*pi/128) */
252
+ 5.95699304492433356905678465409437194466590881347656e-01, /* sh */
253
+ 8.03207531480644942867286317778052762150764465332031e-01, /* ch */
254
+ -1.34386419365794672370769766351890963879615472923649e-17, /* sm */
255
+ -3.30606098048149096139985697961182567790418192774440e-17, /* cm */
256
+ -6.78776879077210601615057451734157494786909383904135e-35, /* sl */
257
+ -1.22427262524204334204965494469832525240861319271513e-33, /* cl */
258
+ } ,
259
+ { /* sin/cos(27*pi/128) */
260
+ 6.15231590580626819253495796147035434842109680175781e-01, /* sh */
261
+ 7.88346427626606227612171551299979910254478454589844e-01, /* ch */
262
+ 2.62314177672669502523539824382601959772978459707084e-17, /* sm */
263
+ 3.43969931540597076013396400088425960673639156185612e-17, /* cm */
264
+ -1.40953666211067162505853387634546257268806948654638e-33, /* sl */
265
+ 1.77106237467371703799173999194548788681155596718637e-33, /* cl */
266
+ } ,
267
+ { /* sin/cos(28*pi/128) */
268
+ 6.34393284163645487794269683945458382368087768554688e-01, /* sh */
269
+ 7.73010453362736993376813643408240750432014465332031e-01, /* ch */
270
+ 1.04209019292800345765620100334821189439770902041504e-17, /* sm */
271
+ -3.25659070336497723355416983248241127086331816976265e-17, /* cm */
272
+ 4.11745589292804916608872033177616781045056039843844e-34, /* sl */
273
+ 1.38608072515239293103931950218033658496575955944579e-33, /* cl */
274
+ } ,
275
+ { /* sin/cos(29*pi/128) */
276
+ 6.53172842953776755514638807653682306408882141113281e-01, /* sh */
277
+ 7.57208846506484567484562830941285938024520874023438e-01, /* ch */
278
+ 8.56956420600262380032120093330718187007118037955581e-18, /* sm */
279
+ -1.99090987773355018590769198198766615206267472536943e-17, /* cm */
280
+ -6.91653223050706326446309100906668805486226797380063e-34, /* sl */
281
+ 3.94092832661584820126428051219691386352890448827143e-34, /* cl */
282
+ } ,
283
+ { /* sin/cos(30*pi/128) */
284
+ 6.71558954847018441114414599724113941192626953125000e-01, /* sh */
285
+ 7.40951125354959105884233849792508408427238464355469e-01, /* ch */
286
+ -4.04890377492966924579222325744820057841320210868276e-17, /* sm */
287
+ -1.47086169522973451831939448836260932254009548735474e-17, /* cm */
288
+ 3.19958356253556814327429889830897695603712398130540e-34, /* sl */
289
+ -4.95504338271420316912995166818275952337135785088300e-34, /* cl */
290
+ } ,
291
+ { /* sin/cos(31*pi/128) */
292
+ 6.89540544737066940506053924764273688197135925292969e-01, /* sh */
293
+ 7.24247082951466891742597908887546509504318237304688e-01, /* ch */
294
+ -1.58893232948067898977751614830710021398692474578962e-17, /* sm */
295
+ 2.91984713344030043552462778935493159883806968705675e-17, /* cm */
296
+ 9.12423562402057118300276915582756301317547938020558e-34, /* sl */
297
+ 2.30273249687394643468466642789742491277527364150754e-33, /* cl */
298
+ } ,
299
+ { /* sin/cos(32*pi/128) */
300
+ 7.07106781186547572737310929369414225220680236816406e-01, /* sh */
301
+ 7.07106781186547572737310929369414225220680236816406e-01, /* ch */
302
+ -4.83364665672645672552734986488347382506490835271488e-17, /* sm */
303
+ -4.83364665672645672552734986488347382506490835271488e-17, /* cm */
304
+ 2.06933765434970678135950246605438944725492854770064e-33, /* sl */
305
+ 2.06933765434970678135950246605438944725492854770064e-33, /* cl */
306
+ } ,
307
+ { /* sin/cos(33*pi/128) */
308
+ 7.24247082951466891742597908887546509504318237304688e-01, /* sh */
309
+ 6.89540544737066940506053924764273688197135925292969e-01, /* ch */
310
+ 2.91984713344030043552462778935493159883806968705675e-17, /* sm */
311
+ -1.58893232948067898977751614830710021398692474578962e-17, /* cm */
312
+ 2.30273249687394643468466642789742491277527364150754e-33, /* sl */
313
+ 9.12423562402057118300276915582756301317547938020558e-34, /* cl */
314
+ } ,
315
+ { /* sin/cos(34*pi/128) */
316
+ 7.40951125354959105884233849792508408427238464355469e-01, /* sh */
317
+ 6.71558954847018441114414599724113941192626953125000e-01, /* ch */
318
+ -1.47086169522973451831939448836260932254009548735474e-17, /* sm */
319
+ -4.04890377492966924579222325744820057841320210868276e-17, /* cm */
320
+ -4.95504338271420316912995166818275952337135785088300e-34, /* sl */
321
+ 3.19958356253556814327429889830897695603712398130540e-34, /* cl */
322
+ } ,
323
+ { /* sin/cos(35*pi/128) */
324
+ 7.57208846506484567484562830941285938024520874023438e-01, /* sh */
325
+ 6.53172842953776755514638807653682306408882141113281e-01, /* ch */
326
+ -1.99090987773355018590769198198766615206267472536943e-17, /* sm */
327
+ 8.56956420600262380032120093330718187007118037955581e-18, /* cm */
328
+ 3.94092832661584820126428051219691386352890448827143e-34, /* sl */
329
+ -6.91653223050706326446309100906668805486226797380063e-34, /* cl */
330
+ } ,
331
+ { /* sin/cos(36*pi/128) */
332
+ 7.73010453362736993376813643408240750432014465332031e-01, /* sh */
333
+ 6.34393284163645487794269683945458382368087768554688e-01, /* ch */
334
+ -3.25659070336497723355416983248241127086331816976265e-17, /* sm */
335
+ 1.04209019292800345765620100334821189439770902041504e-17, /* cm */
336
+ 1.38608072515239293103931950218033658496575955944579e-33, /* sl */
337
+ 4.11745589292804916608872033177616781045056039843844e-34, /* cl */
338
+ } ,
339
+ { /* sin/cos(37*pi/128) */
340
+ 7.88346427626606227612171551299979910254478454589844e-01, /* sh */
341
+ 6.15231590580626819253495796147035434842109680175781e-01, /* ch */
342
+ 3.43969931540597076013396400088425960673639156185612e-17, /* sm */
343
+ 2.62314177672669502523539824382601959772978459707084e-17, /* cm */
344
+ 1.77106237467371703799173999194548788681155596718637e-33, /* sl */
345
+ -1.40953666211067162505853387634546257268806948654638e-33, /* cl */
346
+ } ,
347
+ { /* sin/cos(38*pi/128) */
348
+ 8.03207531480644942867286317778052762150764465332031e-01, /* sh */
349
+ 5.95699304492433356905678465409437194466590881347656e-01, /* ch */
350
+ -3.30606098048149096139985697961182567790418192774440e-17, /* sm */
351
+ -1.34386419365794672370769766351890963879615472923649e-17, /* cm */
352
+ -1.22427262524204334204965494469832525240861319271513e-33, /* sl */
353
+ -6.78776879077210601615057451734157494786909383904135e-35, /* cl */
354
+ } ,
355
+ { /* sin/cos(39*pi/128) */
356
+ 8.17584813151583711388070696557406336069107055664062e-01, /* sh */
357
+ 5.75808191417845338655467912758467718958854675292969e-01, /* ch */
358
+ -1.48831498124267717438654368251080189181059728497540e-17, /* sm */
359
+ -3.79094954589427341338090415345480342563618583176174e-17, /* cm */
360
+ -7.82732627712989170819884242480669228359664723248350e-34, /* sl */
361
+ -2.74337380468543094919985039492410424892033458032374e-33, /* cl */
362
+ } ,
363
+ { /* sin/cos(40*pi/128) */
364
+ 8.31469612302545235671402679145103320479393005371094e-01, /* sh */
365
+ 5.55570233019602177648721408331766724586486816406250e-01, /* ch */
366
+ 1.40738569847280238930785242263532116993349751072869e-18, /* sm */
367
+ 4.70941094056167682138404887426404929202505139640422e-17, /* cm */
368
+ 4.69513153839808352458514422733246165217408979962725e-35, /* sl */
369
+ -2.06405203836829206177595824610721979274646969038677e-33, /* cl */
370
+ } ,
371
+ { /* sin/cos(41*pi/128) */
372
+ 8.44853565249707116890931501984596252441406250000000e-01, /* sh */
373
+ 5.34997619887097264346209612995153293013572692871094e-01, /* ch */
374
+ -4.36313602968796371239489349318562331730725440347672e-17, /* sm */
375
+ -5.36831327083581339873963151168879848386957514422019e-17, /* cm */
376
+ -2.03077268533675470129749465480265274351493013855507e-33, /* sl */
377
+ -1.39005699188381123579693330118086965951478315829762e-33, /* cl */
378
+ } ,
379
+ { /* sin/cos(42*pi/128) */
380
+ 8.57728610000272118085717920621391385793685913085938e-01, /* sh */
381
+ 5.14102744193221772306401362584438174962997436523438e-01, /* ch */
382
+ -4.81834479363366201443381433448989495956683085629586e-17, /* sm */
383
+ -4.57127075236156239511828925399355339402327136821488e-17, /* cm */
384
+ -1.10441305176875333754243497414965343357566732409805e-33, /* sl */
385
+ 1.54882794422382834009847995565726593342335634635644e-33, /* cl */
386
+ } ,
387
+ { /* sin/cos(43*pi/128) */
388
+ 8.70086991108711460540803273033816367387771606445312e-01, /* sh */
389
+ 4.92898192229784037898809856415027752518653869628906e-01, /* ch */
390
+ -4.18885108685499682324788024356996724212552957633711e-17, /* sm */
391
+ -1.02578316765621855379978432396560880807423053235781e-18, /* cm */
392
+ 7.09001858618784147808113574428963243591875515454078e-34, /* sl */
393
+ 6.95208177608850685652817838158830003461259862153976e-35, /* cl */
394
+ } ,
395
+ { /* sin/cos(44*pi/128) */
396
+ 8.81921264348355049556005269550951197743415832519531e-01, /* sh */
397
+ 4.71396736825997642039709489836241118609905242919922e-01, /* ch */
398
+ -1.98432484058905621441138331351064557464910578392153e-17, /* sm */
399
+ 6.51667813606901296447208541365272563671678644989260e-18, /* cm */
400
+ -7.04121140076738336886106234154968299762349001311189e-34, /* sl */
401
+ 2.94575469662359839325656601464778797771834866677748e-34, /* cl */
402
+ } ,
403
+ { /* sin/cos(45*pi/128) */
404
+ 8.93224301195515324458540362684288993477821350097656e-01, /* sh */
405
+ 4.49611329654606595163102156220702454447746276855469e-01, /* ch */
406
+ -4.11612391519089126927973381825877743981647578251702e-18, /* sm */
407
+ 4.88319242320352434992459578960859391755338197539985e-18, /* cm */
408
+ 2.53802538057159989694478858192415647688294380587576e-34, /* sl */
409
+ 2.71510844981913810248805367518978860016097711671055e-34, /* cl */
410
+ } ,
411
+ { /* sin/cos(46*pi/128) */
412
+ 9.03989293123443338195954765978967770934104919433594e-01, /* sh */
413
+ 4.27555093430282084909777040593326091766357421875000e-01, /* ch */
414
+ -6.60975446874843084950410324118654757730786778092578e-18, /* sm */
415
+ 9.41118981629547261700504547345546652274077429814600e-18, /* cm */
416
+ 1.27280130346803566179582264758403917100160817972220e-34, /* sl */
417
+ -1.74466824265988005677926664445477172311534261793862e-34, /* cl */
418
+ } ,
419
+ { /* sin/cos(47*pi/128) */
420
+ 9.14209755703530690951197357208002358675003051757812e-01, /* sh */
421
+ 4.05241314004989860997341111215064302086830139160156e-01, /* ch */
422
+ -3.63161825278144230137483342238202646129279797999369e-17, /* sm */
423
+ 9.91114019428998841611582656929141002790524150916273e-18, /* cm */
424
+ -1.94388197771225539922639474168732176327545733871664e-33, /* sl */
425
+ -2.51690708954346477356872397338259880052208425689270e-34, /* cl */
426
+ } ,
427
+ { /* sin/cos(48*pi/128) */
428
+ 9.23879532511286738483136105060111731290817260742188e-01, /* sh */
429
+ 3.82683432365089781779232680491986684501171112060547e-01, /* ch */
430
+ 1.76450470843366770599569725809896737820548554530071e-17, /* sm */
431
+ -1.00507726964615876116866635215079604149716565502162e-17, /* cm */
432
+ -5.04425373215868178317262040897837818667759555267340e-34, /* sl */
433
+ -2.06053163028066946700869844728951806226449919556645e-34, /* cl */
434
+ } ,
435
+ { /* sin/cos(49*pi/128) */
436
+ 9.32992798834738845670244700158946216106414794921875e-01, /* sh */
437
+ 3.59895036534988166376791696166037581861019134521484e-01, /* ch */
438
+ 4.20414155553843553793296357703776047390203635491842e-17, /* sm */
439
+ -1.76016871238392824991712490180716397399893409400325e-17, /* cm */
440
+ 9.02858964955212762289886973560835699430495731315468e-34, /* sl */
441
+ 1.33751254730467910174693675743357144631063005169968e-33, /* cl */
442
+ } ,
443
+ { /* sin/cos(50*pi/128) */
444
+ 9.41544065183020806308888950297841802239418029785156e-01, /* sh */
445
+ 3.36889853392220051109262612953898496925830841064453e-01, /* ch */
446
+ -2.78963795476983410723774639073498160082587681962273e-17, /* sm */
447
+ -4.20009400334750923530198764394686942499166950042589e-19, /* cm */
448
+ 1.62732363567338984793340006492231780038121787494388e-33, /* sl */
449
+ -2.91786529699854378247553773743757458316226497390670e-36, /* cl */
450
+ } ,
451
+ { /* sin/cos(51*pi/128) */
452
+ 9.49528180593036674750351266993675380945205688476562e-01, /* sh */
453
+ 3.13681740398891462096031546025187708437442779541016e-01, /* ch */
454
+ -7.55441519280432984009053129417731398148166729726062e-18, /* sm */
455
+ 1.45604472999689122359140657497995731581857682115574e-17, /* cm */
456
+ -5.12602450240466855759717750777748877302823219800281e-34, /* sl */
457
+ 3.65641868980115946347742781527870762816609669157526e-34, /* cl */
458
+ } ,
459
+ { /* sin/cos(52*pi/128) */
460
+ 9.56940335732208824381928025104571133852005004882812e-01, /* sh */
461
+ 2.90284677254462386564171083591645583510398864746094e-01, /* ch */
462
+ 4.05538698618757005503321806309621067670667256244675e-17, /* sm */
463
+ -1.89279787077742514611142383006534872375212090104104e-17, /* cm */
464
+ -1.71470133643021490774251081375403695480671459421111e-33, /* sl */
465
+ 1.15229531571423146986028622140694357073680581126202e-33, /* cl */
466
+ } ,
467
+ { /* sin/cos(53*pi/128) */
468
+ 9.63776065795439840222513794287806376814842224121094e-01, /* sh */
469
+ 2.66712757474898365384063936289749108254909515380859e-01, /* ch */
470
+ 2.64639505612200287797555650837254713865234329571181e-17, /* sm */
471
+ 2.09412225788266884161338599457742136857657480229159e-17, /* cm */
472
+ -2.90732345901993230283123062176090186865215463253595e-36, /* sl */
473
+ -1.13034665247279893680679089609736970876966889026874e-33, /* cl */
474
+ } ,
475
+ { /* sin/cos(54*pi/128) */
476
+ 9.70031253194543974238683858857257291674613952636719e-01, /* sh */
477
+ 2.42980179903263898699705691797134932130575180053711e-01, /* ch */
478
+ 1.83653003484288443908920092041031891826103053310748e-17, /* sm */
479
+ -8.75143152971966315657698066597556045463081095367626e-18, /* cm */
480
+ -1.43110975719449184241630500775446481526298855330310e-33, /* sl */
481
+ -6.57232603730794308023668785032351777033485854907112e-34, /* cl */
482
+ } ,
483
+ { /* sin/cos(55*pi/128) */
484
+ 9.75702130038528570032951847679214552044868469238281e-01, /* sh */
485
+ 2.19101240156869797592875670488865580409765243530273e-01, /* ch */
486
+ -2.55725560812596856486584111140239960382614753072513e-17, /* sm */
487
+ -3.65138122991507758201905028218239594431466287621283e-19, /* cm */
488
+ -9.31742445089422233678739018667912651409612658394109e-34, /* sl */
489
+ -2.33594994186064420524188910640554529764134815908088e-35, /* cl */
490
+ } ,
491
+ { /* sin/cos(56*pi/128) */
492
+ 9.80785280403230430579242238309234380722045898437500e-01, /* sh */
493
+ 1.95090322016128275839363936938752885907888412475586e-01, /* ch */
494
+ 1.85469399978250057259083323855314298012062932205111e-17, /* sm */
495
+ -7.99107906846173126344289703693072234842489650708062e-18, /* cm */
496
+ -1.06965644455307566037437785239692763829708493768038e-33, /* sl */
497
+ 6.18462700242207127058950316629513247512028088300259e-34, /* cl */
498
+ } ,
499
+ { /* sin/cos(57*pi/128) */
500
+ 9.85277642388941221618381405278341844677925109863281e-01, /* sh */
501
+ 1.70961888760301217171644339032354764640331268310547e-01, /* ch */
502
+ 2.31556370279002066952419195035978530309724519300942e-17, /* sm */
503
+ 9.19199801817590944421343720066011137609803605455754e-18, /* cm */
504
+ -7.52759715457648329988759858960284250572199307609030e-34, /* sl */
505
+ -6.76887439409826056872126962280395760312157075744208e-34, /* cl */
506
+ } ,
507
+ { /* sin/cos(58*pi/128) */
508
+ 9.89176509964781014438983675063354894518852233886719e-01, /* sh */
509
+ 1.46730474455361747931902982600149698555469512939453e-01, /* ch */
510
+ -4.09873099370471113819595571800653989851994072636781e-17, /* sm */
511
+ 3.72694714704656774762676429108167171813186218775477e-18, /* cm */
512
+ -4.48575605520484372949276939500710783945639583248830e-34, /* sl */
513
+ 3.73523981512508271311947760640000952122222968339672e-34, /* cl */
514
+ } ,
515
+ { /* sin/cos(59*pi/128) */
516
+ 9.92479534598709967063712156232213601469993591308594e-01, /* sh */
517
+ 1.22410675199216195663254325154412072151899337768555e-01, /* ch */
518
+ 3.10930550954289060565003028451274795448754407491652e-17, /* sm */
519
+ 2.83545014899653353390676675638351012269446701684827e-18, /* cm */
520
+ -1.83795947578180190975980887553298238967275792441039e-33, /* sl */
521
+ 1.81516557514933045310042069477077268403843802536068e-34, /* cl */
522
+ } ,
523
+ { /* sin/cos(60*pi/128) */
524
+ 9.95184726672196928731750631413888186216354370117188e-01, /* sh */
525
+ 9.80171403295606036287779261328978464007377624511719e-02, /* ch */
526
+ -4.24869136783044095961919567518488446851237034975878e-17, /* sm */
527
+ -1.63458236224425598733036227927721717477694202336940e-18, /* cm */
528
+ 1.33155107725046144631896989941148168106742079450765e-33, /* sl */
529
+ -1.32092388100064537760551925056417985745657226089355e-35, /* cl */
530
+ } ,
531
+ { /* sin/cos(61*pi/128) */
532
+ 9.97290456678690206970827603072393685579299926757812e-01, /* sh */
533
+ 7.35645635996674263079597722025937400758266448974609e-02, /* ch */
534
+ 9.16476953711017345735104565501545052170255011497269e-18, /* sm */
535
+ -2.77849415062735932702215188936675076042592110809248e-18, /* cm */
536
+ 6.78241343097392959213418956364511469074601099596281e-34, /* sl */
537
+ -9.12403754898528209738897073370755128458265201364941e-35, /* cl */
538
+ } ,
539
+ { /* sin/cos(62*pi/128) */
540
+ 9.98795456205172405006464941834565252065658569335938e-01, /* sh */
541
+ 4.90676743274180149345653489945107139647006988525391e-02, /* ch */
542
+ -1.22916933370754648023069228195440464413706083235769e-17, /* sm */
543
+ -6.79610372051828011331087211108459897310458406639606e-19, /* cm */
544
+ 2.44684467864912710011822340186994056439724387642614e-34, /* sl */
545
+ -4.43188681247183252512131377148380367335867976105441e-35, /* cl */
546
+ } ,
547
+ { /* sin/cos(63*pi/128) */
548
+ 9.99698818696204249967252053465927019715309143066406e-01, /* sh */
549
+ 2.45412285229122881236030195850617019459605216979980e-02, /* ch */
550
+ -2.98514864037997529143865109884349378101639351597209e-17, /* sm */
551
+ -9.18684901257787817511092729052523410277440947511204e-20, /* cm */
552
+ -1.90847873707337374441321797545527262287132421960372e-33, /* sl */
553
+ 4.87061487044670605326897942323184237088370497395221e-36, /* cl */
554
+ } ,
555
+ };
556
+
@@ -0,0 +1,57 @@
1
+ /*
2
+ * triple_double.c
3
+ *
4
+ * This file contains useful tools and data for triple double data representation.
5
+ *
6
+ */
7
+
8
+ #include "triple-double.h"
9
+ #include "crlibm_private.h"
10
+
11
+
12
+ #if TRIPLEDOUBLE_AS_FUNCTIONS
13
+
14
+ #if 0
15
+ void Renormalize3(double* resh, double* resm, double* resl, double ah, double am, double al)
16
+ {
17
+ DoRenormalize3(resh, resm, resl, ah, am, al);
18
+ }
19
+ #endif
20
+
21
+
22
+ void Mul23(double* resh, double* resm, double* resl, double ah, double al, double bh, double bl)
23
+ {
24
+ DoMul23(resh, resm, resl, ah, al, bh, bl);
25
+ }
26
+
27
+ void Mul233(double* resh, double* resm, double* resl, double ah, double al, double bh, double bm, double bl)
28
+ {
29
+ DoMul233(resh, resm, resl, ah, al, bh, bm, bl);
30
+ }
31
+
32
+ void Mul33(double* resh, double* resm, double* resl, double ah, double am, double al, double bh, double bm, double bl)
33
+ {
34
+ DoMul33(resh, resm, resl, ah, am, al, bh, bm, bl);
35
+ }
36
+
37
+ void Mul133(double* resh, double* resm, double* resl, double a, double bh, double bm, double bl)
38
+ {
39
+ DoMul133(resh, resm, resl, a, bh, bm, bl);
40
+ }
41
+
42
+ void Mul123(double* resh, double* resm, double* resl, double a, double bh, double bl)
43
+ {
44
+ DoMul123(resh, resm, resl, a, bh, bl);
45
+ }
46
+
47
+ void Sqrt13(double* resh, double* resm, double* resl, double x)
48
+ {
49
+ DoSqrt13(resh, resm, resl , x);
50
+ }
51
+
52
+ void Recpr33(double* resh, double* resm, double* resl, double dh, double dm, double dl)
53
+ {
54
+ DoRecpr33(resh, resm, resl, dh, dm, dl);
55
+ }
56
+
57
+ #endif /* TRIPLEDOUBLE_AS_FUNCTIONS*/