Branch Coverage

xs/complex.c
Criterion Covered Total %
branch 68 98 69.3


line true false branch
19 0 84 PUSHMARK(SP);
20 0 84 XPUSHs(sv);
23 42 42 count = call_pv(imag ? "Math::Complex::Im" : "Math::Complex::Re", G_ARRAY);
27 84 0 if(count >= 1)
28 78 6 result = POPn;
31 84 0 FREETMPS;
44 0 36 PUSHMARK(SP);
45 0 36 XPUSHs(sv);
46 0 36 XPUSHs(new_value);
49 18 18 call_pv(imag ? "Math::Complex::Im" : "Math::Complex::Re", G_DISCARD);
51 0 36 FREETMPS;
58 21 90 if(sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
21 0 if(sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
63 69 21 else if(SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV)
69 0 else if(SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV)
69 66 3 ptr[0] = real_sv != NULL ? SvNV(*real_sv) : 0.0;
66 0 ptr[0] = real_sv != NULL ? SvNV(*real_sv) : 0.0;
70 66 3 ptr[1]= imag_sv != NULL ? SvNV(*imag_sv) : 0.0;
66 0 ptr[1]= imag_sv != NULL ? SvNV(*imag_sv) : 0.0;
72 3 18 else if(SvOK(sv))
3 0 else if(SvOK(sv))
0 3 else if(SvOK(sv))
74 18 0 ptr[0] = SvNV(sv);
87 3 66 if(SvOK(sv) && sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
3 0 if(SvOK(sv) && sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
0 3 if(SvOK(sv) && sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
9 57 if(SvOK(sv) && sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
9 0 if(SvOK(sv) && sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
93 57 3 else if(SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV)
57 0 else if(SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV)
115 21 90 if(sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
21 0 if(sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
120 69 21 else if(SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV)
69 0 else if(SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV)
126 66 3 ptr[0] = real_sv != NULL ? SvNV(*real_sv) : 0.0;
66 0 ptr[0] = real_sv != NULL ? SvNV(*real_sv) : 0.0;
127 66 3 ptr[1]= imag_sv != NULL ? SvNV(*imag_sv) : 0.0;
66 0 ptr[1]= imag_sv != NULL ? SvNV(*imag_sv) : 0.0;
129 3 18 else if(SvOK(sv))
3 0 else if(SvOK(sv))
0 3 else if(SvOK(sv))
131 18 0 ptr[0] = SvNV(sv);
144 3 66 if(SvOK(sv) && sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
3 0 if(SvOK(sv) && sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
0 3 if(SvOK(sv) && sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
9 57 if(SvOK(sv) && sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
9 0 if(SvOK(sv) && sv_isobject(sv) && sv_derived_from(sv, "Math::Complex"))
150 57 3 else if(SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV)
57 0 else if(SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV)