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