Skip to documentation
SLOP

tiny.simd.replaceIf

Reference tiny.simd replaceIf

Defined in algo.

Called byCallstest sourcelib.simd.src.algotest: Highway sorted and transform al...memoryloadNmemorystoreNalgoreplaceIf
Static calls · unresolved targets: 0 · external targets: 3.

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

Definitions1
Public names2
Members0
Version26.7.0
Revisiondaab053ee433