-
Notifications
You must be signed in to change notification settings - Fork 1
/
test.txt
382 lines (276 loc) · 13.5 KB
/
test.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
TESTPROGRAM EXACT NUMERICS WITH LARGE PRECISION
===============================================
Legenda:
--------
calc -> Calculations in MS-Calc (standard calculator)
double -> Build in C++ datatype 'double'
afp -> Datatype 'Arbitrairy Floating Point' of Henrik Vestermark
icd -> Datatype 'Integer Coded Decimal'
bcd -> Datatype 'Binairy Coded Decimal'
Calibrating delta = 0.000000
Floating point constants in [1000] iterations are:
Constant Type Time Value
------- ------ -------- ---------------------------------------------
LN10 Calc 0.000000 +2.3025850929940456840179914546844
afp 0.001283 +2.3025850929940456840179914546843642076019
icd 0.000003 +2.3025850929940456840179914546843642076019
bcd 0.000001 +2.302585092994045684017991454684364207601
LN2 Calc 0.000000 +0.69314718055994530941723212145818
afp 0.001231 +0.69314718055994530941723212145817656807559
icd 0.000002 +0.6931471805599453094172321214581765680756
bcd 0.000001 +0.6931471805599453094172321214581765680755
Testing [multiplication] for a total of [1000] iterations:
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +6325255238149668.8052126159533604
double 0.000001 +6325255238149668.000000000000000
afp 0.002810 +6325255238149668.80521261595336041726870921383936
icd 0.000230 +6325255238149668.80521261595336041726870921383936
bcd 0.000060 +6325255238149668.8052126159533604172687
Testing [division] for a total of [1000] iterations:
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +240963853305269.14298709106993387
double 0.000001 +240963853305269.125000000000000
afp 0.037819 +240963853305269.142987091069933865810629953663935992813942031
icd 0.005410 +240963853305269.1429870910699338658106299536639359928139
bcd 0.001060 +240963853305269.1429870910699338658106299
Testing [adding] for a total of [1000] iterations:
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +2111111100999999.3343333322232221
double 0.000000 +2111111100999999.250000000000000
afp 0.000557 +2111111100999999.33433333222322214321
icd 0.000029 +2111111100999999.33433333222322214321
bcd 0.000027 +2111111100999999.33433333222322214321
Testing [subtracting] for a total of [1000] iterations:
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +358024679246912.91258024580146906
double 0.000001 +358024679246912.750000000000000
afp 0.000872 +358024679246912.91258024580146905679
icd 0.000025 +358024679246912.91258024580146905679
bcd 0.000032 +358024679246912.91258024580146905679
Testing [modulo] for a total of [1000] iterations:
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +0.7325881824833792
double 0.000008 +0.694153449545996
afp 0.039604 +0.7325881824833792
icd 0.005660 +0.7325881824833792
bcd 0.001320 +0.7325881824833792
Testing [division] for a total of [1000] iterations:
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +1.5159130887395963684392407742872
double 0.000001 +1.515913088739596
afp 0.038729 +1.51591308873959636843924077428723430242042752396100737400336
icd 0.000575 +1.5159130887395963684392407742872343024204
bcd 0.001066 +1.51591308873959636843924077428723430242
Testing the function [sine] for a total of [1000] iterations:
Input: 0.9876543210123456
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +0.83473662950992611734760931537911
double 0.000005 +0.834736629509926
afp 0.593128 +0.8347366295099261173476093153791068840876
icd 0.037611 +0.8347366295099261173476093153791068840878
bcd 0.034394 +0.8347366295099261173476093153791068840984
Testing the function [cosine] for a total of [1000] iterations:
Input: 0.9876543210123456
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +0.55064939785167144253408441175647
double 0.000008 +0.550649397851671
afp 0.592282 +0.5506493978516714425340844117564672940309
icd 0.102420 +0.5506493978516714425340844117564672940295
bcd 0.029277 +0.5506493978516714425340844117564672940338
Testing the function [tangent] for a total of [1000] iterations:
Input: 0.9876543210123456
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +1.5159130887395963684392407742872
double 0.000014 +1.515913088739596
afp 0.724547 +1.515913088739596368439240774287234302419
icd 0.054544 +1.5159130887395963684392407742872343024204
bcd 0.040897 +1.51591308873959636843924077428723430249
Testing the function [arcsine] for a total of [1000] iterations:
Input: 0.765498765404321098765
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +0.87181613107055910102494602134303
double 0.000017 +0.871816131070559
afp 2.328407 +0.8718161310705591010260584318075397795738
icd 0.123597 +0.8718161310705591010249460213430371705786
bcd 0.109668 +0.871816131070559101024946021343034377293
Testing the function [arccosine] for a total of [1000] iterations:
Input: 0.765498765404321098765
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +0.69898019572433751820637567029672
double 0.000013 +0.698980195724338
afp 2.347872 +0.69898019572433751827
icd 0.128435 +0.69898019572433751820637567029671427152
bcd 0.110912 +0.698980195724337518206375670296717064805
Testing the function [arctangent] for a total of [1000] iterations:
Input: 0.765498765404321098765
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +0.653346752384431270749403109172
double 0.000006 +0.653346752384431
afp 1.621152 +0.653346752384431270748957166194371269893
icd 0.092300 +0.6533467523844312707494031091720016391906
bcd 0.051487 +0.653346752384431270749403109172000942006
Testing the function [squareroot] for a total of [1000] iterations:
Input: 98765432109876543210.123456789012345678901234567890
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +9938079900.558082311745752865316
double 0.000001 +9938079900.558082580566406
afp 0.052812 +9938079900.558082311745752865316008477267
icd 0.116747 +9938079900.5580823117457528653160084772623717761024
bcd 0.037662 +9938079900.55808231174575286531600847719
Testing the function [floor] for a total of [1000] iterations:
Input: 98765432109876543210.123456789012345678901234567890
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +98765432109876543210
double 0.000002 +98765432109876543488.000000000000000
afp 0.000376 +98765432109876543210
icd 0.000008 +9876543210987654321
bcd 0.000075 +98765432109876543210.00
Testing the function [ceiling] for a total of [1000] iterations:
Input: 98765432109876543210.123456789012345678901234567890
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +98765432109876543211
double 0.000002 +98765432109876543488.000000000000000
afp 0.000434 +98765432109876543211
icd 0.000053 +98765432109876543211
bcd 0.000120 +98765432109876543211.00
Testing the function [absolute] for a total of [1000] iterations:
Input: -98765432109876543210.123456789012345678901234567890
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +98765432109876543210.123456789012345678901234567890
double 0.000000 +98765432109876543488.000000000000000
afp 0.000226 +98765432109876543210.1234567890123456789
icd 0.000003 +98765432109876543210.12345678901234567890123456789
bcd 0.000001 +98765432109876543210.1234567890123456789
Testing the function [log10] for a total of [1000] iterations:
Input: 98765432109876543210.123456789012345678901234567890
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +19.994604968162151965673558368195
double 0.000005 +19.994604968162150
afp 0.997249 +19.99460496816215196567355836819543212297
icd 0.164848 +19.9946049681621519656735583681954349795885
bcd 0.051191 +19.9946049681621519656735583681954321229
Testing the function [log] for a total of [1000] iterations:
Input: 98765432109876543210.123456789012345678901234567890
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +46.039279339994856527044707840045
double 0.000004 +46.039279339994856
afp 0.956651 +46.03927933999485652704470784004501860464
icd 0.161239 +46.0392793399948565270447078400450251822633
bcd 0.049854 +46.03927933999485652704470784004501860446
Testing the function [exp] for a total of [1000] iterations:
Input: 26.5566778899001122334455
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +341521984409.089389680737393624
double 0.000004 +341521984409.089111328125000
afp 0.884384 +341521984409.0893896807373936240040089964
icd 0.092201 +341521984409.0893896807373936240040089791844888124659
bcd 0.025937 +341521984409.0893896807373936240040087536
Testing the function [power] for a total of [1000] iterations:
Input1: 26.5566778899001122334455
Input2: 7.6655443322110099887766
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +82616536947.2042654425347359351
double 0.000025 +82616536947.204360961914062
afp 1.733130 +82616536947.20426544253473593509986208369
icd 0.168278 +82616536947.2042654425347359351017391220410376943055
bcd 0.060471 +82616536947.204265442534735935099861995
Testing the function [splitfloat] for a total of [1000] iterations:
Input: 1234567890123456.1234567890123456
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +0.1234567890123456
0.000000 +1234567890123456
double 0.000003 +0.000000000000000
+1234567890123456.000000000000000
afp 0.008183 +0.1234567890123456
+1234567890123456
icd 0.000005 +0.1234567890123456
+1234567890123456
bcd 0.000264 +0.1234567890123456
+1234567890123456.00
Testing the function [modulo] for a total of [1000] iterations:
Input1: 1234567890123456.1234567890123456
Input2: 5.1234567890123456
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +0.7325881824833792
double 0.000007 +0.694153449545996
afp 0.038523 +0.7325881824833792
icd 0.005673 +0.7325881824833792
bcd 0.001323 +0.7325881824833792
Testing the function [mantissa-exponent split] for a total of [1000] iterations:
Input: 1234567890123456.1234567890123456
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +1.2345678901234561234567890123456
0.000000 +15
double 0.000020 +0.548258278831184
+51
afp 0.000193 +1.2345678901234561234567890123456
+15
icd 0.000287 +1.2345678901234561234567890123456
+15
bcd 0.000001 +1.2345678901234561234567890123456
+15
Testing the function [mantissa-exponent split] for a total of [1000] iterations:
Input: -98765432109876543210.123456789012345678901234567890
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +1.2345678901234561234567890123456
0.000000 +15
double 0.000014 +-0.669260600374986
+67
afp 0.000198 -9.87654321098765432101234567890123456789
+19
icd 0.000183 -9.8765432109876543210123456789012345678901
+19
bcd 0.000001 +9.87654321098765432101234567890123456789
+19
Testing the function [mantissa-exponent split] for a total of [1000] iterations:
Input: 0.00000000000000077665544332211998877665544332211
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +7.7665544332211998877665544332211
0.000000 +-16
double 0.000013 +0.874436291285192
+-50
afp 0.000193 +7.7665544332211998877665544332211
+-16
icd 0.000266 +7.766554433221199887766554
+-16
bcd 0.000001 +7.76655443322119988776655
+-16
Testing the function [mult-2-power] for a total of [1000] iterations:
Input1: 26.5566778899001122334455
Input2: 7.6655443322110099887766
Type Time Value
------ ---------- ------------------------------------------------------
calc 0.000000 +3399.254769907214365881024
double 0.000015 +3399.254769907214268
afp 0.002279 +3399.254769907214365881024
icd 0.000230 +3399.254769907214365881024
bcd 0.000098 +3399.254769907214365881024
Testing SQL_NUMERIC_STRUCT for a total of [1000] iterations
SQL_NUMERIC_STRUCT -> bcd 0.000713 : 10.001
bcd -> SQL_NUMERIC_STRUCT 0.001301 : 10.001
Seen the output?