line |
true |
false |
branch |
85
|
49527 |
38 |
if(x == x) return 0; |
90
|
0 |
49574 |
if(x != x) return 0; /* NaN */ |
91
|
377 |
49197 |
if(x == 0.DL) return 0; /* Zero */ |
92
|
76 |
49121 |
if(x/x != x/x) { |
93
|
34 |
42 |
if(x < 0.DL) return -1; |
129
|
226352 |
1284 |
if(d128 != 0.0DL) { |
130
|
0 |
226352 |
if(d128 * -1.0DL == 0.0DL) return 1; /* it's a -0 */ |
137
|
720 |
564 |
if(((unsigned char*)p)[n - 1] >= 128) return 1; |
143
|
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); |
148
|
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 */ |
149
|
0 |
0 |
if(SvNV(x) == 0.0) return newSViv(0); /* Zero */ |
|
0 |
0 |
if(SvNV(x) == 0.0) return newSViv(0); /* Zero */ |
150
|
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)) { |
151
|
0 |
0 |
if(SvNV(x) < 0.0) return newSViv(-1); |
|
0 |
0 |
if(SvNV(x) < 0.0) return newSViv(-1); |
160
|
0 |
0 |
if(SvNV(x) != 0.0) return newSViv(0); |
|
0 |
0 |
if(SvNV(x) != 0.0) return newSViv(0); |
162
|
0 |
0 |
sprintf(buffer, "%.0f", (double)SvNV(x)); |
164
|
0 |
0 |
if(strcmp(buffer, "-0")) { |
175
|
22554 |
24600 |
if(power < 0) { |
176
|
0 |
22554 |
while(power < -1000) { |
180
|
62246 |
22554 |
while(power < -100) { |
184
|
186746 |
22554 |
while(power < -10) { |
188
|
175301 |
22554 |
while(power) { |
194
|
0 |
24600 |
while(power > 1000) { |
198
|
62229 |
24600 |
while(power > 100) { |
202
|
167363 |
24600 |
while(power > 10) { |
206
|
101376 |
24600 |
while(power) { |
215
|
17 |
72 |
if(sign < 0) return -1.DL/0.DL; |
234
|
1 |
48985 |
if(!strcmp(s, "0 but true")) return 0.DL; |
236
|
29 |
49001 |
while(s[0] == ' ' || s[0] == '\t' || s[0] == '\n' || s[0] == '\r' || s[0] == '\f') s++; |
|
4 |
48997 |
while(s[0] == ' ' || s[0] == '\t' || s[0] == '\n' || s[0] == '\r' || s[0] == '\f') s++; |
|
4 |
48993 |
while(s[0] == ' ' || s[0] == '\t' || s[0] == '\n' || s[0] == '\r' || s[0] == '\f') s++; |
|
4 |
48989 |
while(s[0] == ' ' || s[0] == '\t' || s[0] == '\n' || s[0] == '\r' || s[0] == '\f') s++; |
|
4 |
48985 |
while(s[0] == ' ' || s[0] == '\t' || s[0] == '\n' || s[0] == '\r' || s[0] == '\f') s++; |
238
|
24456 |
24529 |
if(s[0] == '-') { |
243
|
11 |
24518 |
if(s[0] == '+') s++; |
246
|
48965 |
20 |
if((s[0] == 'i' || s[0] == 'I') && (s[1] == 'n' || s[1] == 'N') && (s[2] == 'f' || s[2] == 'F')) { |
|
1 |
48964 |
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')) { |
247
|
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') && |
248
|
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; |
250
|
17 |
8 |
if(s[i] == 0) return _get_inf(negative); |
251
|
4 |
4 |
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') { |
253
|
4 |
0 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
|
0 |
4 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
260
|
48950 |
14 |
if((s[0] == 'n' || s[0] == 'N') && (s[1] == 'a' || s[1] == 'A') && (s[2] == 'n' || s[2] == 'N')) { |
|
0 |
48950 |
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')) { |
262
|
14 |
0 |
if(s[i] == 0) return _get_nan(); |
263
|
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') { |
265
|
0 |
0 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
|
0 |
0 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
273
|
995 |
47955 |
if(!isdigit(s[0]) && s[0] != '.') { |
|
7 |
988 |
if(!isdigit(s[0]) && s[0] != '.') { |
275
|
7 |
0 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
|
0 |
7 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
277
|
3 |
4 |
result = negative ? result * -1.DL : result; |
281
|
605155 |
48943 |
for(; isdigit(*s); s++) { |
286
|
24721 |
24222 |
if(s[0] == '.') { |
288
|
214409 |
24721 |
for(i = 0; isdigit(s[i]) ;i++) { |
295
|
24443 |
24500 |
if(negative) result *= -1.DL; |
297
|
13566 |
35377 |
if(s[i] == 'e' || s[i] == 'E') { |
|
11777 |
1789 |
if(s[i] == 'e' || s[i] == 'E') { |
299
|
22554 |
24600 |
if(*s == '-') { |
301
|
84930 |
22554 |
for(i = 0; isdigit(s[i]);i++) exponent = (exponent * 10) + (s[i] - '0'); |
302
|
119826793 |
22554 |
while(exponent > 398) { |
311
|
22553 |
1 |
if(s[i] == 0) return result; |
312
|
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') { |
314
|
1 |
0 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
|
0 |
1 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
321
|
6 |
24594 |
if(*s == '+') s++; |
322
|
88096 |
24600 |
for(i = 0; isdigit(s[i]);i++) exponent = (exponent * 10) + (s[i] - '0'); |
323
|
120271857 |
24600 |
while(exponent > 384) { |
333
|
24597 |
4 |
if(s[i] == 0) return result; |
334
|
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') { |
336
|
3 |
0 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
|
0 |
3 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
346
|
1782 |
10 |
if(s[i] == 0) return result; |
347
|
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') { |
349
|
7 |
0 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
|
0 |
7 |
if(SvIV(get_sv("Math::Decimal128::NNW", 0))) |
361
|
0 |
8 |
if(d128 == NULL) croak("Failed to allocate memory in DEC128_MAX() function"); |
379
|
0 |
9 |
if(d128 == NULL) croak("Failed to allocate memory in DEC128_MIN() function"); |
398
|
0 |
30 |
if(d128 == NULL) croak("Failed to allocate memory in NaND128 function"); |
415
|
0 |
18 |
if(d128 == NULL) croak("Failed to allocate memory in InfD128 function"); |
432
|
0 |
47722 |
if(d128 == NULL) croak("Failed to allocate memory in ZeroD128 function"); |
438
|
23859 |
23863 |
if(sign < 0) *d128 *= -1; |
450
|
0 |
2429 |
if(d128 == NULL) croak("Failed to allocate memory in UnityD128 function"); |
457
|
2426 |
3 |
if(sign < 0) *d128 *= -1; |
475
|
0 |
4868 |
if(d128 == NULL) croak("Failed to allocate memory in Exp10() function"); |
481
|
1804 |
3064 |
if(power < 0) { |
482
|
2448 |
1804 |
while(power < -1000) { |
486
|
2513 |
1804 |
while(power < -100) { |
490
|
11348 |
1804 |
while(power < -10) { |
494
|
9865 |
1804 |
while(power) { |
500
|
2256 |
3064 |
while(power > 1000) { |
504
|
2522 |
3064 |
while(power > 100) { |
508
|
14141 |
3064 |
while(power > 10) { |
512
|
13924 |
3064 |
while(power) { |
528
|
0 |
0 |
if(d128 == NULL) croak("Failed to allocate memory in _testvalD128() function"); |
535
|
0 |
0 |
if(sign < 0) *d128 *= -1; |
548
|
0 |
2 |
if(d128 == NULL) croak("Failed to allocate memory in _testvalD128() function"); |
555
|
1 |
1 |
if(sign < 0) *d128 *= -1; |
567
|
0 |
0 |
if(d128 == NULL) croak("Failed to allocate memory in _testvalD128() function"); |
574
|
0 |
0 |
if(sign < 0) *d128 *= -1; |
586
|
0 |
0 |
if(d128 == NULL) croak("Failed to allocate memory in _testvalD128() function"); |
593
|
0 |
0 |
if(sign < 0) *d128 *= -1; |
604
|
373638 |
0 |
int exp = (int)SvIV(exponent), i; |
608
|
0 |
373638 |
if(d128 == NULL) croak("Failed to allocate memory in MEtoD128() function"); |
622
|
190078 |
183560 |
if(exp < 0) { |
623
|
167752184 |
190078 |
for(i = 0; i > exp; --i) *d128 *= 1e-1DL; |
626
|
163972140 |
183560 |
for(i = 0; i < exp; ++i) *d128 *= 10.DL; |
636
|
11 |
0 |
int exp = (int)SvIV(c), i; |
650
|
6 |
5 |
if(exp < 0) { |
651
|
9 |
6 |
for(i = 0; i > exp; --i) *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) *= 1e-1DL; |
654
|
14802 |
5 |
for(i = 0; i < exp; ++i) *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) *= 10.DL; |
664
|
0 |
65 |
if(d128 == NULL) croak("Failed to allocate memory in NVtoD128 function"); |
669
|
62 |
3 |
*d128 = (D128)SvNV(x); |
682
|
0 |
17 |
if(d128 == NULL) croak("Failed to allocate memory in UVtoD128 function"); |
687
|
16 |
1 |
*d128 = (D128)SvUV(x); |
700
|
0 |
18 |
if(d128 == NULL) croak("Failed to allocate memory in IVtoD128 function"); |
705
|
18 |
0 |
*d128 = (D128)SvIV(x); |
717
|
0 |
23800 |
if(d128 == NULL) croak("Failed to allocate memory in PVtoD128 function"); |
769
|
2 |
0 |
if(sv_isobject(a)) { |
770
|
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))); |
771
|
2 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
772
|
2 |
0 |
*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) = (D128)SvIV(val); |
782
|
1 |
0 |
if(sv_isobject(a)) { |
783
|
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))); |
784
|
1 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
785
|
0 |
1 |
*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) = (D128)SvUV(val); |
795
|
2 |
0 |
if(sv_isobject(a)) { |
796
|
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))); |
797
|
2 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
798
|
2 |
0 |
*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) = (D128)SvNV(val); |
812
|
1 |
0 |
if(sv_isobject(a) && sv_isobject(val)) { |
|
1 |
0 |
if(sv_isobject(a) && sv_isobject(val)) { |
813
|
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))); |
814
|
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))); |
815
|
1 |
0 |
if(strEQ(h, "Math::Decimal128") && strEQ(hh, "Math::Decimal128")) { |
|
1 |
0 |
if(strEQ(h, "Math::Decimal128") && strEQ(hh, "Math::Decimal128")) { |
826
|
2 |
0 |
if(sv_isobject(a)) { |
827
|
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))); |
828
|
2 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
838
|
4 |
0 |
if(sv_isobject(a)) { |
839
|
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))); |
840
|
4 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
854
|
0 |
41 |
if(d128 == NULL) croak("Failed to allocate memory in _overload_add function"); |
862
|
0 |
41 |
if(SvUOK(b)) { |
867
|
3 |
38 |
if(SvIOK(b)) { |
872
|
17 |
21 |
if(SvPOK(b) && !SvNOK(b)) { |
|
17 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
873
|
17 |
0 |
*d128 = *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) + _atodecimal(aTHX_ SvPV_nolen(b)); |
877
|
21 |
0 |
if(sv_isobject(b)) { |
878
|
21 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
21 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
21 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
21 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
21 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
879
|
21 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
894
|
0 |
2502 |
if(d128 == NULL) croak("Failed to allocate memory in _overload_mul function"); |
902
|
3 |
2499 |
if(SvUOK(b)) { |
907
|
65 |
2434 |
if(SvIOK(b)) { |
912
|
1 |
2433 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
913
|
1 |
0 |
*d128 = *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) * _atodecimal(aTHX_ SvPV_nolen(b)); |
917
|
2433 |
0 |
if(sv_isobject(b)) { |
918
|
2433 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
2433 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
2433 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
2433 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
2433 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
919
|
2433 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
934
|
0 |
34 |
if(d128 == NULL) croak("Failed to allocate memory in _overload_sub function"); |
942
|
0 |
34 |
if(SvUOK(b)) { |
943
|
0 |
0 |
if(third == &PL_sv_yes) *d128 = (D128)M_D128_SvUV(b) - *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))); |
948
|
4 |
30 |
if(SvIOK(b)) { |
949
|
1 |
3 |
if(third == &PL_sv_yes) *d128 = (D128)M_D128_SvIV(b) - *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))); |
954
|
14 |
16 |
if(SvPOK(b) && !SvNOK(b)) { |
|
14 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
955
|
0 |
14 |
if(third == &PL_sv_yes) *d128 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))); |
|
0 |
0 |
if(third == &PL_sv_yes) *d128 = _atodecimal(aTHX_ SvPV_nolen(b)) - *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))); |
956
|
14 |
0 |
else *d128 = *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) - _atodecimal(aTHX_ SvPV_nolen(b)); |
960
|
16 |
0 |
if(sv_isobject(b)) { |
961
|
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))); |
962
|
16 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
983
|
0 |
4 |
if(d128 == NULL) croak("Failed to allocate memory in _overload_sub function"); |
1001
|
0 |
28 |
if(d128 == NULL) croak("Failed to allocate memory in _overload_div function"); |
1009
|
0 |
28 |
if(SvUOK(b)) { |
1010
|
0 |
0 |
if(third == &PL_sv_yes) *d128 = (D128)M_D128_SvUV(b) / *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))); |
1015
|
1 |
27 |
if(SvIOK(b)) { |
1016
|
1 |
0 |
if(third == &PL_sv_yes) *d128 = (D128)M_D128_SvIV(b) / *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))); |
1021
|
1 |
26 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1022
|
0 |
1 |
if(third == &PL_sv_yes) *d128 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))); |
|
0 |
0 |
if(third == &PL_sv_yes) *d128 = _atodecimal(aTHX_ SvPV_nolen(b)) / *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))); |
1023
|
1 |
0 |
else *d128 = *(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) / _atodecimal(aTHX_ SvPV_nolen(b)); |
1027
|
26 |
0 |
if(sv_isobject(b)) { |
1028
|
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))); |
1029
|
26 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1042
|
0 |
103 |
if(SvUOK(b)) { |
1046
|
1 |
102 |
if(SvIOK(b)) { |
1051
|
1 |
101 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1052
|
1 |
0 |
*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) += _atodecimal(aTHX_ SvPV_nolen(b)); |
1056
|
101 |
0 |
if(sv_isobject(b)) { |
1057
|
101 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
101 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
101 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
101 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
101 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
1058
|
101 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1073
|
0 |
4878 |
if(SvUOK(b)) { |
1077
|
7 |
4871 |
if(SvIOK(b)) { |
1082
|
1 |
4870 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1083
|
1 |
0 |
*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) *= _atodecimal(aTHX_ SvPV_nolen(b)); |
1087
|
4870 |
0 |
if(sv_isobject(b)) { |
1088
|
4870 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
4870 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
4870 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
4870 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
4870 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
1089
|
4870 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1104
|
0 |
7368192 |
if(SvUOK(b)) { |
1108
|
2 |
7368190 |
if(SvIOK(b)) { |
1113
|
1 |
7368189 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1114
|
1 |
0 |
*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) -= _atodecimal(aTHX_ SvPV_nolen(b)); |
1118
|
7368189 |
0 |
if(sv_isobject(b)) { |
1119
|
7368189 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
7368189 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
7368189 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
7368189 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
7368189 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
1120
|
7368189 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1135
|
0 |
22 |
if(SvUOK(b)) { |
1139
|
4 |
18 |
if(SvIOK(b)) { |
1144
|
1 |
17 |
if(SvPOK(b) && !SvNOK(b)) { |
|
1 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1145
|
1 |
0 |
*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) /= _atodecimal(aTHX_ SvPV_nolen(b)); |
1149
|
17 |
0 |
if(sv_isobject(b)) { |
1150
|
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))); |
1151
|
17 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1164
|
1 |
122 |
if(SvUOK(b)) { |
1165
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) == (D128)M_D128_SvUV(b)) return newSViv(1); |
1169
|
4 |
118 |
if(SvIOK(b)) { |
1170
|
4 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) == (D128)M_D128_SvIV(b)) return newSViv(1); |
1174
|
9 |
109 |
if(SvPOK(b) && !SvNOK(b)) { |
|
9 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1175
|
9 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) == _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
9 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) == _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
1179
|
108 |
1 |
if(sv_isobject(b)) { |
1180
|
108 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
108 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
108 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
108 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
108 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
1181
|
108 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1182
|
103 |
5 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) == *(INT2PTR(D128 *, M_D128_SvIV(SvRV(b))))) return newSViv(1); |
1192
|
1 |
232102 |
if(SvUOK(b)) { |
1193
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) != (D128)M_D128_SvUV(b)) return newSViv(1); |
1197
|
1 |
232101 |
if(SvIOK(b)) { |
1198
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) != (D128)M_D128_SvIV(b)) return newSViv(1); |
1202
|
3 |
232098 |
if(SvPOK(b) && !SvNOK(b)) { |
|
3 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1203
|
3 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) != _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
3 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) != _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
1207
|
232098 |
0 |
if(sv_isobject(b)) { |
1208
|
232098 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
232098 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
232098 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
232098 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
232098 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
1209
|
232098 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1210
|
232079 |
19 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) == *(INT2PTR(D128 *, M_D128_SvIV(SvRV(b))))) return newSViv(0); |
1220
|
2 |
23873 |
if(SvUOK(b)) { |
1221
|
1 |
1 |
if(third == &PL_sv_yes) { |
1222
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > (D128)M_D128_SvUV(b)) return newSViv(1); |
1225
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < (D128)M_D128_SvUV(b)) return newSViv(1); |
1229
|
2 |
23871 |
if(SvIOK(b)) { |
1230
|
1 |
1 |
if(third == &PL_sv_yes) { |
1231
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > (D128)M_D128_SvIV(b)) return newSViv(1); |
1234
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < (D128)M_D128_SvIV(b)) return newSViv(1); |
1238
|
3 |
23868 |
if(SvPOK(b) && !SvNOK(b)) { |
|
3 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1239
|
1 |
2 |
if(third == &PL_sv_yes) { |
1240
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
1243
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
1247
|
23867 |
1 |
if(sv_isobject(b)) { |
1248
|
23867 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
23867 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
23867 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
23867 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
23867 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
1249
|
23867 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1250
|
23865 |
2 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < *(INT2PTR(D128 *, M_D128_SvIV(SvRV(b))))) return newSViv(1); |
1260
|
2 |
6444818 |
if(SvUOK(b)) { |
1261
|
1 |
1 |
if(third == &PL_sv_yes) { |
1262
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < (D128)M_D128_SvUV(b)) return newSViv(1); |
1265
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > (D128)M_D128_SvUV(b)) return newSViv(1); |
1269
|
6444804 |
14 |
if(SvIOK(b)) { |
1270
|
1 |
6444803 |
if(third == &PL_sv_yes) { |
1271
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < (D128)M_D128_SvIV(b)) return newSViv(1); |
1274
|
4179346 |
2265457 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > (D128)M_D128_SvIV(b)) return newSViv(1); |
1278
|
4 |
10 |
if(SvPOK(b) && !SvNOK(b)) { |
|
4 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1279
|
1 |
3 |
if(third == &PL_sv_yes) { |
1280
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
1283
|
3 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
3 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
1287
|
9 |
1 |
if(sv_isobject(b)) { |
1288
|
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))); |
1289
|
9 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1290
|
8 |
1 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > *(INT2PTR(D128 *, M_D128_SvIV(SvRV(b))))) return newSViv(1); |
1300
|
3 |
21 |
if(SvUOK(b)) { |
1301
|
2 |
1 |
if(third == &PL_sv_yes) { |
1302
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) >= (D128)M_D128_SvUV(b)) return newSViv(1); |
1305
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) <= (D128)M_D128_SvUV(b)) return newSViv(1); |
1309
|
3 |
18 |
if(SvIOK(b)) { |
1310
|
2 |
1 |
if(third == &PL_sv_yes) { |
1311
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) >= (D128)M_D128_SvIV(b)) return newSViv(1); |
1314
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) <= (D128)M_D128_SvIV(b)) return newSViv(1); |
1318
|
4 |
14 |
if(SvPOK(b) && !SvNOK(b)) { |
|
4 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1319
|
2 |
2 |
if(third == &PL_sv_yes) { |
1320
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) >= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) >= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
1323
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) <= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) <= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
1327
|
13 |
1 |
if(sv_isobject(b)) { |
1328
|
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))); |
1329
|
13 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1330
|
12 |
1 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) <= *(INT2PTR(D128 *, M_D128_SvIV(SvRV(b))))) return newSViv(1); |
1340
|
3 |
11547553 |
if(SvUOK(b)) { |
1341
|
2 |
1 |
if(third == &PL_sv_yes) { |
1342
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) <= (D128)M_D128_SvUV(b)) return newSViv(1); |
1345
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) >= (D128)M_D128_SvUV(b)) return newSViv(1); |
1349
|
3 |
11547550 |
if(SvIOK(b)) { |
1350
|
2 |
1 |
if(third == &PL_sv_yes) { |
1351
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) <= (D128)M_D128_SvIV(b)) return newSViv(1); |
1354
|
1 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) >= (D128)M_D128_SvIV(b)) return newSViv(1); |
1358
|
4 |
11547546 |
if(SvPOK(b) && !SvNOK(b)) { |
|
4 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1359
|
2 |
2 |
if(third == &PL_sv_yes) { |
1360
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) <= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) <= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
1363
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) >= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
|
2 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) >= _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(1); |
1367
|
11547545 |
1 |
if(sv_isobject(b)) { |
1368
|
11547545 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
11547545 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
11547545 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
11547545 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
11547545 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
1369
|
11547545 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1370
|
7368199 |
4179346 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) >= *(INT2PTR(D128 *, M_D128_SvIV(SvRV(b))))) return newSViv(1); |
1380
|
15 |
32 |
if(third == &PL_sv_yes) reversal = -1; |
1382
|
9 |
38 |
if(SvUOK(b)) { |
1383
|
2 |
7 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > (D128)M_D128_SvUV(b)) return newSViv( 1 * reversal); |
1384
|
2 |
5 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < (D128)M_D128_SvUV(b)) return newSViv(-1 * reversal); |
1385
|
3 |
2 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) == (D128)M_D128_SvUV(b)) return newSViv(0); |
1389
|
9 |
29 |
if(SvIOK(b)) { |
1390
|
2 |
7 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > (D128)M_D128_SvIV(b)) return newSViv( 1 * reversal); |
1391
|
2 |
5 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < (D128)M_D128_SvIV(b)) return newSViv(-1 * reversal); |
1392
|
3 |
2 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) == (D128)M_D128_SvIV(b)) return newSViv(0); |
1396
|
9 |
20 |
if(SvPOK(b) && !SvNOK(b)) { |
|
9 |
0 |
if(SvPOK(b) && !SvNOK(b)) { |
1397
|
9 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv( 1 * reversal); |
|
2 |
7 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv( 1 * reversal); |
1398
|
7 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(-1 * reversal); |
|
2 |
5 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(-1 * reversal); |
1399
|
5 |
0 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) == _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(0); |
|
3 |
2 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) == _atodecimal(aTHX_ SvPV_nolen(b))) return newSViv(0); |
1403
|
19 |
1 |
if(sv_isobject(b)) { |
1404
|
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))); |
1405
|
19 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1406
|
4 |
15 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) < *(INT2PTR(D128 *, M_D128_SvIV(SvRV(b))))) return newSViv(-1 * reversal); |
1407
|
4 |
11 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) > *(INT2PTR(D128 *, M_D128_SvIV(SvRV(b))))) return newSViv( 1 * reversal); |
1408
|
6 |
5 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) == *(INT2PTR(D128 *, M_D128_SvIV(SvRV(b))))) return newSViv(0); |
1422
|
0 |
188597 |
if(d128 == NULL) croak("Failed to allocate memory in _overload_copy function"); |
1437
|
25 |
0 |
if(sv_isobject(a)) { |
1438
|
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))); |
1439
|
25 |
0 |
if(strEQ(h, "Math::Decimal128")) { |
1442
|
0 |
25 |
if(d128 == NULL) croak("Failed to allocate memory in D128toD128 function"); |
1459
|
2 |
4 |
if(_is_nan(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))))) return newSViv(0); |
1460
|
3 |
1 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) != 0.DL) return newSViv(1); |
1465
|
1 |
63 |
if(_is_nan(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))))) return newSViv(1); |
1466
|
49 |
14 |
if(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(a)))) != 0.DL) return newSViv(0); |
1476
|
0 |
2 |
if(d128 == NULL) croak("Failed to allocate memory in _overload_abs function"); |
1485
|
1 |
1 |
if(_is_neg_zero(*d128) || *d128 < 0 ) *d128 *= -1.DL; |
|
1 |
0 |
if(_is_neg_zero(*d128) || *d128 < 0 ) *d128 *= -1.DL; |
1502
|
14 |
135 |
if(SvUOK(a)) return newSVuv(1); |
1503
|
16 |
119 |
if(SvIOK(a)) return newSVuv(2); |
1504
|
4 |
115 |
if(SvNOK(a)) return newSVuv(3); |
1505
|
74 |
41 |
if(SvPOK(a)) return newSVuv(4); |
1506
|
41 |
0 |
if(sv_isobject(a)) { |
1507
|
41 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
41 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
0 |
41 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
41 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
|
0 |
41 |
const char *h = HvNAME(SvSTASH(SvRV(a))); |
1508
|
37 |
4 |
if(strEQ(h, "Math::Decimal128")) return newSVuv(34); |
1514
|
49495 |
0 |
if(sv_isobject(b)) { |
1515
|
49495 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
49495 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
49495 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
49495 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
49495 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
1516
|
49495 |
0 |
if(strEQ(h, "Math::Decimal128")) |
1523
|
49574 |
0 |
if(sv_isobject(b)) { |
1524
|
49574 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
49574 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
49574 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
49574 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
49574 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
1525
|
49574 |
0 |
if(strEQ(h, "Math::Decimal128")) |
1532
|
227634 |
0 |
if(sv_isobject(b)) { |
1533
|
227634 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
227634 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
227634 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
227634 |
0 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
|
0 |
227634 |
const char *h = HvNAME(SvSTASH(SvRV(b))); |
1534
|
227634 |
0 |
if(strEQ(h, "Math::Decimal128")) |
1535
|
719 |
226915 |
if (_is_neg_zero(*(INT2PTR(D128 *, M_D128_SvIV(SvRV(b)))))) return newSViv(-1); |
1536
|
564 |
226351 |
if (*(INT2PTR(D128 *, M_D128_SvIV(SvRV(b)))) == 0.DL) return newSViv(1); |
1562
|
3190224 |
199389 |
for (i = n - 1; i >= 0; i--) { |
1566
|
0 |
3190224 |
XPUSHs(sv_2mortal(newSVpv(buff, 0))); |
1581
|
0 |
184691 |
if(d128 == NULL) croak("Failed to allocate memory in _bid_mant function"); |
1583
|
21054774 |
184691 |
for(i = 0; i <= imax; i++) |
1584
|
0 |
21054774 |
if(SvIV(*(av_fetch((AV*)SvRV(bin), i, 0)))) val += add_on[i]; |
|
5095027 |
15959747 |
if(SvIV(*(av_fetch((AV*)SvRV(bin), i, 0)))) val += add_on[i]; |
1590
|
0 |
184691 |
if(val > 9999999999999999999999999999999999e0DL) val = 0.DL; |
1620
|
0 |
6 |
if(d128 == NULL) croak("Failed to allocate memory in DPDtoD128 function"); |
1625
|
96 |
6 |
for (i = n - 1; i >= 0; i--) |
1648
|
96 |
6 |
for (i = n - 1; i >= 0; i--) |
1655
|
6 |
0 |
*(INT2PTR(D128 *, SvIV(SvRV(a)))) = out; |
1672
|
0 |
0 |
if(looks_like_number(x)) return 1; |
1800
|
11 |
0 |
if (PL_markstack_ptr != temp) { |
1862
|
828554 |
0 |
if (PL_markstack_ptr != temp) { |
1879
|
2 |
0 |
if (PL_markstack_ptr != temp) { |
1896
|
1 |
0 |
if (PL_markstack_ptr != temp) { |
1913
|
2 |
0 |
if (PL_markstack_ptr != temp) { |
1930
|
25101 |
0 |
if (PL_markstack_ptr != temp) { |
1947
|
1 |
0 |
if (PL_markstack_ptr != temp) { |
1963
|
2 |
0 |
if (PL_markstack_ptr != temp) { |
1980
|
4 |
0 |
if (PL_markstack_ptr != temp) { |
2243
|
0 |
199389 |
if (PL_markstack_ptr != temp) { |
2281
|
6 |
0 |
if (PL_markstack_ptr != temp) { |
2301
|
1 |
0 |
if (PL_markstack_ptr != temp) { |
2317
|
1 |
0 |
if (PL_markstack_ptr != temp) { |