Skip to documentation
SLOP

tiny.simd.replace

Reference tiny.simd replace

Defined in algo.

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

Source

Source: lib/simd/src/algo.zig:455

zig
pub fn replace(comptime D: type, input_output: []D.Lane, old: D.Lane, new: D.Lane) void {    const old_vector: D.Vector = @splat(old);    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, value == old_vector, 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, value == old_vector, new_vector, value);        memory.storeN(D, result, input_output[index..], remaining);    }}

Source: lib/simd/src/root.zig:476

zig
pub const replace = algo.replace;

Audit

Definitions1
Public names2
Members0
Version26.7.0
Revisiondaab053ee433