tiny.simd.phastPositionPairFromHashesAndSeeds
Defined in tiny.simd.
Source
Source: lib/simd/src/phast/family.zig:200
zig
pub fn positionPairFromHashesAndSeeds( placement: Placement, comptime D: type, first_hashes: D.Vector, second_hashes: D.Vector, first_seeds: D.Vector, second_seeds: D.Vector,) VectorPair(D) { const D16 = D.repartition(u16); var combined: D16.Vector = undefined; inline for (0..D.lane_count) |lane| { combined[lane] = @as(u16, @truncate(first_hashes[lane] >> 16)) +% @as(u16, @truncate(first_seeds[lane])); combined[D.lane_count + lane] = @as(u16, @truncate(second_hashes[lane] >> 16)) +% @as(u16, @truncate(second_seeds[lane])); } const within = hash16Vector(D16, combined); const offsets: D.Vector = @splat(placement.num_slice_offsets); const mask: D.Vector = @splat(placement.slice_mask); var result: VectorPair(D) = .{ .first = multiply.mulHigh(D, first_hashes, offsets), .second = multiply.mulHigh(D, second_hashes, offsets), }; inline for (0..D.lane_count) |lane| { result.first[lane] += @as(u32, within[lane]) & mask[lane]; result.second[lane] += @as(u32, within[D.lane_count + lane]) & mask[lane]; } return result;}Source: lib/simd/src/root.zig:584
zig
pub const phastPositionPairFromHashesAndSeeds = phast.phastPositionPairFromHashesAndSeeds;Also reachable as
phast.phastPositionPairFromHashesAndSeeds.
Audit
| Definitions | 1 |
|---|---|
| Public names | 2 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |