OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::SIMD_Float4 Struct Reference

#include <SIMD_Float4.hpp>

Public Member Functions

SIV3D_NODISCARD_CXX20 SIMD_Float4 ()=default
 
SIV3D_NODISCARD_CXX20 SIMD_Float4 (const SIMD_Float4 &)=default
 
SIV3D_NODISCARD_CXX20 SIMD_Float4 (float xyzw) noexcept
 
SIV3D_NODISCARD_CXX20 SIMD_Float4 (float x, float y, float z, float w) noexcept
 
template<class X , class Y , class Z , class W >
SIV3D_NODISCARD_CXX20 SIMD_Float4 (X x, Y y, Z z, W w) noexcept
 
template<class U , class V , class Z , class W >
SIV3D_NODISCARD_CXX20 SIMD_Float4 (const Vector2D< U > &xy, Z z, W w) noexcept
 
template<class U , class V >
SIV3D_NODISCARD_CXX20 SIMD_Float4 (const Vector2D< U > &xy, const Vector2D< V > &zw) noexcept
 
template<class U , class W >
SIV3D_NODISCARD_CXX20 SIMD_Float4 (const Vector3D< U > &xyz, W w) noexcept
 
SIV3D_NODISCARD_CXX20 SIMD_Float4 (Float4 v) noexcept
 
SIV3D_NODISCARD_CXX20 SIMD_Float4 (Vec4 v) noexcept
 
SIV3D_NODISCARD_CXX20 SIMD_Float4 (aligned_float4 _vec) noexcept
 
SIMD_Float4operator= (const SIMD_Float4 &)=default
 
SIMD_Float4 &SIV3D_VECTOR_CALL operator= (aligned_float4 other) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL operator= (Float3 other) noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL operator+ () const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL operator- () const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL operator+ (SIMD_Float4 v) const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL operator- (SIMD_Float4 v) const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL operator* (float s) const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL operator* (SIMD_Float4 v) const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL operator/ (float s) const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL operator/ (SIMD_Float4 v) const noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL operator+= (SIMD_Float4 v) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL operator-= (SIMD_Float4 v) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL operator*= (float s) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL operator*= (SIMD_Float4 v) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL operator/= (float s) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL operator/= (SIMD_Float4 v) noexcept
 
SIV3D_VECTOR_CALL operator aligned_float4 () const noexcept
 
SIV3D_VECTOR_CALL operator Float3 () const noexcept
 
Float4 SIV3D_VECTOR_CALL toFloat4 () const noexcept
 
float SIV3D_VECTOR_CALL elem (size_t index) const noexcept
 
float SIV3D_VECTOR_CALL getX () const noexcept
 
float SIV3D_VECTOR_CALL getY () const noexcept
 
float SIV3D_VECTOR_CALL getZ () const noexcept
 
float SIV3D_VECTOR_CALL getW () const noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL setX (float x) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL setY (float y) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL setZ (float z) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL setW (float w) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL set (float x, float y, float z, float w) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL set (Float2 xy, Float2 zw) noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL set (Float3 xyz, float w=0.0f) noexcept
 
bool SIV3D_VECTOR_CALL isZero () const noexcept
 
bool SIV3D_VECTOR_CALL hasNaN () const noexcept
 
bool SIV3D_VECTOR_CALL hasInf () const noexcept
 
float SIV3D_VECTOR_CALL length () const noexcept
 
float SIV3D_VECTOR_CALL lengthSq () const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL reciprocal () const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL fastReciprocal () const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL sqrt () const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL fastSqrt () const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL rsqrt () const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL fastRsqrt () const noexcept
 
SIMD_Float4 &SIV3D_VECTOR_CALL normalize () noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL normalized () const noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL lerp (SIMD_Float4 other, float f) const noexcept
 
Float2 SIV3D_VECTOR_CALL xy () const noexcept
 
Float3 SIV3D_VECTOR_CALL xyz () const noexcept
 

Static Public Member Functions

static SIMD_Float4 SIV3D_VECTOR_CALL Zero () noexcept
 
static SIMD_Float4 SIV3D_VECTOR_CALL One () noexcept
 
static SIMD_Float4 SIV3D_VECTOR_CALL All (float value=1.0f) noexcept
 

Public Attributes

aligned_float4 vec
 

Friends

bool SIV3D_VECTOR_CALL operator== (const SIMD_Float4 &lhs, const SIMD_Float4 &rhs) noexcept
 
bool SIV3D_VECTOR_CALL operator!= (const SIMD_Float4 &lhs, const SIMD_Float4 &rhs) noexcept
 
SIMD_Float4 SIV3D_VECTOR_CALL operator* (float s, SIMD_Float4 v) noexcept
 
template<class CharType >
std::basic_ostream< CharType > & operator<< (std::basic_ostream< CharType > &output, const SIMD_Float4 &value)
 
template<class CharType >
std::basic_istream< CharType > & operator>> (std::basic_istream< CharType > &input, SIMD_Float4 &value)
 
void Formatter (FormatData &formatData, const SIMD_Float4 &value)
 

Constructor & Destructor Documentation

◆ SIMD_Float4() [1/11]

SIV3D_NODISCARD_CXX20 s3d::SIMD_Float4::SIMD_Float4 ( )
default

◆ SIMD_Float4() [2/11]

SIV3D_NODISCARD_CXX20 s3d::SIMD_Float4::SIMD_Float4 ( const SIMD_Float4 )
default

◆ SIMD_Float4() [3/11]

SIV3D_NODISCARD_CXX20 s3d::SIMD_Float4::SIMD_Float4 ( float  xyzw)
explicitnoexcept

◆ SIMD_Float4() [4/11]

SIV3D_NODISCARD_CXX20 s3d::SIMD_Float4::SIMD_Float4 ( float  x,
float  y,
float  z,
float  w 
)
noexcept

◆ SIMD_Float4() [5/11]

template<class X , class Y , class Z , class W >
SIV3D_NODISCARD_CXX20 s3d::SIMD_Float4::SIMD_Float4 ( x,
y,
z,
w 
)
noexcept

◆ SIMD_Float4() [6/11]

template<class U , class V , class Z , class W >
SIV3D_NODISCARD_CXX20 s3d::SIMD_Float4::SIMD_Float4 ( const Vector2D< U > &  xy,
z,
w 
)
noexcept

◆ SIMD_Float4() [7/11]

template<class U , class V >
SIV3D_NODISCARD_CXX20 s3d::SIMD_Float4::SIMD_Float4 ( const Vector2D< U > &  xy,
const Vector2D< V > &  zw 
)
noexcept

◆ SIMD_Float4() [8/11]

template<class U , class W >
SIV3D_NODISCARD_CXX20 s3d::SIMD_Float4::SIMD_Float4 ( const Vector3D< U > &  xyz,
w 
)
noexcept

◆ SIMD_Float4() [9/11]

SIV3D_NODISCARD_CXX20 s3d::SIMD_Float4::SIMD_Float4 ( Float4  v)
noexcept

◆ SIMD_Float4() [10/11]

SIV3D_NODISCARD_CXX20 s3d::SIMD_Float4::SIMD_Float4 ( Vec4  v)
noexcept

◆ SIMD_Float4() [11/11]

SIV3D_NODISCARD_CXX20 s3d::SIMD_Float4::SIMD_Float4 ( aligned_float4  _vec)
noexcept

Member Function Documentation

◆ All()

static SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::All ( float  value = 1.0f)
staticnoexcept

◆ elem()

float SIV3D_VECTOR_CALL s3d::SIMD_Float4::elem ( size_t  index) const
noexcept

◆ fastReciprocal()

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::fastReciprocal ( ) const
noexcept

◆ fastRsqrt()

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::fastRsqrt ( ) const
noexcept

◆ fastSqrt()

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::fastSqrt ( ) const
noexcept

◆ getW()

float SIV3D_VECTOR_CALL s3d::SIMD_Float4::getW ( ) const
noexcept

◆ getX()

float SIV3D_VECTOR_CALL s3d::SIMD_Float4::getX ( ) const
noexcept

◆ getY()

float SIV3D_VECTOR_CALL s3d::SIMD_Float4::getY ( ) const
noexcept

◆ getZ()

float SIV3D_VECTOR_CALL s3d::SIMD_Float4::getZ ( ) const
noexcept

◆ hasInf()

bool SIV3D_VECTOR_CALL s3d::SIMD_Float4::hasInf ( ) const
noexcept

◆ hasNaN()

bool SIV3D_VECTOR_CALL s3d::SIMD_Float4::hasNaN ( ) const
noexcept

◆ isZero()

bool SIV3D_VECTOR_CALL s3d::SIMD_Float4::isZero ( ) const
noexcept

◆ length()

float SIV3D_VECTOR_CALL s3d::SIMD_Float4::length ( ) const
noexcept

◆ lengthSq()

float SIV3D_VECTOR_CALL s3d::SIMD_Float4::lengthSq ( ) const
noexcept

◆ lerp()

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::lerp ( SIMD_Float4  other,
float  f 
) const
noexcept

◆ normalize()

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::normalize ( )
noexcept

◆ normalized()

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::normalized ( ) const
noexcept

◆ One()

static SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::One ( )
staticnoexcept

◆ operator aligned_float4()

SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator aligned_float4 ( ) const
noexcept

◆ operator Float3()

SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator Float3 ( ) const
noexcept

◆ operator*() [1/2]

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator* ( float  s) const
noexcept

◆ operator*() [2/2]

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator* ( SIMD_Float4  v) const
noexcept

◆ operator*=() [1/2]

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator*= ( float  s)
noexcept

◆ operator*=() [2/2]

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator*= ( SIMD_Float4  v)
noexcept

◆ operator+() [1/2]

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator+ ( ) const
noexcept

◆ operator+() [2/2]

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator+ ( SIMD_Float4  v) const
noexcept

◆ operator+=()

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator+= ( SIMD_Float4  v)
noexcept

◆ operator-() [1/2]

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator- ( ) const
noexcept

◆ operator-() [2/2]

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator- ( SIMD_Float4  v) const
noexcept

◆ operator-=()

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator-= ( SIMD_Float4  v)
noexcept

◆ operator/() [1/2]

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator/ ( float  s) const
noexcept

◆ operator/() [2/2]

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator/ ( SIMD_Float4  v) const
noexcept

◆ operator/=() [1/2]

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator/= ( float  s)
noexcept

◆ operator/=() [2/2]

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator/= ( SIMD_Float4  v)
noexcept

◆ operator=() [1/3]

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator= ( aligned_float4  other)
noexcept

◆ operator=() [2/3]

SIMD_Float4& s3d::SIMD_Float4::operator= ( const SIMD_Float4 )
default

◆ operator=() [3/3]

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::operator= ( Float3  other)
noexcept

◆ reciprocal()

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::reciprocal ( ) const
noexcept

◆ rsqrt()

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::rsqrt ( ) const
noexcept

◆ set() [1/3]

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::set ( float  x,
float  y,
float  z,
float  w 
)
noexcept

◆ set() [2/3]

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::set ( Float2  xy,
Float2  zw 
)
noexcept

◆ set() [3/3]

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::set ( Float3  xyz,
float  w = 0.0f 
)
noexcept

◆ setW()

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::setW ( float  w)
noexcept

◆ setX()

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::setX ( float  x)
noexcept

◆ setY()

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::setY ( float  y)
noexcept

◆ setZ()

SIMD_Float4& SIV3D_VECTOR_CALL s3d::SIMD_Float4::setZ ( float  z)
noexcept

◆ sqrt()

SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::sqrt ( ) const
noexcept

◆ toFloat4()

Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::toFloat4 ( ) const
noexcept

◆ xy()

Float2 SIV3D_VECTOR_CALL s3d::SIMD_Float4::xy ( ) const
noexcept

◆ xyz()

Float3 SIV3D_VECTOR_CALL s3d::SIMD_Float4::xyz ( ) const
noexcept

◆ Zero()

static SIMD_Float4 SIV3D_VECTOR_CALL s3d::SIMD_Float4::Zero ( )
staticnoexcept

Friends And Related Function Documentation

◆ Formatter

void Formatter ( FormatData formatData,
const SIMD_Float4 value 
)
friend

◆ operator!=

bool SIV3D_VECTOR_CALL operator!= ( const SIMD_Float4 lhs,
const SIMD_Float4 rhs 
)
friend

◆ operator*

SIMD_Float4 SIV3D_VECTOR_CALL operator* ( float  s,
SIMD_Float4  v 
)
friend

◆ operator<<

template<class CharType >
std::basic_ostream<CharType>& operator<< ( std::basic_ostream< CharType > &  output,
const SIMD_Float4 value 
)
friend

◆ operator==

bool SIV3D_VECTOR_CALL operator== ( const SIMD_Float4 lhs,
const SIMD_Float4 rhs 
)
friend

◆ operator>>

template<class CharType >
std::basic_istream<CharType>& operator>> ( std::basic_istream< CharType > &  input,
SIMD_Float4 value 
)
friend

Member Data Documentation

◆ vec

aligned_float4 s3d::SIMD_Float4::vec

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