A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/aff3ct/MIPP below:

aff3ct/MIPP: Portable wrapper for SIMD and vector instructions written in C++11. Compatible with NEON, SSE, AVX, AVX-512 and SVE (length specific).

load Reg <T> load (const T* mem) Loads aligned data from mem to a register. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t loadu Reg <T> loadu (const T* mem) Loads unaligned data from mem to a register. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t store void store (T* mem, const Reg<T> r) Stores the r register in the mem aligned data. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t storeu void storeu (T* mem, const Reg<T> r) Stores the r register in the mem unaligned data. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t maskzld Reg <T> maskzld (const Msk<N> m, const T* mem) Loads elements according to the mask m (puts zero when the mask value is false). double, float, int64_t, int32_t, int16_t, int8_t maskzlds Reg <T> maskzlds (const Msk<N> m, const T* mem) Loads elements according to the mask m (puts zero when the mask value is false). Safe version, only reads masked elements in memory. double, float, int64_t, int32_t, int16_t, int8_t maskst void maskst (const Msk<N> m, T* mem, const Reg<T> r) Stores elements from the r register according to the mask m in the mem memory. double, float, int64_t, int32_t, int16_t, int8_t masksts void masksts (const Msk<N> m, T* mem, const Reg<T> r) Stores elements from the r register according to the mask m in the mem memory. Safe version, only writes masked elements in memory. double, float, int64_t, int32_t, int16_t, int8_t gather Reg <TD,TI> gather (const TD* mem, const Reg<TI> idx) Gathers elements from mem to a register. Selects elements according to the indices in idx. double, float, int64_t, int32_t, int16_t, int8_t scatter void <TD,TI> scatter (TD* mem, const Reg<TI> idx, const Reg<TD> r) Scatters elements into mem from the r register. Writes elements at the idx indices in mem. double, float, int64_t, int32_t, int16_t, int8_t maskzgat Reg <TD,TI> gather (const Msk<N> m, const TD* mem, const Reg<TI> idx) Gathers elements from mem to a register (according to the mask m). Selects elements according to the indices in idx (puts zero when the mask value is false). double, float, int64_t, int32_t, int16_t, int8_t masksca void <TD,TI> scatter (const Msk<N> m, TD* mem, const Reg<TI> idx, const Reg<TD> r) Scatters elements into mem from the r register (according to the mask m). Writes elements at the idx indices in mem. double, float, int64_t, int32_t, int16_t, int8_t set Reg <T> set (const T[N] vals) Sets a register from the values in vals. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t set Msk <N> set (const bool[N] bits) Sets a mask from the bits in bits. set1 Reg <T> set1 (const T val) Broadcasts val in a register. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t set1 Msk <N> set1 (const bool bit) Broadcasts bit in a mask. set0 Reg <T> set0 () Initializes a register to zero. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t set0 Msk <N> set0 () Initializes a mask to false. get T get (const Reg<T> r, const size_t index) Gets a specific element from the register r at the index position. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t get T get (const Reg_2<T> r, const size_t index) Gets a specific element from the register r at the index position. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t get bool get (const Msk<N> m, const size_t index) Gets a specific element from the register m at the index position. getfirst T getfirst (const Reg<T> r) Gets the first element from the register r. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t getfirst T getfirst (const Reg_2<T> r) Gets the first element from the register r. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t getfirst bool getfirst (const Msk<N> m) Gets the first element from the register m. low Reg_2<T> low (const Reg<T> r) Gets the low part of the r register. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t high Reg_2<T> high (const Reg<T> r) Gets the high part of the r register. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t combine Reg <T> combine (const Reg_2<T> r1, const Reg_2<T> r2) Combine two half registers in a full register, r1 will be the low part and r2 the high part. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t combine Reg <S,T> combine (const Reg<T> r1, const Reg<T> r2) S elements of r1 are shifted to the left, (S - N) + N elements of r2 are shifted to the right. Shifted r1 and r2 are combined to give the result. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t compress Reg <T> compress (const Reg<T> r1, const Msk<N> m) Pack the elements of r1 at the beginning of the register according to the bitmask m (if the bit is 1 then element is picked, otherwise it is not). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t cmask Reg <T> cmask (const uint32_t[N ] ids) Creates a cmask from an indexes list (indexes have to be between 0 and N-1). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t cmask2 Reg <T> cmask2 (const uint32_t[N/2] ids) Creates a cmask2 from an indexes list (indexes have to be between 0 and (N/2)-1). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t cmask4 Reg <T> cmask4 (const uint32_t[N/4] ids) Creates a cmask4 from an indexes list (indexes have to be between 0 and (N/4)-1). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t shuff Reg <T> shuff (const Reg<T> r, const Reg<T> cm) Shuffles the elements of r according to the cmask cm. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t shuff2 Reg <T> shuff2 (const Reg<T> r, const Reg<T> cm2) Shuffles the elements of r according to the cmask2 cm2 (same shuffle is applied in both lanes). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t shuff4 Reg <T> shuff4 (const Reg<T> r, const Reg<T> cm4) Shuffles the elements of r according to the cmask4 cm4 (same shuffle is applied in the four lanes). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t interleave Regx2<T> interleave (const Reg<T> r1, const Reg<T> r2) Interleaves r1 and r2 : [r1_1, r2_1, r1_2, r2_2, ..., r1_n, r2_n]. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t deinterleave Regx2<T> deinterleave (const Reg<T> r1, const Reg<T> r2) Reverts the previous defined interleave operation. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t interleave2 Regx2<T> interleave2 (const Reg<T> r1, const Reg<T> r2) Interleaves r1 and r2 considering two lanes. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t interleave4 Regx2<T> interleave4 (const Reg<T> r1, const Reg<T> r2) Interleaves r1 and r2 considering four lanes. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t interleavelo Reg <T> interleavelo (const Reg<T> r1, const Reg<T> r2) Interleaves the low part of r1 with the low part of r2. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t interleavelo2 Reg <T> interleavelo2 (const Reg<T> r1, const Reg<T> r2) Interleaves the low part of r1 with the low part of r2 (considering two lanes). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t interleavelo4 Reg <T> interleavelo4 (const Reg<T> r1, const Reg<T> r2) Interleaves the low part of r1 with the low part of r2 (considering four lanes). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t interleavehi Reg <T> interleavehi (const Reg<T> r1, const Reg<T> r2) Interleaves the high part of r1 with the high part of r2. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t interleavehi2 Reg <T> interleavehi2 (const Reg<T> r1, const Reg<T> r2) Interleaves the high part of r1 with the high part of r2 (considering two lanes). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t interleavehi4 Reg <T> interleavehi4 (const Reg<T> r1, const Reg<T> r2) Interleaves the high part of r1 with the high part of r2 (considering four lanes). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t lrot Reg <T> lrot (const Reg<T> r) Rotates the r register from the left (cyclic permutation). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t rrot Reg <T> rrot (const Reg<T> r) Rotates the r register from the right (cyclic permutation). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t blend Reg <T> blend (const Reg<T> r1, const Reg<T> r2, const Msk<N> m) Combines r1 and r2 register following the m mask values (m_i ? r1_i : r2_i). double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t select Reg <T> select (const Msk<N> m, const Reg<T> r1, const Reg<T> r2) Alias for the previous blend function. Parameters order is a little bit different. double, float, int64_t, uint64_t, int32_t, uint32_t, int16_t, uint16_t, int8_t, uint8_t

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4