| line |
true |
false |
branch |
|
36
|
14231 |
14999 |
if(power < 0) { |
|
37
|
38609 |
14231 |
while(power < -100) { |
|
41
|
80665 |
14231 |
while(power < -10) { |
|
45
|
86277 |
14231 |
while(power) { |
|
51
|
38770 |
14999 |
while(power > 100) { |
|
55
|
78502 |
14999 |
while(power > 10) { |
|
59
|
72149 |
14999 |
while(power) { |
|
68
|
48197 |
38 |
if(x == x) return 0; |
|
73
|
0 |
48244 |
if(x != x) return 0; /* NaN */ |
|
74
|
378 |
47866 |
if(x == 0.0DD) return 0; /* Zero */ |
|
75
|
76 |
47790 |
if(x/x != x/x) { |
|
76
|
34 |
42 |
if(x < 0.0DD) return -1; |
|
112
|
225035 |
1273 |
if(d64 != 0.0DD) { |
|
113
|
0 |
225035 |
if(d64 * -1.0DD == 0.0DD) return 1; /* it's a -0 */ |
|
120
|
728 |
545 |
if(((unsigned char*)p)[n - 1] >= 128) return 1; |
|
126
|
0 |
0 |
if(SvNV(x) == SvNV(x)) return newSViv(0); |
|
|
0 |
0 |
if(SvNV(x) == SvNV(x)) return newSViv(0); |
|
|
0 |
0 |
if(SvNV(x) == SvNV(x)) return newSViv(0); |
|
131
|
0 |
0 |
if(SvNV(x) != SvNV(x)) return 0; /* NaN */ |
|
|
0 |
0 |
if(SvNV(x) != SvNV(x)) return 0; /* NaN */ |
|
|
0 |
0 |
if(SvNV(x) != SvNV(x)) return 0; /* NaN */ |
|
132
|
0 |
0 |
if(SvNV(x) == 0.0) return newSViv(0); /* Zero */ |
|
|
0 |
0 |
if(SvNV(x) == 0.0) return newSViv(0); /* Zero */ |
|
133
|
0 |
0 |
if(SvNV(x)/SvNV(x) != SvNV(x)/SvNV(x)) { |
|
|
0 |
0 |
if(SvNV(x)/SvNV(x) != SvNV(x)/SvNV(x)) { |
|
|
0 |
0 |
if(SvNV(x)/SvNV(x) != SvNV(x)/SvNV(x)) { |
|
|
0 |
0 |
if(SvNV(x)/SvNV(x) != SvNV(x)/SvNV(x)) { |
|
|
0 |
0 |
if(SvNV(x)/SvNV(x) != SvNV(x)/SvNV(x)) { |
|
134
|
0 |
0 |
if(SvNV(x) < 0.0) return newSViv(-1); |
|
|
0 |
0 |
if(SvNV(x) < 0.0) return newSViv(-1); |
|
143
|
0 |
0 |
if(SvNV(x) != 0.0) return newSViv(0); |
|
|
0 |
0 |
if(SvNV(x) != 0.0) return newSViv(0); |
|
145
|
0 |
0 |
sprintf(buffer, "%.0f", (double)SvNV(x)); |
|
147
|
0 |
0 |
if(strcmp(buffer, "-0")) { |
|
155
|
17 |
70 |
if(sign < 0) return -1.0DD/0.0DD; |
|
174
|
1 |
29734 |
if(!strcmp(s, "0 but true")) return 0.DD; |
|
176
|
29 |
29750 |
while(s[0] == ' ' || s[0] == '\t' || s[0] == '\n' || s[0] == '\r' || s[0] == '\f') s++; |
|
|
4 |
29746 |
while(s[0] == ' ' || s[0] == '\t' || s[0] == '\n' || s[0] == '\r' || s[0] == '\f') s++; |
|
|
4 |
29742 |
while(s[0] == ' ' || s[0] == '\t' || s[0] == '\n' || s[0] == '\r' || s[0] == '\f') s++; |
|
|
4 |
29738 |
while(s[0] == ' ' || s[0] == '\t' || s[0] == '\n' || s[0] == '\r' || s[0] == '\f') s++; |
|
|
4 |
29734 |
while(s[0] == ' ' || s[0] == '\t' || s[0] == '\n' || s[0] == '\r' || s[0] == '\f') s++; |
|
178
|
14833 |
14901 |
if(s[0] == '-') { |
|
183
|
12 |
14889 |
if(s[0] == '+') s++; |
|
186
|
29714 |
20 |
if((s[0] == 'i' || s[0] == 'I') && (s[1] == 'n' || s[1] == 'N') && (s[2] == 'f' || s[2] == 'F')) { |
|
|
1 |
29713 |
if((s[0] == 'i' || s[0] == 'I') && (s[1] == 'n' || s[1] == 'N') && (s[2] == 'f' || s[2] == 'F')) { |
|
|
0 |
21 |
if((s[0] == 'i' || s[0] == 'I') && (s[1] == 'n' || s[1] == 'N') && (s[2] == 'f' || s[2] == 'F')) { |
|
|
0 |
0 |
if((s[0] == 'i' || s[0] == 'I') && (s[1] == 'n' || s[1] == 'N') && (s[2] == 'f' || s[2] == 'F')) { |
|
|
0 |
21 |
if((s[0] == 'i' || s[0] == 'I') && (s[1] == 'n' || s[1] == 'N') && (s[2] == 'f' || s[2] == 'F')) { |
|
|
0 |
0 |
if((s[0] == 'i' || s[0] == 'I') && (s[1] == 'n' || s[1] == 'N') && (s[2] == 'f' || s[2] == 'F')) { |
|
187
|
18 |
3 |
if((s[3] == 'i' || s[3] == 'I') && (s[4] == 'n' || s[4] == 'N') && (s[5] == 'i' || s[5] == 'I') && |
|
|
0 |
18 |
if((s[3] == 'i' || s[3] == 'I') && (s[4] == 'n' || s[4] == 'N') && (s[5] == 'i' || s[5] == 'I') && |
|
|
0 |
3 |
if((s[3] == 'i' || s[3] == 'I') && (s[4] == 'n' || s[4] == 'N') && (s[5] == 'i' || s[5] == 'I') && |
|
|
0 |
0 |
if((s[3] == 'i' || s[3] == 'I') && (s[4] == 'n' || s[4] == 'N') && (s[5] == 'i' || s[5] == 'I') && |
|
|
0 |
3 |
if((s[3] == 'i' || s[3] == 'I') && (s[4] == 'n' || s[4] == 'N') && (s[5] == 'i' || s[5] == 'I') && |
|
|
0 |
0 |
if((s[3] == 'i' || s[3] == 'I') && (s[4] == 'n' || s[4] == 'N') && (s[5] == 'i' || s[5] == 'I') && |
|
|
1 |
2 |
if((s[3] == 'i' || s[3] == 'I') && (s[4] == 'n' || s[4] == 'N') && (s[5] == 'i' || s[5] == 'I') && |
|
188
|
1 |
0 |
(s[6] == 't' || s[6] == 'T') && (s[7] == 'y' || s[7] == 'Y')) count = 5; |
|
|
1 |
2 |
(s[6] == 't' || s[6] == 'T') && (s[7] == 'y' || s[7] == 'Y')) count = 5; |
|
|
0 |
1 |
(s[6] == 't' || s[6] == 'T') && (s[7] == 'y' || s[7] == 'Y')) count = 5; |
|
190
|
17 |
9 |
if(s[i] == 0) return _get_inf(negative); |
|
191
|
4 |
5 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
4 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
4 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
4 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
4 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
193
|
4 |
0 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
|
0 |
4 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
200
|
29699 |
14 |
if((s[0] == 'n' || s[0] == 'N') && (s[1] == 'a' || s[1] == 'A') && (s[2] == 'n' || s[2] == 'N')) { |
|
|
0 |
29699 |
if((s[0] == 'n' || s[0] == 'N') && (s[1] == 'a' || s[1] == 'A') && (s[2] == 'n' || s[2] == 'N')) { |
|
|
0 |
14 |
if((s[0] == 'n' || s[0] == 'N') && (s[1] == 'a' || s[1] == 'A') && (s[2] == 'n' || s[2] == 'N')) { |
|
|
0 |
0 |
if((s[0] == 'n' || s[0] == 'N') && (s[1] == 'a' || s[1] == 'A') && (s[2] == 'n' || s[2] == 'N')) { |
|
|
0 |
14 |
if((s[0] == 'n' || s[0] == 'N') && (s[1] == 'a' || s[1] == 'A') && (s[2] == 'n' || s[2] == 'N')) { |
|
|
0 |
0 |
if((s[0] == 'n' || s[0] == 'N') && (s[1] == 'a' || s[1] == 'A') && (s[2] == 'n' || s[2] == 'N')) { |
|
202
|
14 |
0 |
if(s[i] == 0) return _get_nan(); |
|
203
|
0 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
0 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
0 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
0 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
0 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
205
|
0 |
0 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
|
0 |
0 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
213
|
952 |
28747 |
if(!isdigit(s[0]) && s[0] != '.') { |
|
|
9 |
943 |
if(!isdigit(s[0]) && s[0] != '.') { |
|
215
|
9 |
0 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
|
0 |
9 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
217
|
3 |
6 |
result = negative ? result * -1.DD : result; |
|
221
|
189702 |
29690 |
for(; isdigit(*s); s++) { |
|
226
|
14917 |
14773 |
if(s[0] == '.') { |
|
228
|
65071 |
14917 |
for(i = 0; isdigit(s[i]) ;i++) { |
|
235
|
14820 |
14870 |
if(negative) result *= -1.DD; |
|
237
|
7757 |
21933 |
if(s[i] == 'e' || s[i] == 'E') { |
|
|
7297 |
460 |
if(s[i] == 'e' || s[i] == 'E') { |
|
239
|
14231 |
14999 |
if(*s == '-') { |
|
241
|
40437 |
14231 |
for(i = 0; isdigit(s[i]);i++) exponent = (exponent * 10) + (s[i] - '0'); |
|
242
|
43822 |
14231 |
while(exponent > 398) { |
|
251
|
14230 |
1 |
if(s[i] == 0) return result; |
|
252
|
1 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
1 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
1 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
1 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
1 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
254
|
1 |
0 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
|
0 |
1 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
261
|
6 |
14993 |
if(*s == '+') s++; |
|
262
|
41528 |
14999 |
for(i = 0; isdigit(s[i]);i++) exponent = (exponent * 10) + (s[i] - '0'); |
|
263
|
124100 |
14999 |
while(exponent > 384) { |
|
273
|
14996 |
4 |
if(s[i] == 0) return result; |
|
274
|
3 |
1 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
3 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
3 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
3 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
3 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
276
|
3 |
0 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
|
0 |
3 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
286
|
453 |
10 |
if(s[i] == 0) return result; |
|
287
|
7 |
3 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
7 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
7 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
7 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
|
7 |
0 |
if(s[i] != ' ' && s[i] != '\t' && s[i] != '\n' && s[i] != '\r' && s[i] != '\f') { |
|
289
|
7 |
0 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
|
0 |
7 |
if(SvIV(get_sv("Math::Decimal64::NNW", 0))) |
|
301
|
0 |
8 |
if(d64 == NULL) croak("Failed to allocate memory in DEC64_MAX function"); |
|
319
|
0 |
9 |
if(d64 == NULL) croak("Failed to allocate memory in DEC64_MIN function"); |
|
338
|
0 |
28 |
if(d64 == NULL) croak("Failed to allocate memory in NaND64 function"); |
|
355
|
0 |
18 |
if(d64 == NULL) croak("Failed to allocate memory in InfD64 function"); |
|
372
|
0 |
47708 |
if(d64 == NULL) croak("Failed to allocate memory in ZeroD64 function"); |
|
378
|
23852 |
23856 |
if(sign < 0) *d64 *= -1; |
|
390
|
0 |
782 |
if(d64 == NULL) croak("Failed to allocate memory in UnityD64 function"); |
|
396
|
779 |
3 |
if(sign < 0) *d64 *= -1; |
|
414
|
0 |
1543 |
if(d64 == NULL) croak("Failed to allocate memory in Exp10 function"); |
|
420
|
527 |
1016 |
if(power < 0) { |
|
421
|
1056 |
527 |
while(power < -100) { |
|
425
|
1560 |
527 |
while(power < -10) { |
|
429
|
2778 |
527 |
while(power) { |
|
435
|
1068 |
1016 |
while(power > 100) { |
|
439
|
1850 |
1016 |
while(power > 10) { |
|
443
|
5104 |
1016 |
while(power) { |
|
459
|
0 |
3 |
if(d64 == NULL) croak("Failed to allocate memory in _testvalD64 function"); |
|
466
|
1 |
2 |
if(sign < 0) *d64 *= -1; |
|
477
|
546896 |
0 |
int exp = (int)SvIV(exponent), i; |
|
484
|
0 |
546896 |
if(d64 == NULL) croak("Failed to allocate memory in MEtoD64 function"); |
|
490
|
376972 |
169924 |
if(exp < 0) { |
|
491
|
39970682 |
376972 |
for(i = 0; i > exp; --i) *d64 *= 0.1DD; |
|
494
|
33078745 |
169924 |
for(i = 0; i < exp; ++i) *d64 *= 10.0DD; |
|
508
|
0 |
65 |
if(d64 == NULL) croak("Failed to allocate memory in NVtoD64 function"); |
|
513
|
62 |
3 |
*d64 = (_Decimal64)SvNV(x); |
|
526
|
0 |
17 |
if(d64 == NULL) croak("Failed to allocate memory in UVtoD64 function"); |
|
531
|
16 |
1 |
*d64 = (_Decimal64)SvUV(x); |
|
544
|
0 |
19 |
if(d64 == NULL) croak("Failed to allocate memory in IVtoD64 function"); |
|
549
|
19 |
0 |
*d64 = (_Decimal64)SvIV(x); |
|
561
|
0 |
17539 |
if(d64 == NULL) croak("Failed to allocate memory in PVtoD64 function"); |
|
608
|
0 |
0 |
if(sv_isobject(d64) && sv_isobject(ld)) { |
|
|
0 |
0 |
if(sv_isobject(d64) && sv_isobject(ld)) { |
|
609
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
610
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
611
|
0 |
0 |
if(strEQ(h1, "Math::Decimal64") && strEQ(h2, "Math::LongDouble")) { |
|
|
0 |
0 |
if(strEQ(h1, "Math::Decimal64") && strEQ(h2, "Math::LongDouble")) { |
|
620
|
0 |
0 |
if(sv_isobject(d64) && sv_isobject(ld)) { |
|
|
0 |
0 |
if(sv_isobject(d64) && sv_isobject(ld)) { |
|
621
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
|
0 |
0 |
const char *h1 = HvNAME(SvSTASH(SvRV(d64))); |
|
622
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
|
0 |
0 |
const char *h2 = HvNAME(SvSTASH(SvRV(ld))); |
|
623
|
0 |
0 |
if(strEQ(h1, "Math::Decimal64") && strEQ(h2, "Math::LongDouble")) { |
|
|
0 |
0 |
if(strEQ(h1, "Math::Decimal64") && strEQ(h2, "Math::LongDouble")) { |
|
638
|
8 |
0 |
int exp = (int)SvIV(c), i; |
|
644
|
4 |
4 |
if(exp < 0) { |
|
645
|
108 |
4 |
for(i = 0; i > exp; --i) *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) *= 0.1DD; |
|
648
|
402 |
4 |
for(i = 0; i < exp; ++i) *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) *= 10.0DD; |
|
659
|
2 |
0 |
if(sv_isobject(a)) { |
|
660
|
2 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
2 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
2 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
2 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
2 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
661
|
2 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
662
|
2 |
0 |
*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) = (_Decimal64)SvIV(val); |
|
672
|
1 |
0 |
if(sv_isobject(a)) { |
|
673
|
1 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
1 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
1 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
1 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
1 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
674
|
1 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
675
|
0 |
1 |
*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) = (_Decimal64)SvUV(val); |
|
685
|
2 |
0 |
if(sv_isobject(a)) { |
|
686
|
2 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
2 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
2 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
2 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
2 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
687
|
2 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
688
|
2 |
0 |
*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) = (_Decimal64)SvNV(val); |
|
698
|
1 |
0 |
if(sv_isobject(a) && sv_isobject(val)) { |
|
|
1 |
0 |
if(sv_isobject(a) && sv_isobject(val)) { |
|
699
|
1 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
1 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
1 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
1 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
1 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
700
|
1 |
0 |
const char * hh = HvNAME(SvSTASH(SvRV(val))); |
|
|
1 |
0 |
const char * hh = HvNAME(SvSTASH(SvRV(val))); |
|
|
0 |
1 |
const char * hh = HvNAME(SvSTASH(SvRV(val))); |
|
|
0 |
0 |
const char * hh = HvNAME(SvSTASH(SvRV(val))); |
|
|
1 |
0 |
const char * hh = HvNAME(SvSTASH(SvRV(val))); |
|
|
0 |
1 |
const char * hh = HvNAME(SvSTASH(SvRV(val))); |
|
701
|
1 |
0 |
if(strEQ(h, "Math::Decimal64") && strEQ(hh, "Math::Decimal64")) { |
|
|
1 |
0 |
if(strEQ(h, "Math::Decimal64") && strEQ(hh, "Math::Decimal64")) { |
|
712
|
2 |
0 |
if(sv_isobject(a)) { |
|
713
|
2 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
2 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
2 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
2 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
2 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
714
|
2 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
724
|
4 |
0 |
if(sv_isobject(a)) { |
|
725
|
4 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
4 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
4 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
4 |
0 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
4 |
const char * h = HvNAME(SvSTASH(SvRV(a))); |
|
726
|
4 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
740
|
0 |
43 |
if(d64 == NULL) croak("Failed to allocate memory in _overload_add function"); |
|
748
|
0 |
43 |
if(SvUOK(b)) { |
|
753
|
3 |
40 |
if(SvIOK(b)) { |
|
758
|
17 |
23 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
17 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
759
|
17 |
0 |
*d64 = *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) + _atodecimal(aTHX_ SvPV_nolen(b)); |
|
763
|
23 |
0 |
if(sv_isobject(b)) { |
|
764
|
23 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
23 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
23 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
23 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
23 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
765
|
23 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
780
|
0 |
852 |
if(d64 == NULL) croak("Failed to allocate memory in _overload_mul function"); |
|
788
|
0 |
852 |
if(SvUOK(b)) { |
|
793
|
65 |
787 |
if(SvIOK(b)) { |
|
798
|
1 |
786 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
799
|
1 |
0 |
*d64 = *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) * _atodecimal(aTHX_ SvPV_nolen(b)); |
|
803
|
786 |
0 |
if(sv_isobject(b)) { |
|
804
|
786 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
786 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
786 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
786 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
786 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
805
|
786 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
820
|
0 |
36 |
if(d64 == NULL) croak("Failed to allocate memory in _overload_sub function"); |
|
828
|
0 |
36 |
if(SvUOK(b)) { |
|
829
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
834
|
6 |
30 |
if(SvIOK(b)) { |
|
835
|
0 |
6 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
6 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
6 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
6 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
2 |
4 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
2 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
2 |
4 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
840
|
14 |
16 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
14 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
841
|
0 |
14 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
14 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
14 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
14 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
14 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
14 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
842
|
14 |
0 |
else *d64 = *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) - _atodecimal(aTHX_ SvPV_nolen(b)); |
|
846
|
16 |
0 |
if(sv_isobject(b)) { |
|
847
|
16 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
16 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
16 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
16 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
16 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
848
|
16 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
869
|
0 |
4 |
if(d64 == NULL) croak("Failed to allocate memory in _overload_sub function"); |
|
887
|
0 |
30 |
if(d64 == NULL) croak("Failed to allocate memory in _overload_div function"); |
|
895
|
0 |
30 |
if(SvUOK(b)) { |
|
896
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvUVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
901
|
3 |
27 |
if(SvIOK(b)) { |
|
902
|
0 |
3 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
3 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
3 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
3 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
2 |
1 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
2 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
2 |
1 |
if(SWITCH_ARGS) *d64 = (D64)SvIVX(b) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
907
|
1 |
26 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
908
|
0 |
1 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
1 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
1 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
1 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
1 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
1 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
|
0 |
0 |
if(SWITCH_ARGS) *d64 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))); |
|
909
|
1 |
0 |
else *d64 = *(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) / _atodecimal(aTHX_ SvPV_nolen(b)); |
|
913
|
26 |
0 |
if(sv_isobject(b)) { |
|
914
|
26 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
26 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
26 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
26 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
26 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
915
|
26 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
928
|
0 |
200102 |
if(SvUOK(b)) { |
|
932
|
1 |
200101 |
if(SvIOK(b)) { |
|
936
|
1 |
200100 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
937
|
1 |
0 |
*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) += _atodecimal(aTHX_ SvPV_nolen(b)); |
|
941
|
200100 |
0 |
if(sv_isobject(b)) { |
|
942
|
200100 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
200100 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
200100 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
200100 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
200100 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
943
|
200100 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
958
|
0 |
1552 |
if(SvUOK(b)) { |
|
962
|
7 |
1545 |
if(SvIOK(b)) { |
|
966
|
1 |
1544 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
967
|
1 |
0 |
*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) *= _atodecimal(aTHX_ SvPV_nolen(b)); |
|
971
|
1544 |
0 |
if(sv_isobject(b)) { |
|
972
|
1544 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
1544 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
1544 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
1544 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
1544 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
973
|
1544 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
988
|
0 |
58885 |
if(SvUOK(b)) { |
|
992
|
2 |
58883 |
if(SvIOK(b)) { |
|
996
|
1 |
58882 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
997
|
1 |
0 |
*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) -= _atodecimal(aTHX_ SvPV_nolen(b)); |
|
1001
|
58882 |
0 |
if(sv_isobject(b)) { |
|
1002
|
58882 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
58882 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
58882 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
58882 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
58882 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1003
|
58882 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
1018
|
0 |
22 |
if(SvUOK(b)) { |
|
1022
|
4 |
18 |
if(SvIOK(b)) { |
|
1026
|
1 |
17 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1027
|
1 |
0 |
*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) /= _atodecimal(aTHX_ SvPV_nolen(b)); |
|
1031
|
17 |
0 |
if(sv_isobject(b)) { |
|
1032
|
17 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
17 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
17 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
17 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
17 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1033
|
17 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
1046
|
0 |
200134 |
if(SvUOK(b)) { |
|
1047
|
0 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) == (D64)SvUVX(b)) return newSViv(1); |
|
1051
|
8 |
200126 |
if(SvIOK(b)) { |
|
1052
|
8 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) == (D64)SvIVX(b)) return newSViv(1); |
|
1055
|
9 |
200117 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
9 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1056
|
9 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) == _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
|
9 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) == _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1060
|
200116 |
1 |
if(sv_isobject(b)) { |
|
1061
|
200116 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
200116 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
200116 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
200116 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
200116 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1062
|
200116 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
1063
|
200111 |
5 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) == *(INT2PTR(_Decimal64 *, SvIVX(SvRV(b))))) return newSViv(1); |
|
1073
|
1 |
211738 |
if(SvUOK(b)) { |
|
1074
|
0 |
1 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) != (D64)SvUVX(b)) return newSViv(1); |
|
1078
|
1 |
211737 |
if(SvIOK(b)) { |
|
1079
|
1 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) != (D64)SvIVX(b)) return newSViv(1); |
|
1082
|
3 |
211734 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
3 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1083
|
3 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) != _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
|
3 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) != _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1087
|
211734 |
0 |
if(sv_isobject(b)) { |
|
1088
|
211734 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
211734 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
211734 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
211734 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
211734 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1089
|
211734 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
1090
|
211715 |
19 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) == *(INT2PTR(_Decimal64 *, SvIVX(SvRV(b))))) return newSViv(0); |
|
1100
|
1 |
23868 |
if(SvUOK(b)) { |
|
1101
|
0 |
1 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
1102
|
0 |
1 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > (D64)SvUVX(b)) return newSViv(1); |
|
1105
|
0 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < (D64)SvUVX(b)) return newSViv(1); |
|
1109
|
4 |
23864 |
if(SvIOK(b)) { |
|
1110
|
0 |
4 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
2 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
2 |
if(SWITCH_ARGS) { |
|
1111
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > (D64)SvIVX(b)) return newSViv(1); |
|
1114
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < (D64)SvIVX(b)) return newSViv(1); |
|
1118
|
3 |
23861 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
3 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1119
|
0 |
3 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
3 |
0 |
if(SWITCH_ARGS) { |
|
|
3 |
0 |
if(SWITCH_ARGS) { |
|
|
3 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
2 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
2 |
if(SWITCH_ARGS) { |
|
1120
|
1 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
|
1 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1123
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1127
|
23860 |
1 |
if(sv_isobject(b)) { |
|
1128
|
23860 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
23860 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
23860 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
23860 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
23860 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1129
|
23860 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
1130
|
23858 |
2 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < *(INT2PTR(_Decimal64 *, SvIVX(SvRV(b))))) return newSViv(1); |
|
1140
|
1 |
24594 |
if(SvUOK(b)) { |
|
1141
|
0 |
1 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
1142
|
0 |
1 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < (D64)SvUVX(b)) return newSViv(1); |
|
1145
|
0 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > (D64)SvUVX(b)) return newSViv(1); |
|
1149
|
24580 |
14 |
if(SvIOK(b)) { |
|
1150
|
0 |
24580 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
24580 |
0 |
if(SWITCH_ARGS) { |
|
|
24580 |
0 |
if(SWITCH_ARGS) { |
|
|
24580 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
24578 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
24578 |
if(SWITCH_ARGS) { |
|
1151
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < (D64)SvIVX(b)) return newSViv(1); |
|
1154
|
19292 |
5286 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > (D64)SvIVX(b)) return newSViv(1); |
|
1158
|
4 |
10 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
4 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1159
|
0 |
4 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
3 |
if(SWITCH_ARGS) { |
|
|
1 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
1 |
3 |
if(SWITCH_ARGS) { |
|
1160
|
1 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
|
1 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1163
|
3 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
|
3 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1167
|
9 |
1 |
if(sv_isobject(b)) { |
|
1168
|
9 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
9 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
9 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
9 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
9 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1169
|
9 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
1170
|
8 |
1 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > *(INT2PTR(_Decimal64 *, SvIVX(SvRV(b))))) return newSViv(1); |
|
1180
|
2 |
23 |
if(SvUOK(b)) { |
|
1181
|
0 |
2 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
1182
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) >= (D64)SvUVX(b)) return newSViv(1); |
|
1185
|
0 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) <= (D64)SvUVX(b)) return newSViv(1); |
|
1189
|
5 |
18 |
if(SvIOK(b)) { |
|
1190
|
0 |
5 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
5 |
0 |
if(SWITCH_ARGS) { |
|
|
5 |
0 |
if(SWITCH_ARGS) { |
|
|
5 |
0 |
if(SWITCH_ARGS) { |
|
|
3 |
2 |
if(SWITCH_ARGS) { |
|
|
3 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
3 |
2 |
if(SWITCH_ARGS) { |
|
1191
|
3 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) >= (D64)SvIVX(b)) return newSViv(1); |
|
1194
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) <= (D64)SvIVX(b)) return newSViv(1); |
|
1198
|
4 |
14 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
4 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1199
|
0 |
4 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
2 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
2 |
if(SWITCH_ARGS) { |
|
1200
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) >= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) >= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1203
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) <= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) <= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1207
|
13 |
1 |
if(sv_isobject(b)) { |
|
1208
|
13 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
13 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
13 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
13 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
13 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1209
|
13 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
1210
|
12 |
1 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) <= *(INT2PTR(_Decimal64 *, SvIVX(SvRV(b))))) return newSViv(1); |
|
1220
|
2 |
78192 |
if(SvUOK(b)) { |
|
1221
|
0 |
2 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
1222
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) <= (D64)SvUVX(b)) return newSViv(1); |
|
1225
|
0 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) >= (D64)SvUVX(b)) return newSViv(1); |
|
1229
|
5 |
78187 |
if(SvIOK(b)) { |
|
1230
|
0 |
5 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
5 |
0 |
if(SWITCH_ARGS) { |
|
|
5 |
0 |
if(SWITCH_ARGS) { |
|
|
5 |
0 |
if(SWITCH_ARGS) { |
|
|
3 |
2 |
if(SWITCH_ARGS) { |
|
|
3 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
3 |
2 |
if(SWITCH_ARGS) { |
|
1231
|
3 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) <= (D64)SvIVX(b)) return newSViv(1); |
|
1234
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) >= (D64)SvIVX(b)) return newSViv(1); |
|
1238
|
4 |
78183 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
4 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1239
|
0 |
4 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
4 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
2 |
if(SWITCH_ARGS) { |
|
|
2 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
0 |
0 |
if(SWITCH_ARGS) { |
|
|
2 |
2 |
if(SWITCH_ARGS) { |
|
1240
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) <= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) <= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1243
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) >= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
|
2 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) >= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1247
|
78182 |
1 |
if(sv_isobject(b)) { |
|
1248
|
78182 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
78182 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
78182 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
78182 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
78182 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1249
|
78182 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
1250
|
58891 |
19291 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) >= *(INT2PTR(_Decimal64 *, SvIVX(SvRV(b))))) return newSViv(1); |
|
1260
|
0 |
45 |
if(SWITCH_ARGS) reversal = -1; |
|
|
0 |
0 |
if(SWITCH_ARGS) reversal = -1; |
|
|
0 |
0 |
if(SWITCH_ARGS) reversal = -1; |
|
|
45 |
0 |
if(SWITCH_ARGS) reversal = -1; |
|
|
45 |
0 |
if(SWITCH_ARGS) reversal = -1; |
|
|
45 |
0 |
if(SWITCH_ARGS) reversal = -1; |
|
|
16 |
29 |
if(SWITCH_ARGS) reversal = -1; |
|
|
16 |
0 |
if(SWITCH_ARGS) reversal = -1; |
|
|
0 |
0 |
if(SWITCH_ARGS) reversal = -1; |
|
|
0 |
0 |
if(SWITCH_ARGS) reversal = -1; |
|
|
0 |
0 |
if(SWITCH_ARGS) reversal = -1; |
|
|
0 |
0 |
if(SWITCH_ARGS) reversal = -1; |
|
|
0 |
0 |
if(SWITCH_ARGS) reversal = -1; |
|
|
16 |
29 |
if(SWITCH_ARGS) reversal = -1; |
|
1262
|
5 |
40 |
if(SvUOK(b)) { |
|
1263
|
0 |
5 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > (D64)SvUVX(b)) return newSViv(1 * reversal); |
|
1264
|
0 |
5 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < (D64)SvUVX(b)) return newSViv(-1 * reversal); |
|
1265
|
4 |
1 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) == (D64)SvUVX(b)) return newSViv(0); |
|
1269
|
11 |
29 |
if(SvIOK(b)) { |
|
1270
|
2 |
9 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > (D64)SvIVX(b)) return newSViv(1 * reversal); |
|
1271
|
4 |
5 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < (D64)SvIVX(b)) return newSViv(-1 * reversal); |
|
1272
|
3 |
2 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) == (D64)SvIVX(b)) return newSViv(0); |
|
1276
|
9 |
20 |
if(SvPOK(b) && !SvNOK(b)) { |
|
|
9 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1277
|
9 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1 * reversal); |
|
|
2 |
7 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1 * reversal); |
|
1278
|
7 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(-1 * reversal); |
|
|
2 |
5 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(-1 * reversal); |
|
1279
|
5 |
0 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) == _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(0); |
|
|
3 |
2 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) == _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(0); |
|
1283
|
19 |
1 |
if(sv_isobject(b)) { |
|
1284
|
19 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
19 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
19 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
19 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
19 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1285
|
19 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
1286
|
4 |
15 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) < *(INT2PTR(_Decimal64 *, SvIVX(SvRV(b))))) return newSViv(-1); |
|
1287
|
4 |
11 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) > *(INT2PTR(_Decimal64 *, SvIVX(SvRV(b))))) return newSViv(1); |
|
1288
|
6 |
5 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) == *(INT2PTR(_Decimal64 *, SvIVX(SvRV(b))))) return newSViv(0); |
|
1302
|
0 |
3067 |
if(d64 == NULL) croak("Failed to allocate memory in _overload_copy function"); |
|
1317
|
25 |
0 |
if(sv_isobject(a)) { |
|
1318
|
25 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
|
25 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
25 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
|
25 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
25 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
1319
|
25 |
0 |
if(strEQ(h, "Math::Decimal64")) { |
|
1322
|
0 |
25 |
if(d64 == NULL) croak("Failed to allocate memory in D64toD64 function"); |
|
1339
|
2 |
4 |
if(_is_nan(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))))) return newSViv(0); |
|
1340
|
3 |
1 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) != 0.0DD) return newSViv(1); |
|
1345
|
1 |
61 |
if(_is_nan(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))))) return newSViv(1); |
|
1346
|
45 |
16 |
if(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(a)))) != 0.0DD) return newSViv(0); |
|
1356
|
0 |
2 |
if(d64 == NULL) croak("Failed to allocate memory in _overload_abs function"); |
|
1365
|
1 |
1 |
if(_is_neg_zero(*d64) || *d64 < 0 ) *d64 *= -1.0DD; |
|
|
1 |
0 |
if(_is_neg_zero(*d64) || *d64 < 0 ) *d64 *= -1.0DD; |
|
1382
|
14 |
132 |
if(SvUOK(a)) return newSVuv(1); |
|
1383
|
17 |
115 |
if(SvIOK(a)) return newSVuv(2); |
|
1384
|
4 |
111 |
if(SvNOK(a)) return newSVuv(3); |
|
1385
|
73 |
38 |
if(SvPOK(a)) return newSVuv(4); |
|
1386
|
38 |
0 |
if(sv_isobject(a)) { |
|
1387
|
38 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
|
38 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
38 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
|
38 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
|
0 |
38 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
1388
|
34 |
4 |
if(strEQ(h, "Math::Decimal64")) return newSVuv(64); |
|
1394
|
48167 |
0 |
if(sv_isobject(b)) { |
|
1395
|
48167 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
48167 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
48167 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
48167 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
48167 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1396
|
48167 |
0 |
if(strEQ(h, "Math::Decimal64")) |
|
1403
|
48244 |
0 |
if(sv_isobject(b)) { |
|
1404
|
48244 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
48244 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
48244 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
48244 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
48244 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1405
|
48244 |
0 |
if(strEQ(h, "Math::Decimal64")) |
|
1412
|
226306 |
0 |
if(sv_isobject(b)) { |
|
1413
|
226306 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
226306 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
226306 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
226306 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
|
0 |
226306 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
1414
|
226306 |
0 |
if(strEQ(h, "Math::Decimal64")) |
|
1415
|
727 |
225579 |
if (_is_neg_zero(*(INT2PTR(_Decimal64 *, SvIVX(SvRV(b)))))) return newSViv(-1); |
|
1416
|
545 |
225034 |
if (*(INT2PTR(_Decimal64 *, SvIVX(SvRV(b)))) == 0.0DD) return newSViv(1); |
|
1442
|
1471272 |
183909 |
for (i = n - 1; i >= 0; i--) { |
|
1446
|
0 |
1471272 |
XPUSHs(sv_2mortal(newSVpv(buff, 0))); |
|
1459
|
9758394 |
180711 |
for(i = 0; i <= imax; i++) |
|
1460
|
0 |
9758394 |
if(SvIV(*(av_fetch((AV*)SvRV(bin), i, 0)))) val += add_on[i]; |
|
|
3246669 |
6511725 |
if(SvIV(*(av_fetch((AV*)SvRV(bin), i, 0)))) val += add_on[i]; |
|
1462
|
0 |
180711 |
if(val > 9999999999999999ll) sprintf(buf, "%lld", 0ll); |
|
1488
|
0 |
6 |
if(d64 == NULL) croak("Failed to allocate memory in DPDtoD64 function"); |
|
1493
|
48 |
6 |
for (i = n - 1; i >= 0; i--) |
|
1516
|
48 |
6 |
for (i = n - 1; i >= 0; i--) |
|
1539
|
0 |
0 |
if(looks_like_number(x)) return 1; |
|
1688
|
0 |
0 |
if (PL_markstack_ptr != temp) { |
|
1705
|
0 |
0 |
if (PL_markstack_ptr != temp) { |
|
1721
|
618700 |
0 |
if (PL_markstack_ptr != temp) { |
|
1739
|
8 |
0 |
if (PL_markstack_ptr != temp) { |
|
1756
|
12111 |
0 |
if (PL_markstack_ptr != temp) { |
|
1773
|
2 |
0 |
if (PL_markstack_ptr != temp) { |
|
1790
|
1 |
0 |
if (PL_markstack_ptr != temp) { |
|
1807
|
2 |
0 |
if (PL_markstack_ptr != temp) { |
|
1824
|
1 |
0 |
if (PL_markstack_ptr != temp) { |
|
1840
|
2 |
0 |
if (PL_markstack_ptr != temp) { |
|
1857
|
4 |
0 |
if (PL_markstack_ptr != temp) { |
|
2120
|
0 |
183909 |
if (PL_markstack_ptr != temp) { |
|
2136
|
0 |
180711 |
if (PL_markstack_ptr != temp) { |
|
2167
|
6 |
0 |
if (PL_markstack_ptr != temp) { |
|
2187
|
1 |
0 |
if (PL_markstack_ptr != temp) { |
|
2203
|
1 |
0 |
if (PL_markstack_ptr != temp) { |