Branch Coverage

Float32.xs
Criterion Covered Total %
branch 98 148 66.2


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 0 8671 if(strEQ(h, "Math::Bfloat16")) return newSVuv(20);
30 8671 0 if(strEQ(h, "Math::Float32")) return newSVuv(22);
36 64 47 if(*obj == *obj) return 0;
41 0 16 if(*obj == 0) return 0;
42 11 5 if(*obj / *obj != *obj / *obj) {
43 6 5 if(*obj > 0) return 1;
55 0 8594 if(f_obj == NULL) croak("Failed to allocate memory in _fromFloat32 function");
72 0 394 if(f_obj == NULL) croak("Failed to allocate memory in _fromNV function");
89 0 399 if(f_obj == NULL) croak("Failed to allocate memory in _fromIV function");
93 1 398 if(SvUOK(in)) *f_obj = ( float)SvUV(in);
107 0 9039 if(f_obj == NULL) croak("Failed to allocate memory in _fromPV function");
131 1 0 if(is_pos > 0) *a = strtof("Inf", NULL);
136 0 0 if(is_pos > 0) *a = strtof("0.0", NULL);
147 0 101 if(f_obj == NULL) croak("Failed to allocate memory in _oload_add function");
164 0 181 if(f_obj == NULL) croak("Failed to allocate memory in _oload_sub function");
168 109 72 if(SvTRUE_nomg_NN(third)) *f_obj = *b - *a;
182 0 141 if(f_obj == NULL) croak("Failed to allocate memory in _oload_mul function");
199 0 107 if(f_obj == NULL) croak("Failed to allocate memory in _oload_div function");
203 37 70 if(SvTRUE_nomg_NN(third)) *f_obj = *b / *a;
217 0 12 if(f_obj == NULL) croak("Failed to allocate memory in _oload_fmod function");
221 1 11 if(SvTRUE_nomg_NN(third)) *f_obj = fmodf(*b, *a);
235 0 28 if(f_obj == NULL) croak("Failed to allocate memory in _oload_pow function");
239 2 26 if(SvTRUE_nomg_NN(third)) *f_obj = powf(*b, *a); /* b ** a */
248 8650 12 if(*a == *b) return 1;
253 14 0 if(*a != *b) return 1;
258 1 25 if(SvTRUE_nomg_NN(third)) {
259 1 0 if(*b > *a) return 1;
262 15 10 if(*a > *b) return 1;
267 2 64 if(SvTRUE_nomg_NN(third)) {
268 2 0 if(*b >= *a) return 1;
271 58 6 if(*a >= *b) return 1;
276 1 27 if(SvTRUE_nomg_NN(third)) {
277 1 0 if(*b < *a) return 1;
280 16 11 if(*a < *b) return 1;
285 2 64 if(SvTRUE_nomg_NN(third)) {
286 2 0 if(*b <= *a) return 1;
289 58 6 if(*a <= *b) return 1;
294 10 38 if(*a == *b) return newSViv(0);
295 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;
296 1 29 if(SvTRUE_nomg_NN(third)) {
297 1 0 if(*b > *a) return newSViv(1);
300 14 15 if(*a > *b) return newSViv(1);
305 2 1 if(is_flt_nan(a) || *a == 0) return 1;
1 1 if(is_flt_nan(a) || *a == 0) return 1;
310 2 1 if(is_flt_nan(a) || *a == 0) return 0;
1 1 if(is_flt_nan(a) || *a == 0) return 0;
319 0 1 if(f_obj == NULL) croak("Failed to allocate memory in _oload_int function");
323 1 0 if(*a >= 0) *f_obj = floorf(*a);
336 0 1 if(f_obj == NULL) croak("Failed to allocate memory in _oload_log function");
352 0 1 if(f_obj == NULL) croak("Failed to allocate memory in _oload_exp function");
369 0 4 if(f_obj == NULL) croak("Failed to allocate memory in _oload_sqrt function");
388 0 8310 if(buff == NULL) croak("Failed to allocate memory in unpack_flt_hex");
395 33240 8310 for (i = 3; i >= 0; i--) {
398 0 33240 XPUSHs(sv_2mortal(newSVpv(buff, 0)));
492 1 0 if (PL_markstack_ptr != temp) {
508 0 0 if (PL_markstack_ptr != temp) {
525 1 0 if (PL_markstack_ptr != temp) {
542 0 0 if (PL_markstack_ptr != temp) {
717 0 8310 if (PL_markstack_ptr != temp) {
735 0 0 if (PL_markstack_ptr != temp) {
751 4147 0 if (PL_markstack_ptr != temp) {
767 4146 0 if (PL_markstack_ptr != temp) {
783 19003 0 if (PL_markstack_ptr != temp) {