Branch Coverage

Complex_C.xs
Criterion Covered Total %
branch 451 1068 42.2


line true false branch
22 0 2 if(x < 1)croak("1st arg (precision) to d_set_prec must be at least 1");
31 34 28 if(x == x) return 0;
36 0 26 if(x == 0) return 0;
37 8 18 if(_is_nan(x)) return 0;
38 10 8 if(x / x == x / x) return 0;
39 4 4 if(x < 0) return -1;
64 0 72 if(pc == NULL) croak("Failed to allocate memory in create_c function");
81 0 76 if(SvUOK(d1)) {
85 36 40 if(SvIOK(d1)) {
89 28 12 if(SvNOK(d1)) {
93 12 0 if(SvPOK(d1)) {
94 1 11 if(!looks_like_number(d1)) nnum++;
95 12 0 _d1 = strtod(SvPV_nolen(d1), NULL);
104 0 76 if(SvUOK(d2)) {
108 31 45 if(SvIOK(d2)) {
112 34 11 if(SvNOK(d2)) {
116 11 0 if(SvPOK(d2)) {
117 1 10 if(!looks_like_number(d2)) nnum++;
118 11 0 _d2 = strtod(SvPV_nolen(d2), NULL) ;
134 1 3 if(SvUOK(d1)) {
138 0 3 if(SvIOK(d1)) {
142 2 1 if(SvNOK(d1)) {
146 1 0 if(SvPOK(d1)) {
147 0 1 if(!looks_like_number(d1)) nnum++;
148 1 0 _d1 = strtod(SvPV_nolen(d1), NULL) ;
163 0 4 if(SvUOK(d2)) {
167 3 1 if(SvIOK(d2)) {
171 0 1 if(SvNOK(d2)) {
175 1 0 if(SvPOK(d2)) {
176 0 1 if(!looks_like_number(d2)) nnum++;
177 1 0 _d2 = strtod(SvPV_nolen(d2), NULL) ;
197 1 0 (double)SvNV(op2);
202 1 0 (double)SvIV(op2);
207 0 1 (double)SvUV(op2);
212 1 0 strtod(SvPV_nolen(op2), NULL);
222 1 0 (double)SvNV(op2);
227 1 0 (double)SvIV(op2);
232 0 1 (double)SvUV(op2);
237 1 0 strtod(SvPV_nolen(op2), NULL);
247 1 0 (double)SvNV(op2);
252 1 0 (double)SvIV(op2);
257 0 1 (double)SvUV(op2);
262 1 0 strtod(SvPV_nolen(op2), NULL);
272 1 0 (double)SvNV(op2);
277 1 0 (double)SvIV(op2);
282 0 1 (double)SvUV(op2);
287 1 0 strtod(SvPV_nolen(op2), NULL);
386 0 2 if(creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(rop))))) ||
0 0 if(creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(rop))))) ||
394 0 4 if(creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(rop))))) ||
0 0 if(creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(rop))))) ||
400 1 40 if(SvUOK(b)) {
401 1 0 if((double)SvUVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
1 0 if((double)SvUVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
405 4 36 if(SvIOK(b)) {
406 4 0 if((double)SvIVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
4 0 if((double)SvIVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
410 0 36 if(SvNOK(b)) {
411 0 0 if((double)SvNVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
0 0 if((double)SvNVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
416 2 34 if(SvPOK(b)) {
417 0 2 if(!looks_like_number(b)) nnum++;
418 2 0 if(strtod(SvPV_nolen(b), NULL) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
1 1 if(strtod(SvPV_nolen(b), NULL) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
1 0 if(strtod(SvPV_nolen(b), NULL) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
423 34 0 if(sv_isobject(b)) {
424 34 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
34 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 34 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
34 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 34 const char *h = HvNAME(SvSTASH(SvRV(b)));
425 34 0 if(strEQ(h, "Math::Complex_C")) {
426 34 0 if(creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(b))))) &&
34 0 if(creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(b))))) &&
437 0 5 if(SvUOK(b)) {
438 0 0 if((double)SvUVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
0 0 if((double)SvUVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
442 0 5 if(SvIOK(b)) {
443 0 0 if((double)SvIVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
0 0 if((double)SvIVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
447 0 5 if(SvNOK(b)) {
448 0 0 if((double)SvNVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
0 0 if((double)SvNVX(b) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
452 2 3 if(SvPOK(b)) {
453 0 2 if(!looks_like_number(b)) nnum++;
454 2 0 if(strtod(SvPV_nolen(b), NULL) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
1 1 if(strtod(SvPV_nolen(b), NULL) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
1 0 if(strtod(SvPV_nolen(b), NULL) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) &&
458 3 0 if(sv_isobject(b)) {
459 3 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
3 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 3 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
3 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 3 const char *h = HvNAME(SvSTASH(SvRV(b)));
460 3 0 if(strEQ(h, "Math::Complex_C")) {
461 0 3 if(creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(b))))) &&
0 0 if(creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))))) == creal(*(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(b))))) &&
477 0 17 if(pc == NULL) croak("Failed to allocate memory in _overload_pow function");
485 0 17 if(SvUOK(b)) {
488 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) {
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) {
0 0 if(SWITCH_ARGS) {
0 0 if(SWITCH_ARGS) {
0 0 if(SWITCH_ARGS) {
0 0 if(SWITCH_ARGS) {
496 9 8 if(SvIOK(b)) {
499 0 9 if(SWITCH_ARGS) {
0 0 if(SWITCH_ARGS) {
0 0 if(SWITCH_ARGS) {
9 0 if(SWITCH_ARGS) {
9 0 if(SWITCH_ARGS) {
9 0 if(SWITCH_ARGS) {
3 6 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 6 if(SWITCH_ARGS) {
507 3 5 if(SvNOK(b)) {
510 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) {
518 2 3 if(SvPOK(b)) {
519 0 2 if(!looks_like_number(b)) nnum++;
520 2 0 __real__ t = strtod(SvPV_nolen(b), NULL);
522 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) {
1 1 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 1 if(SWITCH_ARGS) {
529 3 0 else if(sv_isobject(b)) {
530 3 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
3 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 3 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
3 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 3 const char *h = HvNAME(SvSTASH(SvRV(b)));
531 3 0 if(strEQ(h, "Math::Complex_C")) {
544 0 5 if(pc == NULL) croak("Failed to allocate memory in _overload_mul function");
552 0 5 if(SvUOK(b)) {
557 2 3 if(SvIOK(b)) {
562 1 2 if(SvNOK(b)) {
566 1 1 if(SvPOK(b)) {
567 0 1 if(!looks_like_number(b)) nnum++;
568 1 0 *pc = *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a)))) * strtod(SvPV_nolen(b), NULL);
571 1 0 if(sv_isobject(b)) {
572 1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 1 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 1 const char *h = HvNAME(SvSTASH(SvRV(b)));
573 1 0 if(strEQ(h, "Math::Complex_C")) {
587 0 5 if(pc == NULL) croak("Failed to allocate memory in _overload_add function");
595 0 5 if(SvUOK(b)) {
600 2 3 if(SvIOK(b)) {
605 1 2 if(SvNOK(b)) {
609 1 1 if(SvPOK(b)) {
610 0 1 if(!looks_like_number(b)) nnum++;
611 1 0 *pc = *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a)))) + strtod(SvPV_nolen(b), NULL);
614 1 0 if(sv_isobject(b)) {
615 1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 1 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 1 const char *h = HvNAME(SvSTASH(SvRV(b)));
616 1 0 if(strEQ(h, "Math::Complex_C")) {
630 0 9 if(pc == NULL) croak("Failed to allocate memory in _overload_div function");
638 0 9 if(SvUOK(b)) {
639 0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
644 4 5 if(SvIOK(b)) {
645 0 4 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
4 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
4 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
4 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 3 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 3 if(SWITCH_ARGS) *pc = (double)SvIVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
650 1 4 if(SvNOK(b)) {
651 0 1 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 1 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 1 if(SWITCH_ARGS) *pc = (double)SvNVX(b) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
655 2 2 if(SvPOK(b)) {
656 0 2 if(!looks_like_number(b)) nnum++;
657 0 2 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
2 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
2 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
2 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 1 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 1 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) / *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
658 1 0 else *pc = *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a)))) / strtod(SvPV_nolen(b), NULL);
661 2 0 if(sv_isobject(b)) {
662 2 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
2 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 2 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
2 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 2 const char *h = HvNAME(SvSTASH(SvRV(b)));
663 2 0 if(strEQ(h, "Math::Complex_C")) {
677 0 8 if(pc == NULL) croak("Failed to allocate memory in _overload_sub function");
685 0 8 if(SvUOK(b)) {
686 0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvUVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
691 4 4 if(SvIOK(b)) {
692 0 4 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
4 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
4 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
4 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 3 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 3 if(SWITCH_ARGS) *pc = (double)SvIVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
697 1 3 if(SvNOK(b)) {
698 0 1 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 1 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 1 if(SWITCH_ARGS) *pc = (double)SvNVX(b) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
702 2 1 if(SvPOK(b)) {
703 0 2 if(!looks_like_number(b)) nnum++;
704 0 2 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
2 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
2 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
2 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 1 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
0 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 1 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
1 0 if(SWITCH_ARGS) *pc = strtod(SvPV_nolen(b), NULL) - *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a))));
705 1 0 else *pc = *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a)))) - strtod(SvPV_nolen(b), NULL);
708 1 0 if(sv_isobject(b)) {
709 1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 1 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 1 const char *h = HvNAME(SvSTASH(SvRV(b)));
710 1 0 if(strEQ(h, "Math::Complex_C")) {
724 0 1 if(pc == NULL) croak("Failed to allocate memory in _overload_sqrt function");
740 0 4 if(SvUOK(b)) {
746 3 1 if(SvIOK(b)) {
752 1 0 if(SvNOK(b)) {
758 0 0 if(SvPOK(b)) {
759 0 0 if(!looks_like_number(b)) nnum++;
760 0 0 __real__ t = strtod(SvPV_nolen(b), NULL);
765 0 0 if(sv_isobject(b)) {
766 0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
767 0 0 if(strEQ(h, "Math::Complex_C")) {
780 0 7 if(SvUOK(b)) {
785 2 5 if(SvIOK(b)) {
790 1 4 if(SvNOK(b)) {
795 2 2 if(SvPOK(b)) {
796 1 1 if(!looks_like_number(b)) nnum++;
797 2 0 *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a)))) *= strtod(SvPV_nolen(b), NULL);
801 2 0 if(sv_isobject(b)) {
802 2 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
2 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 2 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
2 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 2 const char *h = HvNAME(SvSTASH(SvRV(b)));
803 2 0 if(strEQ(h, "Math::Complex_C")) {
816 0 6 if(SvUOK(b)) {
821 2 4 if(SvIOK(b)) {
826 1 3 if(SvNOK(b)) {
831 1 2 if(SvPOK(b)) {
832 0 1 if(!looks_like_number(b)) nnum++;
833 1 0 *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a)))) += strtod(SvPV_nolen(b), NULL);
837 2 0 if(sv_isobject(b)) {
838 2 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
2 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 2 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
2 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 2 const char *h = HvNAME(SvSTASH(SvRV(b)));
839 2 0 if(strEQ(h, "Math::Complex_C")) {
852 0 5 if(SvUOK(b)) {
857 2 3 if(SvIOK(b)) {
862 1 2 if(SvNOK(b)) {
867 1 1 if(SvPOK(b)) {
868 0 1 if(!looks_like_number(b)) nnum++;
869 1 0 *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a)))) /= strtod(SvPV_nolen(b), NULL);
873 1 0 if(sv_isobject(b)) {
874 1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 1 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 1 const char *h = HvNAME(SvSTASH(SvRV(b)));
875 1 0 if(strEQ(h, "Math::Complex_C")) {
888 0 5 if(SvUOK(b)) {
893 2 3 if(SvIOK(b)) {
898 1 2 if(SvNOK(b)) {
903 1 1 if(SvPOK(b)) {
904 0 1 if(!looks_like_number(b)) nnum++;
905 1 0 *(INT2PTR(MATH_COMPLEX *, SvIVX(SvRV(a)))) -= strtod(SvPV_nolen(b), NULL);
909 1 0 if(sv_isobject(b)) {
910 1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 1 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
1 0 const char *h = HvNAME(SvSTASH(SvRV(b)));
0 1 const char *h = HvNAME(SvSTASH(SvRV(b)));
911 1 0 if(strEQ(h, "Math::Complex_C")) {
927 0 4 if(pc == NULL) croak("Failed to allocate memory in _overload_copy function");
950 0 1 if(pc == NULL) croak("Failed to allocate memory in _overload_exp function");
967 0 1 if(pc == NULL) croak("Failed to allocate memory in _overload_log function");
984 0 1 if(pc == NULL) croak("Failed to allocate memory in _overload_sin function");
1001 0 1 if(pc == NULL) croak("Failed to allocate memory in _overload_cos function");
1018 0 1 if(pc == NULL) croak("Failed to allocate memory in _overload_atan2 function");
1046 1 0 if(SvNV(a) == SvNV(a)) return newSVuv(0);
1 0 if(SvNV(a) == SvNV(a)) return newSVuv(0);
0 1 if(SvNV(a) == SvNV(a)) return newSVuv(0);
1051 6 0 double t = (double)SvNV(a);
1052 0 6 if(t == 0) return newSVuv(0);
1053 0 6 if(t != t) return newSVuv(0);
1054 0 6 if(t / t == t / t) return newSVuv(0);
1055 0 6 if(t < 0) return newSViv(-1);
1068 0 0 return newSVnv(SvNV(x));
1072 0 0 if(sv_isobject(b)) return newSVpv(HvNAME(SvSTASH(SvRV(b))), 0);
0 0 if(sv_isobject(b)) return newSVpv(HvNAME(SvSTASH(SvRV(b))), 0);
0 0 if(sv_isobject(b)) return newSVpv(HvNAME(SvSTASH(SvRV(b))), 0);
0 0 if(sv_isobject(b)) return newSVpv(HvNAME(SvSTASH(SvRV(b))), 0);
0 0 if(sv_isobject(b)) return newSVpv(HvNAME(SvSTASH(SvRV(b))), 0);
0 0 if(sv_isobject(b)) return newSVpv(HvNAME(SvSTASH(SvRV(b))), 0);
0 0 if(sv_isobject(b)) return newSVpv(HvNAME(SvSTASH(SvRV(b))), 0);
1111 10 0 if(sv_isobject(ld)) {
1112 10 0 const char *h = HvNAME(SvSTASH(SvRV(ld)));
10 0 const char *h = HvNAME(SvSTASH(SvRV(ld)));
0 10 const char *h = HvNAME(SvSTASH(SvRV(ld)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(ld)));
10 0 const char *h = HvNAME(SvSTASH(SvRV(ld)));
0 10 const char *h = HvNAME(SvSTASH(SvRV(ld)));
1113 10 0 if(strEQ(h, "Math::Complex_C")) {
1114 0 10 EXTEND(SP, 2);
1119 0 10 if(rbuffer == NULL) croak("Failed to allocate memory in d_to_str");
1122 8 2 if(query || _is_nan(__real__ t))
3 5 if(query || _is_nan(__real__ t))
1123 2 3 sprintf(rbuffer, "%s", query ? query > 0 ? "inf"
1124 1 1 : "-inf"
1132 8 2 if(query || _is_nan(__imag__ t))
3 5 if(query || _is_nan(__imag__ t))
1133 2 3 sprintf(rbuffer, "%s", query ? query > 0 ? "inf"
1134 1 1 : "-inf"
1155 0 3 if(decimal_prec < 1)croak("2nd arg (precision) to _d_to_strp must be at least 1");
1157 3 0 if(sv_isobject(ld)) {
1158 3 0 const char *h = HvNAME(SvSTASH(SvRV(ld)));
3 0 const char *h = HvNAME(SvSTASH(SvRV(ld)));
0 3 const char *h = HvNAME(SvSTASH(SvRV(ld)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(ld)));
3 0 const char *h = HvNAME(SvSTASH(SvRV(ld)));
0 3 const char *h = HvNAME(SvSTASH(SvRV(ld)));
1159 3 0 if(strEQ(h, "Math::Complex_C")) {
1160 0 3 EXTEND(SP, 2);
1164 0 3 if(rbuffer == NULL) croak("Failed to allocate memory in d_to_strp");
1167 1 2 if(query || _is_nan(__real__ t))
1 0 if(query || _is_nan(__real__ t))
1168 2 1 sprintf(rbuffer, "%s", query ? query > 0 ? "inf"
1169 1 1 : "-inf"
1177 1 2 if(query || _is_nan(__imag__ t))
1 0 if(query || _is_nan(__imag__ t))
1178 2 1 sprintf(rbuffer, "%s", query ? query > 0 ? "inf"
1179 1 1 : "-inf"
1215 0 16 if(SvUOK(a)) return newSVuv(1);
1216 1 15 if(SvIOK(a)) return newSVuv(2);
1217 15 0 if(SvNOK(a)) return newSVuv(3);
1218 0 0 if(SvPOK(a)) return newSVuv(4);
1219 0 0 if(sv_isobject(a)) {
1220 0 0 const char *h = HvNAME(SvSTASH(SvRV(a)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(a)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(a)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(a)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(a)));
0 0 const char *h = HvNAME(SvSTASH(SvRV(a)));
1221 0 0 if(strEQ(h, "Math::Complex_C")) return newSVuv(226);
1239 0 0 if(looks_like_number(x)) return 1;
1257 2 0 if (PL_markstack_ptr != temp) {
1306 76 0 if (PL_markstack_ptr != temp) {
1323 4 0 if (PL_markstack_ptr != temp) {
1340 4 0 if (PL_markstack_ptr != temp) {
1358 1 0 if (PL_markstack_ptr != temp) {
1376 1 0 if (PL_markstack_ptr != temp) {
1394 1 0 if (PL_markstack_ptr != temp) {
1412 1 0 if (PL_markstack_ptr != temp) {
1430 1 0 if (PL_markstack_ptr != temp) {
1448 1 0 if (PL_markstack_ptr != temp) {
1466 1 0 if (PL_markstack_ptr != temp) {
1484 1 0 if (PL_markstack_ptr != temp) {
1502 1 0 if (PL_markstack_ptr != temp) {
1520 1 0 if (PL_markstack_ptr != temp) {
1538 1 0 if (PL_markstack_ptr != temp) {
1556 1 0 if (PL_markstack_ptr != temp) {
1574 1 0 if (PL_markstack_ptr != temp) {
1592 1 0 if (PL_markstack_ptr != temp) {
1610 1 0 if (PL_markstack_ptr != temp) {
1628 1 0 if (PL_markstack_ptr != temp) {
1646 1 0 if (PL_markstack_ptr != temp) {
1664 1 0 if (PL_markstack_ptr != temp) {
1682 1 0 if (PL_markstack_ptr != temp) {
1700 1 0 if (PL_markstack_ptr != temp) {
1716 126 0 if (PL_markstack_ptr != temp) {
1761 1 0 if (PL_markstack_ptr != temp) {
1778 1 0 if (PL_markstack_ptr != temp) {
1795 1 0 if (PL_markstack_ptr != temp) {
1812 1 0 if (PL_markstack_ptr != temp) {
1829 1 0 if (PL_markstack_ptr != temp) {
1846 1 0 if (PL_markstack_ptr != temp) {
1863 1 0 if (PL_markstack_ptr != temp) {
1880 1 0 if (PL_markstack_ptr != temp) {
1897 1 0 if (PL_markstack_ptr != temp) {
1914 1 0 if (PL_markstack_ptr != temp) {
1931 1 0 if (PL_markstack_ptr != temp) {
1948 1 0 if (PL_markstack_ptr != temp) {
1965 1 0 if (PL_markstack_ptr != temp) {
1982 1 0 if (PL_markstack_ptr != temp) {
1999 1 0 if (PL_markstack_ptr != temp) {
2016 1 0 if (PL_markstack_ptr != temp) {
2033 6 0 if (PL_markstack_ptr != temp) {
2051 1 0 if (PL_markstack_ptr != temp) {
2377 0 10 if (PL_markstack_ptr != temp) {
2394 0 3 if (PL_markstack_ptr != temp) {
2442 1 0 if (PL_markstack_ptr != temp) {
2458 1 0 if (PL_markstack_ptr != temp) {