HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Friends
hi::v1::simd< T, N > Struct Template Reference
Inheritance diagram for hi::v1::simd< T, N >:
std::array< T, N >

Public Types

using array_type = std::array<T, N>
 
using value_type = T
 
using generic_type = array_generic<T, N>
 

Public Member Functions

constexpr simd (simd const &) noexcept=default
 
constexpr simd (simd &&) noexcept=default
 
constexpr simdoperator= (simd const &) noexcept=default
 
constexpr simdoperator= (simd &&) noexcept=default
 
template<array_generic_convertible_to< value_type >... Args>
requires (sizeof...(Args) == N)
constexpr simd (Args... args) noexcept
 
template<array_generic_convertible_to< value_type > Arg>
constexpr simd (Arg arg) noexcept
 
template<array_generic_convertible_to< value_type > O>
constexpr simd (std::array< O, N > a) noexcept
 
constexpr std::size_t mask () noexcept
 
constexpr value_type x () const noexcept
 
constexpr value_type y () const noexcept
 
constexpr value_type z () const noexcept
 
constexpr value_type w () const noexcept
 
constexpr value_type & x () noexcept
 
constexpr value_type & y () noexcept
 
constexpr value_type & z () noexcept
 
constexpr value_type & w () noexcept
 
constexpr value_type r () const noexcept
 
constexpr value_type g () const noexcept
 
constexpr value_type b () const noexcept
 
constexpr value_type a () const noexcept
 
constexpr value_type & r () noexcept
 
constexpr value_type & g () noexcept
 
constexpr value_type & b () noexcept
 
constexpr value_type & a () noexcept
 
constexpr value_type width () const noexcept
 
constexpr value_type height () const noexcept
 
constexpr value_type depth () const noexcept
 
constexpr value_type & width () noexcept
 
constexpr value_type & height () noexcept
 
constexpr value_type & depth () noexcept
 
constexpr simdoperator+= (array_type a) noexcept
 
constexpr simdoperator-= (array_type a) noexcept
 
constexpr simdoperator*= (array_type a) noexcept
 
constexpr simdoperator/= (array_type a) noexcept
 
constexpr simdoperator%= (array_type a) noexcept
 
constexpr simdoperator|= (array_type a) noexcept
 
constexpr simdoperator&= (array_type a) noexcept
 
constexpr simdoperator^= (array_type a) noexcept
 
- Public Member Functions inherited from std::array< T, N >
max_size (T... args)
 
rbegin (T... args)
 
crend (T... args)
 
crbegin (T... args)
 
swap (T... args)
 
data (T... args)
 
back (T... args)
 
end (T... args)
 
fill (T... args)
 
empty (T... args)
 
cend (T... args)
 
size (T... args)
 
cbegin (T... args)
 
rend (T... args)
 
front (T... args)
 
at (T... args)
 
operator[] (T... args)
 
begin (T... args)
 

Static Public Member Functions

static constexpr simd make_undefined () noexcept
 
static constexpr simd make_zero () noexcept
 
static constexpr simd make_one () noexcept
 
static constexpr simd make_all_ones () noexcept
 
template<array_generic_convertible_to< value_type > Arg>
static constexpr simd broadcast (Arg arg) noexcept
 
static constexpr simd broadcast (array_type arg) noexcept
 
static constexpr simd make_mask (std::size_t mask) noexcept
 

Friends

constexpr friend simd operator- (array_type a) noexcept
 
template<std::size_t Mask>
constexpr friend simd neg_mask (array_type a) noexcept
 
constexpr friend simd operator~ (array_type a) noexcept
 
constexpr friend simd rcp (array_type a) noexcept
 
constexpr friend simd sqrt (array_type a) noexcept
 
constexpr friend simd rsqrt (array_type a) noexcept
 
constexpr friend simd abs (array_type a) noexcept
 
constexpr friend simd round (array_type a) noexcept
 
constexpr friend simd floor (array_type a) noexcept
 
constexpr friend simd ceil (array_type a) noexcept
 
constexpr friend simd operator+ (array_type a, array_type b) noexcept
 
constexpr friend simd operator- (array_type a, array_type b) noexcept
 
template<std::size_t Mask>
constexpr friend simd addsub_mask (array_type a, array_type b) noexcept
 
constexpr friend simd operator* (array_type a, array_type b) noexcept
 
constexpr friend simd operator/ (array_type a, array_type b) noexcept
 
constexpr friend simd operator% (array_type a, array_type b) noexcept
 
constexpr friend simd operator== (array_type a, array_type b) noexcept
 
constexpr friend simd operator!= (array_type a, array_type b) noexcept
 
constexpr friend simd operator< (array_type a, array_type b) noexcept
 
constexpr friend simd operator> (array_type a, array_type b) noexcept
 
constexpr friend simd operator<= (array_type a, array_type b) noexcept
 
constexpr friend simd operator>= (array_type a, array_type b) noexcept
 
constexpr friend bool test (array_type a, array_type b) noexcept
 
constexpr friend bool equal (array_type a, array_type b) noexcept
 
constexpr friend simd max (simd a, simd b) noexcept
 
constexpr friend simd min (simd a, simd b) noexcept
 
constexpr friend simd clamp (simd v, simd lo, simd hi) noexcept
 
constexpr friend simd operator| (array_type a, array_type b) noexcept
 
constexpr friend simd operator& (array_type a, array_type b) noexcept
 
constexpr friend simd operator^ (array_type a, array_type b) noexcept
 
constexpr friend simd sll (array_type a, unsigned int b) noexcept
 
constexpr friend simd sra (array_type a, unsigned int b) noexcept
 
constexpr friend simd srl (array_type a, unsigned int b) noexcept
 
constexpr friend simd operator<< (array_type a, unsigned int b) noexcept
 
constexpr friend simd operator>> (array_type a, unsigned int b) noexcept
 
constexpr friend simd andnot (array_type a, array_type b) noexcept
 
constexpr friend simd hadd (array_type a, array_type b) noexcept
 
constexpr friend simd hsub (array_type a, array_type b) noexcept
 
template<int... Indices>
constexpr friend simd shuffle (array_type a) noexcept
 
template<std::size_t Mask>
constexpr friend simd blend (array_type a, array_type b) noexcept
 
template<int... Indices>
constexpr friend simd swizzle (array_type a) noexcept
 
constexpr friend simd sum (array_type a) noexcept
 
template<std::size_t Mask>
constexpr friend simd dot (array_type a, array_type b) noexcept
 
template<std::size_t Mask>
constexpr friend simd hypot (array_type a) noexcept
 
template<std::size_t Mask>
constexpr friend simd rhypot (array_type a) noexcept
 
template<std::size_t Mask>
constexpr friend simd normalize (array_type a) noexcept
 
template<std::derived_from< array_type >... Columns>
constexpr friend std::array< simd, N > transpose (Columns... columns) noexcept
 

Additional Inherited Members

- Data Fields inherited from std::array< T, N >
elements
 STL member.
 

The documentation for this struct was generated from the following file: