|
|
constexpr | numeric_array (numeric_array const &rhs) noexcept=default |
| |
|
constexpr | numeric_array (numeric_array &&rhs) noexcept=default |
| |
|
constexpr numeric_array & | operator= (numeric_array const &rhs) noexcept=default |
| |
|
constexpr numeric_array & | operator= (numeric_array &&rhs) noexcept=default |
| |
|
constexpr | numeric_array (std::initializer_list< T > rhs) noexcept |
| |
|
constexpr | numeric_array (T const &first) noexcept |
| |
template<arithmetic... Rest>
requires (sizeof...(Rest) + 2 <= N) |
| constexpr | numeric_array (T const &first, T const &second, Rest const &...rest) noexcept |
| |
|
constexpr | numeric_array (aligned_array< T, N > const &rhs) noexcept |
| |
|
template<arithmetic U, ssize_t M> |
| constexpr | numeric_array (std::array< U, M > const &rhs) noexcept |
| |
|
template<arithmetic U, ssize_t M> |
| constexpr | numeric_array (numeric_array< U, M > const &rhs) noexcept |
| |
|
| numeric_array (__m128 const &rhs) noexcept |
| |
|
| numeric_array (__m128d const &rhs) noexcept |
| |
|
| numeric_array (__m128i const &rhs) noexcept |
| |
|
| numeric_array (__m256 const &rhs) noexcept |
| |
|
| numeric_array (__m256d const &rhs) noexcept |
| |
|
| numeric_array (__m256i const &rhs) noexcept |
| |
|
template<arithmetic U, ssize_t M> |
| constexpr | operator std::array< U, M > () const noexcept |
| |
|
template<arithmetic U, ssize_t M> |
| constexpr | operator numeric_array< U, M > () const noexcept |
| |
|
| operator __m128 () const noexcept |
| |
|
| operator __m128d () const noexcept |
| |
|
| operator __m128i () const noexcept |
| |
|
| operator __m256 () const noexcept |
| |
|
| operator __m256d () const noexcept |
| |
|
| operator __m256i () const noexcept |
| |
|
constexpr T const & | operator[] (ssize_t i) const noexcept |
| |
|
constexpr T & | operator[] (ssize_t i) noexcept |
| |
|
constexpr reference | front () noexcept |
| |
|
constexpr const_reference | front () const noexcept |
| |
|
constexpr reference | back () noexcept |
| |
|
constexpr const_reference | back () const noexcept |
| |
|
constexpr pointer | data () noexcept |
| |
|
constexpr const_pointer | data () const noexcept |
| |
|
constexpr iterator | begin () noexcept |
| |
|
constexpr const_iterator | begin () const noexcept |
| |
|
constexpr const_iterator | cbegin () const noexcept |
| |
|
constexpr iterator | end () noexcept |
| |
|
constexpr const_iterator | end () const noexcept |
| |
|
constexpr const_iterator | cend () const noexcept |
| |
|
constexpr bool | empty () const noexcept |
| |
|
constexpr size_type | size () const noexcept |
| |
|
constexpr size_type | max_size () const noexcept |
| |
|
constexpr bool | is_point () const noexcept |
| |
|
constexpr bool | is_vector () const noexcept |
| |
|
constexpr bool | is_opaque () const noexcept |
| |
|
constexpr bool | is_transparent () const noexcept |
| |
|
constexpr T const & | x () const noexcept |
| |
|
constexpr T const & | y () const noexcept |
| |
|
constexpr T const & | z () const noexcept |
| |
|
constexpr T const & | w () const noexcept |
| |
|
constexpr T & | x () noexcept |
| |
|
constexpr T & | y () noexcept |
| |
|
constexpr T & | z () noexcept |
| |
|
constexpr T & | w () noexcept |
| |
|
constexpr T const & | r () const noexcept |
| |
|
constexpr T const & | g () const noexcept |
| |
|
constexpr T const & | b () const noexcept |
| |
|
constexpr T const & | a () const noexcept |
| |
|
constexpr T & | r () noexcept |
| |
|
constexpr T & | g () noexcept |
| |
|
constexpr T & | b () noexcept |
| |
|
constexpr T & | a () noexcept |
| |
|
constexpr T const & | width () const noexcept |
| |
|
constexpr T const & | height () const noexcept |
| |
|
constexpr T const & | depth () const noexcept |
| |
|
constexpr T & | width () noexcept |
| |
|
constexpr T & | height () noexcept |
| |
|
constexpr T & | depth () noexcept |
| |
|
constexpr numeric_array & | operator+= (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array & | operator+= (T const &rhs) noexcept |
| |
|
constexpr numeric_array & | operator-= (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array & | operator-= (T const &rhs) noexcept |
| |
|
constexpr numeric_array & | operator*= (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array & | operator*= (T const &rhs) noexcept |
| |
|
constexpr numeric_array & | operator/= (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array & | operator/= (T const &rhs) noexcept |
| |
|
constexpr numeric_array & | operator%= (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array & | operator%= (T const &rhs) noexcept |
| |
| template<ssize_t... Elements> |
| constexpr numeric_array | swizzle () const |
| | swizzle around the elements of the numeric array.
|
| |
|
| template<ssize_t I> |
| constexpr T & | get (numeric_array &rhs) noexcept |
| | Get a element from the numeric array.
|
| |
| template<ssize_t I> |
| constexpr T | get (numeric_array &&rhs) noexcept |
| | Get a element from the numeric array.
|
| |
| template<ssize_t I> |
| constexpr T | get (numeric_array const &rhs) noexcept |
| | Get a element from the numeric array.
|
| |
| template<size_t Mask = ~size_t{0}> |
| constexpr numeric_array | zero (numeric_array rhs) noexcept |
| | Set individual elements to zero.
|
| |
| template<size_t Mask = ~size_t{0}> |
| constexpr numeric_array | neg (numeric_array rhs) noexcept |
| | Negate individual elements.
|
| |
|
constexpr numeric_array | operator- (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | abs (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | rcp (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | sqrt (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | rcp_sqrt (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | floor (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | ceil (numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | round (numeric_array const &rhs) noexcept |
| |
| template<ssize_t Mask> |
| constexpr T | dot (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| | Take a dot product.
|
| |
| template<ssize_t Mask> |
| constexpr T | hypot (numeric_array const &rhs) noexcept |
| | Take the length of the vector.
|
| |
| template<ssize_t Mask> |
| constexpr T | squared_hypot (numeric_array const &rhs) noexcept |
| | Take the squared length of the vector.
|
| |
| template<ssize_t Mask> |
| constexpr T | rcp_hypot (numeric_array const &rhs) noexcept |
| | Take a reciprocal of the length.
|
| |
| template<ssize_t Mask> |
| constexpr numeric_array | normalize (numeric_array const &rhs) noexcept |
| | Normalize a vector.
|
| |
|
constexpr unsigned int | eq (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr unsigned int | ne (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr unsigned int | lt (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr unsigned int | gt (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr unsigned int | le (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr unsigned int | ge (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr bool | operator== (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr bool | operator!= (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | operator+ (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | operator+ (numeric_array const &lhs, T const &rhs) noexcept |
| |
|
constexpr numeric_array | operator+ (T const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | hadd (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | hsub (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | operator- (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | operator- (numeric_array const &lhs, T const &rhs) noexcept |
| |
| template<size_t Mask = ~size_t{0}> |
| constexpr numeric_array | addsub (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| | Add or subtract individual elements.
|
| |
|
constexpr numeric_array | operator- (T const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | operator* (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | operator* (numeric_array const &lhs, T const &rhs) noexcept |
| |
|
constexpr numeric_array | operator* (T const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | operator/ (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | operator/ (numeric_array const &lhs, T const &rhs) noexcept |
| |
|
constexpr numeric_array | operator/ (T const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | operator% (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | operator% (numeric_array const &lhs, T const &rhs) noexcept |
| |
|
constexpr numeric_array | operator% (T const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | min (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | max (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
|
constexpr numeric_array | clamp (numeric_array const &lhs, numeric_array const &low, numeric_array const &high) noexcept |
| |
| constexpr numeric_array | cross_2D (numeric_array const &rhs) noexcept |
| | Calculate the 2D normal on a 2D vector.
|
| |
| constexpr numeric_array | normal_2D (numeric_array const &rhs) noexcept |
| | Calculate the 2D unit-normal on a 2D vector.
|
| |
| constexpr float | cross_2D (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| | Calculate the cross-product between two 2D vectors.
|
| |
|
constexpr friend numeric_array | cross_3D (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
template<int D>
requires (D == 4) |
| numeric_array | hamilton_cross (numeric_array const &lhs, numeric_array const &rhs) noexcept |
| |
| constexpr numeric_array | midpoint (numeric_array const &p1, numeric_array const &p2) noexcept |
| | Find a point at the midpoint between two points.
|
| |
| constexpr numeric_array | reflect_point (numeric_array const &p, numeric_array const anchor) noexcept |
| | Find the point on the other side and at the same distance of an anchor-point.
|
| |
|
template<typename... Columns> |
| constexpr std::array< numeric_array, N > | transpose (Columns const &...columns) noexcept |
| |
|
numeric_array | desaturate (numeric_array const &color, T brightness) noexcept |
| |
|
numeric_array | composit (numeric_array const &under, numeric_array const &over) noexcept |
| |
|
std::string | to_string (numeric_array const &rhs) noexcept |
| |
|
std::ostream & | operator<< (std::ostream &lhs, numeric_array const &rhs) |
| |
|
template<int I, typename First , typename... Rest> |
| constexpr void | transpose_detail (First const &first, Rest const &...rest, std::array< numeric_array, N > &r) noexcept |
| |