tiny.simd.replaceIf
Defined in algo.
Source
Source: lib/simd/src/algo.zig:472
zig
pub fn replaceIf( comptime D: type, input_output: []D.Lane, new: D.Lane, predicate: anytype,) void { const new_vector: D.Vector = @splat(new); var index: usize = 0; while (index + D.lane_count <= input_output.len) : (index += D.lane_count) { const value = memory.load(D, input_output[index..]); const result = @select(D.Lane, predicate.call(D, value), new_vector, value); memory.store(D, result, input_output[index..]); } if (index != input_output.len) { const remaining = input_output.len - index; const value = memory.loadN(D, input_output[index..], remaining); const result = @select(D.Lane, predicate.call(D, value), new_vector, value); memory.storeN(D, result, input_output[index..], remaining); }}Source: lib/simd/src/root.zig:477
zig
pub const replaceIf = algo.replaceIf;Audit
| Definitions | 1 |
|---|---|
| Public names | 2 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |