lib/accy/src/kernel/library/histogram/family/naming.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

 1 const std = @import("std");
 2 
 3 const model = @import("model.zig");
 4 
 5 const Histogram = model.Histogram;
 6 
 7 pub fn histogramFamilyTarget(allocator: std.mem.Allocator, instance: Histogram) ![]u8 {
 8     return switch (instance.variant) {
 9         .direct => std.fmt.allocPrint(
10             allocator,
11             "accy.kernel.histogram.histogram_family_{d}_{s}",
12             .{ instance.threads, instance.dtype.name() },
13         ),
14         .shared_bins => std.fmt.allocPrint(
15             allocator,
16             "accy.kernel.histogram.histogram_family_shared{d}_{d}_{s}",
17             .{ instance.bins, instance.threads, instance.dtype.name() },
18         ),
19     };
20 }
21 
22 pub fn histogramFamilyEntryName(allocator: std.mem.Allocator, instance: Histogram) ![]u8 {
23     return switch (instance.variant) {
24         .direct => std.fmt.allocPrint(
25             allocator,
26             "accy_kernel_histogram_histogram_family_{d}_{s}",
27             .{ instance.threads, instance.dtype.name() },
28         ),
29         .shared_bins => std.fmt.allocPrint(
30             allocator,
31             "accy_kernel_histogram_histogram_family_shared{d}_{d}_{s}",
32             .{ instance.bins, instance.threads, instance.dtype.name() },
33         ),
34     };
35 }