tiny.simd.equal
Defined in algo.
Source
Source: lib/simd/src/algo.zig:125
zig
pub fn equal(comptime D: type, left: []const D.Lane, right: []const D.Lane) bool { requireInteger(D.Lane, "equal"); if (left.len != right.len) return false; if (left.len <= D.lane_count) return std.mem.eql(D.Lane, left, right); if (left.ptr == right.ptr) return true; const last = left.len - D.lane_count; var index: usize = 0; while (index < last) : (index += D.lane_count) { const first: D.Vector = left[index..][0..D.lane_count].*; const second: D.Vector = right[index..][0..D.lane_count].*; if (@reduce(.Or, first != second)) return false; } std.debug.assert(index >= last); std.debug.assert(index - last < D.lane_count); const first: D.Vector = left[last..][0..D.lane_count].*; const second: D.Vector = right[last..][0..D.lane_count].*; return !@reduce(.Or, first != second);}Source: lib/simd/src/root.zig:461
zig
pub const equal = algo.equal;Audit
| Definitions | 1 |
|---|---|
| Public names | 2 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |