| 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) { |