var data = {lines:[ {"lineNum":" 1","line":"// FNV1a - Fowler-Noll-Vo hash function"}, {"lineNum":" 2","line":"//"}, {"lineNum":" 3","line":"// FNV1a is a fast, non-cryptographic hash function with fairly good distribution properties."}, {"lineNum":" 4","line":"//"}, {"lineNum":" 5","line":"// https://tools.ietf.org/html/draft-eastlake-fnv-14"}, {"lineNum":" 6","line":""}, {"lineNum":" 7","line":"const std = @import(\"../std.zig\");"}, {"lineNum":" 8","line":"const testing = std.testing;"}, {"lineNum":" 9","line":""}, {"lineNum":" 10","line":"pub const Fnv1a_32 = Fnv1a(u32, 0x01000193, 0x811c9dc5);"}, {"lineNum":" 11","line":"pub const Fnv1a_64 = Fnv1a(u64, 0x100000001b3, 0xcbf29ce484222325);"}, {"lineNum":" 12","line":"pub const Fnv1a_128 = Fnv1a(u128, 0x1000000000000000000013b, 0x6c62272e07bb014262b821756295c58d);"}, {"lineNum":" 13","line":""}, {"lineNum":" 14","line":"fn Fnv1a(comptime T: type, comptime prime: T, comptime offset: T) type {"}, {"lineNum":" 15","line":" return struct {"}, {"lineNum":" 16","line":" const Self = @This();"}, {"lineNum":" 17","line":""}, {"lineNum":" 18","line":" value: T,"}, {"lineNum":" 19","line":""}, {"lineNum":" 20","line":" pub fn init() Self {","class":"lineCov","hits":"3","order":"18636","possible_hits":"3",}, {"lineNum":" 21","line":" return Self{ .value = offset };","class":"lineCov","hits":"3","order":"18637","possible_hits":"3",}, {"lineNum":" 22","line":" }"}, {"lineNum":" 23","line":""}, {"lineNum":" 24","line":" pub fn update(self: *Self, input: []const u8) void {","class":"lineCov","hits":"6","order":"18639","possible_hits":"6",}, {"lineNum":" 25","line":" for (input) |b| {","class":"lineCov","hits":"6","order":"18640","possible_hits":"6",}, {"lineNum":" 26","line":" self.value ^= b;","class":"lineCov","hits":"3","order":"18645","possible_hits":"3",}, {"lineNum":" 27","line":" self.value *%= prime;","class":"lineCov","hits":"3","order":"18646","possible_hits":"3",}, {"lineNum":" 28","line":" }"}, {"lineNum":" 29","line":" }"}, {"lineNum":" 30","line":""}, {"lineNum":" 31","line":" pub fn final(self: *Self) T {","class":"lineCov","hits":"3","order":"18642","possible_hits":"3",}, {"lineNum":" 32","line":" return self.value;","class":"lineCov","hits":"3","order":"18643","possible_hits":"3",}, {"lineNum":" 33","line":" }"}, {"lineNum":" 34","line":""}, {"lineNum":" 35","line":" pub fn hash(input: []const u8) T {","class":"lineCov","hits":"3","order":"18634","possible_hits":"3",}, {"lineNum":" 36","line":" var c = Self.init();","class":"lineCov","hits":"3","order":"18635","possible_hits":"3",}, {"lineNum":" 37","line":" c.update(input);","class":"lineCov","hits":"3","order":"18638","possible_hits":"3",}, {"lineNum":" 38","line":" return c.final();","class":"lineCov","hits":"3","order":"18641","possible_hits":"3",}, {"lineNum":" 39","line":" }"}, {"lineNum":" 40","line":" };"}, {"lineNum":" 41","line":"}"}, {"lineNum":" 42","line":""}, {"lineNum":" 43","line":"test \"fnv1a-32\" {","class":"lineCov","hits":"2","order":"18632","possible_hits":"2",}, {"lineNum":" 44","line":" testing.expect(Fnv1a_32.hash(\"\") == 0x811c9dc5);","class":"lineCov","hits":"1","order":"18633","possible_hits":"1",}, {"lineNum":" 45","line":" testing.expect(Fnv1a_32.hash(\"a\") == 0xe40c292c);","class":"lineCov","hits":"1","order":"18644","possible_hits":"1",}, {"lineNum":" 46","line":" testing.expect(Fnv1a_32.hash(\"foobar\") == 0xbf9cf968);","class":"lineCov","hits":"1","order":"18647","possible_hits":"1",}, {"lineNum":" 47","line":"}"}, {"lineNum":" 48","line":""}, {"lineNum":" 49","line":"test \"fnv1a-64\" {","class":"lineCov","hits":"2","order":"18648","possible_hits":"2",}, {"lineNum":" 50","line":" testing.expect(Fnv1a_64.hash(\"\") == 0xcbf29ce484222325);","class":"lineCov","hits":"1","order":"18649","possible_hits":"1",}, {"lineNum":" 51","line":" testing.expect(Fnv1a_64.hash(\"a\") == 0xaf63dc4c8601ec8c);","class":"lineCov","hits":"1","order":"18650","possible_hits":"1",}, {"lineNum":" 52","line":" testing.expect(Fnv1a_64.hash(\"foobar\") == 0x85944171f73967e8);","class":"lineCov","hits":"1","order":"18651","possible_hits":"1",}, {"lineNum":" 53","line":"}"}, {"lineNum":" 54","line":""}, {"lineNum":" 55","line":"test \"fnv1a-128\" {","class":"lineCov","hits":"2","order":"18652","possible_hits":"2",}, {"lineNum":" 56","line":" testing.expect(Fnv1a_128.hash(\"\") == 0x6c62272e07bb014262b821756295c58d);","class":"lineCov","hits":"1","order":"18653","possible_hits":"1",}, {"lineNum":" 57","line":" testing.expect(Fnv1a_128.hash(\"a\") == 0xd228cb696f1a8caf78912b704e4a8964);","class":"lineCov","hits":"1","order":"18654","possible_hits":"1",}, {"lineNum":" 58","line":"}"}, ]}; var percent_low = 25;var percent_high = 75; var header = { "command" : "test", "date" : "2020-05-19 01:29:25", "instrumented" : 23, "covered" : 23,}; var merged_data = [];