Branch Coverage

Float32.xs
Criterion Covered Total %
branch 97 146 66.4


line true false branch
20 399 27113 if(SvIOK(a)) {
23 18048 9065 if(SvPOK(a)) {
26 394 8671 if(SvNOK(a)) return newSVuv(3); /* NV */
27 8671 0 if(sv_isobject(a)) {
28 8671 0 const char* h = HvNAME(SvSTASH(SvRV(a)));
8671 0 const char* h = HvNAME(SvSTASH(SvRV(a)));
0 8671 const char* h = HvNAME(SvSTASH(SvRV(a)));
0 0 const char* h = HvNAME(SvSTASH(SvRV(a)));
8671 0 const char* h = HvNAME(SvSTASH(SvRV(a)));
0 8671 const char* h = HvNAME(SvSTASH(SvRV(a)));
29 8671 0 if(strEQ(h, "Math::Float32")) return newSVuv(22);
35 64 47 if(*obj == *obj) return 0;
40 0 16 if(*obj == 0) return 0;
41 11 5 if(*obj / *obj != *obj / *obj) {
42 6 5 if(*obj > 0) return 1;
54 0 8594 if(f_obj == NULL) croak("Failed to allocate memory in _fromFloat32 function");
71 0 394 if(f_obj == NULL) croak("Failed to allocate memory in _fromNV function");
88 0 399 if(f_obj == NULL) croak("Failed to allocate memory in _fromIV function");
92 1 398 if(SvUOK(in)) *f_obj = ( float)SvUV(in);
106 0 9039 if(f_obj == NULL) croak("Failed to allocate memory in _fromPV function");
130 1 0 if(is_pos > 0) *a = strtof("Inf", NULL);
135 0 0 if(is_pos > 0) *a = strtof("0.0", NULL);
146 0 101 if(f_obj == NULL) croak("Failed to allocate memory in _oload_add function");
163 0 181 if(f_obj == NULL) croak("Failed to allocate memory in _oload_sub function");
167 109 72 if(SvTRUE_nomg_NN(third)) *f_obj = *b - *a;
181 0 141 if(f_obj == NULL) croak("Failed to allocate memory in _oload_mul function");
198 0 107 if(f_obj == NULL) croak("Failed to allocate memory in _oload_div function");
202 37 70 if(SvTRUE_nomg_NN(third)) *f_obj = *b / *a;
216 0 12 if(f_obj == NULL) croak("Failed to allocate memory in _oload_fmod function");
220 1 11 if(SvTRUE_nomg_NN(third)) *f_obj = fmodf(*b, *a);
234 0 28 if(f_obj == NULL) croak("Failed to allocate memory in _oload_pow function");
238 2 26 if(SvTRUE_nomg_NN(third)) *f_obj = powf(*b, *a); /* b ** a */
247 8650 12 if(*a == *b) return 1;
252 14 0 if(*a != *b) return 1;
257 1 25 if(SvTRUE_nomg_NN(third)) {
258 1 0 if(*b > *a) return 1;
261 15 10 if(*a > *b) return 1;
266 2 64 if(SvTRUE_nomg_NN(third)) {
267 2 0 if(*b >= *a) return 1;
270 58 6 if(*a >= *b) return 1;
275 1 27 if(SvTRUE_nomg_NN(third)) {
276 1 0 if(*b < *a) return 1;
279 16 11 if(*a < *b) return 1;
284 2 64 if(SvTRUE_nomg_NN(third)) {
285 2 0 if(*b <= *a) return 1;
288 58 6 if(*a <= *b) return 1;
293 10 38 if(*a == *b) return newSViv(0);
294 30 8 if(is_flt_nan(a) || is_flt_nan(b)) return &PL_sv_undef;
0 30 if(is_flt_nan(a) || is_flt_nan(b)) return &PL_sv_undef;
295 1 29 if(SvTRUE_nomg_NN(third)) {
296 1 0 if(*b > *a) return newSViv(1);
299 14 15 if(*a > *b) return newSViv(1);
304 2 1 if(is_flt_nan(a) || *a == 0) return 1;
1 1 if(is_flt_nan(a) || *a == 0) return 1;
309 2 1 if(is_flt_nan(a) || *a == 0) return 0;
1 1 if(is_flt_nan(a) || *a == 0) return 0;
318 0 1 if(f_obj == NULL) croak("Failed to allocate memory in _oload_int function");
322 1 0 if(*a >= 0) *f_obj = floorf(*a);
335 0 1 if(f_obj == NULL) croak("Failed to allocate memory in _oload_log function");
351 0 1 if(f_obj == NULL) croak("Failed to allocate memory in _oload_exp function");
368 0 4 if(f_obj == NULL) croak("Failed to allocate memory in _oload_sqrt function");
387 0 8310 if(buff == NULL) croak("Failed to allocate memory in unpack_flt_hex");
394 33240 8310 for (i = 3; i >= 0; i--) {
397 0 33240 XPUSHs(sv_2mortal(newSVpv(buff, 0)));
491 1 0 if (PL_markstack_ptr != temp) {
507 0 0 if (PL_markstack_ptr != temp) {
524 1 0 if (PL_markstack_ptr != temp) {
541 0 0 if (PL_markstack_ptr != temp) {
716 0 8310 if (PL_markstack_ptr != temp) {
734 0 0 if (PL_markstack_ptr != temp) {
750 4147 0 if (PL_markstack_ptr != temp) {
766 4146 0 if (PL_markstack_ptr != temp) {
782 19003 0 if (PL_markstack_ptr != temp) {