tiny.simd.find
Defined in algo.
Source
Source: lib/simd/src/algo.zig:91
zig
pub fn find(comptime D: type, input: []const D.Lane, value: D.Lane) usize { const broadcast: D.Vector = @splat(value); var index: usize = 0; while (index + D.lane_count <= input.len) : (index += D.lane_count) { const position = compare.findFirstTrue(D, memory.load(D, input[index..]) == broadcast); if (position >= 0) return index + @as(usize, @intCast(position)); } if (index != input.len) { const remaining = input.len - index; const loaded = memory.loadN(D, input[index..], remaining); const matches = (loaded == broadcast) & construct.firstN(D, remaining); const position = compare.findFirstTrue(D, matches); if (position >= 0) return index + @as(usize, @intCast(position)); } return input.len;}Source: lib/simd/src/root.zig:459
zig
pub const find = algo.find;Audit
| Definitions | 1 |
|---|---|
| Public names | 2 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |