2022-02-23 15:25:55 +02:00
|
|
|
const std = @import("std");
|
|
|
|
const Allocator = std.mem.Allocator;
|
|
|
|
|
|
|
|
const c = @cImport({
|
|
|
|
@cInclude("bdz.h");
|
|
|
|
});
|
|
|
|
|
2022-02-24 05:51:04 +02:00
|
|
|
pub fn search(packed_mphf: []const u8, key: []const u8) error{Overflow}!u32 {
|
2022-02-23 20:30:23 +02:00
|
|
|
const bdz_start = @intToPtr(?*anyopaque, @ptrToInt(&packed_mphf[0]));
|
2022-02-23 15:25:55 +02:00
|
|
|
const len = try std.math.cast(c_uint, key.len);
|
|
|
|
return @as(u32, c.bdz_search_packed(bdz_start, key.ptr, len));
|
|
|
|
}
|