|
native 0.0.1
Vectors, masks and wide register packs for C++26
|
#include <simd_family.h>
Public Member Functions | |
| constexpr | predicate () noexcept=default |
| Initialize every logical lane to false. | |
| constexpr | predicate (bool value) noexcept |
| Broadcast the supplied truth value to every logical lane. | |
| constexpr native_type | to_native () const noexcept |
| Return the native storage representation. | |
| constexpr std::uint64_t | to_bitset () const noexcept |
| Pack lane truth into low bits, with lane zero in bit zero. | |
| constexpr predicate & | operator&= (predicate b) noexcept |
| Apply the corresponding lane-wise AND operation in place and return *this. | |
| constexpr predicate & | operator|= (predicate b) noexcept |
| Apply the corresponding lane-wise OR operation in place and return *this. | |
| constexpr predicate & | operator^= (predicate b) noexcept |
| Apply the corresponding lane-wise XOR operation in place and return *this. | |
Static Public Member Functions | |
| static constexpr predicate | from_native (native_type value) noexcept |
| Import compact mask bits and clear bits above the lane count. | |
| static constexpr predicate | unsafe_from_native (native_type value) noexcept |
| Import compact bits and clear bits above the lane count, just like from_native. | |
| static constexpr predicate | from_bitset (std::uint64_t value) noexcept |
| Import lane truth from the low logical-lane bits. | |
Friends | |
| constexpr predicate | operator~ (predicate a) noexcept |
| Invert each lane truth value, preserving the mask representation. | |
| constexpr predicate | operator! (predicate a) noexcept |
| Return the lane-wise logical complement, retaining this mask type. | |
| constexpr predicate | operator& (predicate a, predicate b) noexcept |
| Bitwise AND of corresponding lane representations. | |
| constexpr predicate | operator| (predicate a, predicate b) noexcept |
| Bitwise OR of corresponding lane representations. | |
| constexpr predicate | operator^ (predicate a, predicate b) noexcept |
| Bitwise XOR of corresponding lane representations. | |
| constexpr predicate | operator== (predicate a, predicate b) noexcept |
| Return a mask whose lanes are true where a == b holds. | |
| constexpr predicate | operator!= (predicate a, predicate b) noexcept |
| Return a mask whose lanes are true where a != b holds. | |
| constexpr bool | any (predicate a) noexcept |
| Return whether at least one logical lane is true. | |
| constexpr bool | all (predicate a) noexcept |
| Return whether every logical lane is true. | |
| constexpr bool | none (predicate a) noexcept |
| Return true exactly when no logical lane is true. | |
| constexpr predicate | select (predicate p, predicate a, predicate b) noexcept |
| Choose a in true lanes and b in false lanes; both values are already evaluated. | |
Compact comparison storage. Every import clears bits above the lane count, including the compatibility unsafe_from_native spelling.
Definition at line 705 of file simd_family.h.