var data = {lines:[ {"lineNum":" 1","line":"const builtin = @import(\"builtin\");"}, {"lineNum":" 2","line":"const is_test = builtin.is_test;"}, {"lineNum":" 3","line":"const std = @import(\"std\");"}, {"lineNum":" 4","line":"const maxInt = std.math.maxInt;"}, {"lineNum":" 5","line":""}, {"lineNum":" 6","line":"const DBL_MANT_DIG = 53;"}, {"lineNum":" 7","line":""}, {"lineNum":" 8","line":"pub fn __floatuntidf(arg: u128) callconv(.C) f64 {","class":"lineCov","hits":"1","order":"5523","possible_hits":"1",}, {"lineNum":" 9","line":" @setRuntimeSafety(is_test);"}, {"lineNum":" 10","line":""}, {"lineNum":" 11","line":" if (arg == 0)","class":"lineCov","hits":"2","order":"5524","possible_hits":"2",}, {"lineNum":" 12","line":" return 0.0;","class":"lineNoCov","hits":"0","possible_hits":"1",}, {"lineNum":" 13","line":""}, {"lineNum":" 14","line":" var a = arg;","class":"lineCov","hits":"1","order":"5525","possible_hits":"1",}, {"lineNum":" 15","line":" const N: u32 = @sizeOf(u128) * 8;"}, {"lineNum":" 16","line":" const sd = @bitCast(i32, N - @clz(u128, a)); // number of significant digits","class":"lineCov","hits":"1","order":"5526","possible_hits":"1",}, {"lineNum":" 17","line":" var e: i32 = sd - 1; // exponent","class":"lineCov","hits":"1","order":"5527","possible_hits":"1",}, {"lineNum":" 18","line":" if (sd > DBL_MANT_DIG) {","class":"lineCov","hits":"2","order":"5528","possible_hits":"2",}, {"lineNum":" 19","line":" // start: 0000000000000000000001xxxxxxxxxxxxxxxxxxxxxxPQxxxxxxxxxxxxxxxxxx"}, {"lineNum":" 20","line":" // finish: 000000000000000000000000000000000000001xxxxxxxxxxxxxxxxxxxxxxPQR"}, {"lineNum":" 21","line":" // 12345678901234567890123456"}, {"lineNum":" 22","line":" // 1 = msb 1 bit"}, {"lineNum":" 23","line":" // P = bit DBL_MANT_DIG-1 bits to the right of 1"}, {"lineNum":" 24","line":" // Q = bit DBL_MANT_DIG bits to the right of 1"}, {"lineNum":" 25","line":" // R = \"or\" of all bits to the right of Q"}, {"lineNum":" 26","line":" switch (sd) {","class":"linePartCov","hits":"2","order":"5529","possible_hits":"3",}, {"lineNum":" 27","line":" DBL_MANT_DIG + 1 => {"}, {"lineNum":" 28","line":" a <<= 1;","class":"lineNoCov","hits":"0","possible_hits":"1",}, {"lineNum":" 29","line":" },"}, {"lineNum":" 30","line":" DBL_MANT_DIG + 2 => {},"}, {"lineNum":" 31","line":" else => {"}, {"lineNum":" 32","line":" const shift_amt = @bitCast(i32, N + (DBL_MANT_DIG + 2)) - sd;","class":"lineCov","hits":"1","order":"5530","possible_hits":"1",}, {"lineNum":" 33","line":" const shift_amt_u7 = @intCast(u7, shift_amt);","class":"lineCov","hits":"1","order":"5531","possible_hits":"1",}, {"lineNum":" 34","line":" a = (a >> @intCast(u7, sd - (DBL_MANT_DIG + 2))) |","class":"lineCov","hits":"2","order":"5532","possible_hits":"2",}, {"lineNum":" 35","line":" @boolToInt((a & (@as(u128, maxInt(u128)) >> shift_amt_u7)) != 0);","class":"lineCov","hits":"1","order":"5533","possible_hits":"1",}, {"lineNum":" 36","line":" },"}, {"lineNum":" 37","line":" }"}, {"lineNum":" 38","line":" // finish"}, {"lineNum":" 39","line":" a |= @boolToInt((a & 4) != 0); // Or P into R","class":"lineCov","hits":"1","order":"5534","possible_hits":"1",}, {"lineNum":" 40","line":" a += 1; // round - this step may add a significant bit","class":"lineCov","hits":"1","order":"5535","possible_hits":"1",}, {"lineNum":" 41","line":" a >>= 2; // dump Q and R","class":"lineCov","hits":"1","order":"5536","possible_hits":"1",}, {"lineNum":" 42","line":" // a is now rounded to DBL_MANT_DIG or DBL_MANT_DIG+1 bits"}, {"lineNum":" 43","line":" if ((a & (@as(u128, 1) << DBL_MANT_DIG)) != 0) {","class":"linePartCov","hits":"1","order":"5537","possible_hits":"2",}, {"lineNum":" 44","line":" a >>= 1;","class":"lineNoCov","hits":"0","possible_hits":"1",}, {"lineNum":" 45","line":" e += 1;","class":"lineNoCov","hits":"0","possible_hits":"1",}, {"lineNum":" 46","line":" }"}, {"lineNum":" 47","line":" // a is now rounded to DBL_MANT_DIG bits"}, {"lineNum":" 48","line":" } else {"}, {"lineNum":" 49","line":" a <<= @intCast(u7, DBL_MANT_DIG - sd);","class":"lineNoCov","hits":"0","possible_hits":"1",}, {"lineNum":" 50","line":" // a is now rounded to DBL_MANT_DIG bits"}, {"lineNum":" 51","line":" }"}, {"lineNum":" 52","line":""}, {"lineNum":" 53","line":" const high: u64 = @bitCast(u32, (e + 1023) << 20) | // exponent","class":"lineCov","hits":"2","order":"5538","possible_hits":"2",}, {"lineNum":" 54","line":" (@truncate(u32, a >> 32) & 0x000FFFFF); // mantissa-high","class":"lineCov","hits":"1","order":"5539","possible_hits":"1",}, {"lineNum":" 55","line":" const low = @truncate(u32, a); // mantissa-low","class":"lineCov","hits":"1","order":"5540","possible_hits":"1",}, {"lineNum":" 56","line":""}, {"lineNum":" 57","line":" return @bitCast(f64, low | (high << 32));","class":"lineCov","hits":"1","order":"5541","possible_hits":"1",}, {"lineNum":" 58","line":"}"}, {"lineNum":" 59","line":""}, {"lineNum":" 60","line":"test \"import floatuntidf\" {"}, {"lineNum":" 61","line":" _ = @import(\"floatuntidf_test.zig\");"}, {"lineNum":" 62","line":"}"}, ]}; var percent_low = 25;var percent_high = 75; var header = { "command" : "test", "date" : "2020-05-19 01:29:25", "instrumented" : 24, "covered" : 19,}; var merged_data = [];