SuperDex Physics C++ API
Loading...
Searching...
No Matches
superdex::Simd< T, N, Concept > Class Template Reference

#include <simd.h>

Classes

struct  NotSupported

Public Types

using NativeType = NotSupported
using Scalar = T

Public Member Functions

bool operator!= (Simd rhs) const
Simd operator& (Simd rhs) const
Simd operator&& (Simd rhs) const
Simdoperator&= (Simd rhs)
Simd operator* (Simd rhs) const
Simdoperator*= (Simd rhs)
Simdoperator*= (T rhs)
Simd operator+ (Simd rhs) const
Simdoperator+= (Simd rhs)
Simdoperator+= (T rhs)
Simd operator- () const
Simd operator- (Simd rhs) const
Simdoperator-= (Simd rhs)
Simdoperator-= (T rhs)
Simd operator/ (Simd rhs) const
Simdoperator/= (Simd rhs)
Simdoperator/= (T rhs)
Simd operator< (Simd rhs) const
Simd operator<< (int shift) const
Simd operator<= (Simd rhs) const
Simdoperator= (Scalar rhs)
Simdoperator= (Simd rhs)
bool operator== (Simd rhs) const
Simd operator> (Simd rhs) const
Simd operator>= (Simd rhs) const
Scalar operator[] (int i) const
Simd operator^ (Simd rhs) const
Simdoperator^= (Simd rhs)
Simd operator| (Simd rhs) const
Simdoperator|= (Simd rhs)
Simd operator|| (Simd rhs) const
Simd operator~ () const
 Simd ()
 Simd (NativeType rhs)
 Simd (Scalar a)
template<class... Ts>
 Simd (Scalar a, Scalar b, Ts... vals)
 Simd (Simd const &rhs)=default

Static Public Member Functions

static constexpr size_t size ()

Public Attributes

NativeType raw

Static Public Attributes

static constexpr bool kIsComposite = false
static constexpr bool kIsEmulated = false
static constexpr bool kIsSupported = false
static constexpr int kSize = N

Detailed Description

template<class T, int N, class Concept>
class superdex::Simd< T, N, Concept >

Definition at line 91 of file simd.h.

Member Typedef Documentation

◆ NativeType

template<class T, int N, class Concept>
using superdex::Simd< T, N, Concept >::NativeType = NotSupported

Definition at line 94 of file simd.h.

◆ Scalar

template<class T, int N, class Concept>
using superdex::Simd< T, N, Concept >::Scalar = T

Definition at line 95 of file simd.h.

Constructor & Destructor Documentation

◆ Simd() [1/5]

template<class T, int N, class Concept>
superdex::Simd< T, N, Concept >::Simd ( )
inline

Definition at line 105 of file simd.h.

◆ Simd() [2/5]

template<class T, int N, class Concept>
superdex::Simd< T, N, Concept >::Simd ( Simd< T, N, Concept > const & rhs)
default

◆ Simd() [3/5]

template<class T, int N, class Concept>
superdex::Simd< T, N, Concept >::Simd ( NativeType rhs)
inline

Definition at line 112 of file simd.h.

◆ Simd() [4/5]

template<class T, int N, class Concept>
superdex::Simd< T, N, Concept >::Simd ( Scalar a)

◆ Simd() [5/5]

template<class T, int N, class Concept>
template<class... Ts>
superdex::Simd< T, N, Concept >::Simd ( Scalar a,
Scalar b,
Ts... vals )

Member Function Documentation

◆ operator!=()

template<class T, int N, class Concept>
bool superdex::Simd< T, N, Concept >::operator!= ( Simd< T, N, Concept > rhs) const

◆ operator&()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator& ( Simd< T, N, Concept > rhs) const

◆ operator&&()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator&& ( Simd< T, N, Concept > rhs) const

◆ operator&=()

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator&= ( Simd< T, N, Concept > rhs)

◆ operator*()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator* ( Simd< T, N, Concept > rhs) const

◆ operator*=() [1/2]

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator*= ( Simd< T, N, Concept > rhs)

◆ operator*=() [2/2]

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator*= ( T rhs)

◆ operator+()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator+ ( Simd< T, N, Concept > rhs) const

◆ operator+=() [1/2]

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator+= ( Simd< T, N, Concept > rhs)

◆ operator+=() [2/2]

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator+= ( T rhs)

◆ operator-() [1/2]

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator- ( ) const

◆ operator-() [2/2]

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator- ( Simd< T, N, Concept > rhs) const

◆ operator-=() [1/2]

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator-= ( Simd< T, N, Concept > rhs)

◆ operator-=() [2/2]

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator-= ( T rhs)

◆ operator/()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator/ ( Simd< T, N, Concept > rhs) const

◆ operator/=() [1/2]

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator/= ( Simd< T, N, Concept > rhs)

◆ operator/=() [2/2]

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator/= ( T rhs)

◆ operator<()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator< ( Simd< T, N, Concept > rhs) const

◆ operator<<()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator<< ( int shift) const

◆ operator<=()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator<= ( Simd< T, N, Concept > rhs) const

◆ operator=() [1/2]

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator= ( Scalar rhs)

◆ operator=() [2/2]

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator= ( Simd< T, N, Concept > rhs)

◆ operator==()

template<class T, int N, class Concept>
bool superdex::Simd< T, N, Concept >::operator== ( Simd< T, N, Concept > rhs) const

◆ operator>()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator> ( Simd< T, N, Concept > rhs) const

◆ operator>=()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator>= ( Simd< T, N, Concept > rhs) const

◆ operator[]()

template<class T, int N, class Concept>
Scalar superdex::Simd< T, N, Concept >::operator[] ( int i) const

◆ operator^()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator^ ( Simd< T, N, Concept > rhs) const

◆ operator^=()

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator^= ( Simd< T, N, Concept > rhs)

◆ operator|()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator| ( Simd< T, N, Concept > rhs) const

◆ operator|=()

template<class T, int N, class Concept>
Simd & superdex::Simd< T, N, Concept >::operator|= ( Simd< T, N, Concept > rhs)

◆ operator||()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator|| ( Simd< T, N, Concept > rhs) const

◆ operator~()

template<class T, int N, class Concept>
Simd superdex::Simd< T, N, Concept >::operator~ ( ) const

◆ size()

template<class T, int N, class Concept>
constexpr size_t superdex::Simd< T, N, Concept >::size ( )
inlinestaticconstexpr

Definition at line 122 of file simd.h.

Member Data Documentation

◆ kIsComposite

template<class T, int N, class Concept>
bool superdex::Simd< T, N, Concept >::kIsComposite = false
staticconstexpr

Definition at line 98 of file simd.h.

◆ kIsEmulated

template<class T, int N, class Concept>
bool superdex::Simd< T, N, Concept >::kIsEmulated = false
staticconstexpr

Definition at line 99 of file simd.h.

◆ kIsSupported

template<class T, int N, class Concept>
bool superdex::Simd< T, N, Concept >::kIsSupported = false
staticconstexpr

Definition at line 97 of file simd.h.

◆ kSize

template<class T, int N, class Concept>
int superdex::Simd< T, N, Concept >::kSize = N
staticconstexpr

Definition at line 96 of file simd.h.

◆ raw

template<class T, int N, class Concept>
NativeType superdex::Simd< T, N, Concept >::raw

Definition at line 174 of file simd.h.


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