tiny.simd.transform2
Defined in algo.
Source
Source: lib/simd/src/algo.zig:430
zig
pub fn transform2( comptime D: type, input_output: []D.Lane, input1: []const D.Lane, input2: []const D.Lane, function: anytype,) void { std.debug.assert(input1.len >= input_output.len); std.debug.assert(input2.len >= input_output.len); 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 first = memory.load(D, input1[index..]); const second = memory.load(D, input2[index..]); memory.store(D, function.call(D, value, first, second), input_output[index..]); } if (index != input_output.len) { const remaining = input_output.len - index; const value = memory.loadN(D, input_output[index..], remaining); const first = memory.loadN(D, input1[index..input_output.len], remaining); const second = memory.loadN(D, input2[index..input_output.len], remaining); memory.storeN(D, function.call(D, value, first, second), input_output[index..], remaining); }}Source: lib/simd/src/root.zig:475
zig
pub const transform2 = algo.transform2;Audit
| Definitions | 1 |
|---|---|
| Public names | 2 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |