Branch Coverage

Decimal64.xs
Criterion Covered Total %
branch 766 1700 45.0


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