lib/accy/src/kernel/library/histogram/family/runtime/arguments.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

 1 const choir_abi = @import("choir_abi");
 2 const accy = @import("../../../../../root.zig");
 3 const library = @import("../../../root.zig");
 4 const family = @import("../root.zig");
 5 
 6 const extent = library.extent;
 7 const Histogram = family.Histogram;
 8 
 9 pub fn histogramRuntimeArguments(instance: Histogram) ![4]choir_abi.ScalarArgument {
10     return .{
11         .{ .u32 = try runtimeExtentArgument(instance.bins) },
12         .{ .u32 = try runtimeExtentArgument(instance.count) },
13         .{ .f32 = instance.lo },
14         .{ .f32 = instance.width },
15     };
16 }
17 
18 fn runtimeExtentArgument(value: u64) !u32 {
19     if (value == 0 or value > extent.runtime_extent_max) return error.InvalidKernelLibraryEntry;
20     return @intCast(value);
21 }