|  | 
|  | f32x4 (const f32x4 &v)=default | 
|  | 
| f32x4 & | operator= (const f32x4 &v)=default | 
|  | 
|  | f32x4 () noexcept | 
|  | Creates a new zero initialized SIMD 4 component 32bit floating point vector structure. (float4) 
 | 
|  | 
|  | f32x4 (float xyzw) noexcept | 
|  | Creates a new SIMD 4 component 32bit floating point vector structure. (float4) 
 | 
|  | 
|  | f32x4 (float x, float y, float z, float w) noexcept | 
|  | Creates a new SIMD 4 component 32bit floating point vector structure. (float4) 
 | 
|  | 
|  | f32x4 (float x, float y, float z) noexcept | 
|  | Creates a new SIMD 4 component 32bit floating point vector structure. (float4) 
 | 
|  | 
|  | f32x4 (f32x4 xyz, float w) noexcept | 
|  | Creates a new SIMD 4 component 32bit floating point vector structure. (float4) 
 | 
|  | 
|  | f32x4 (u32x4 v) | 
|  | Creates a new SIMD 4 component 32bit floating point vector structure. (float4) 
 | 
|  | 
|  | f32x4 (i32x4 v) | 
|  | Creates a new SIMD 4 component 32bit floating point vector structure. (float4) 
 | 
|  | 
|  | f32x4 (float4 v) noexcept | 
|  | Creates a new SIMD 4 component 32bit floating point vector structure. (float4) 
 | 
|  | 
|  | f32x4 (float3 v) noexcept | 
|  | Creates a new SIMD 4 component 32bit floating point vector structure. (float4) 
 | 
|  | 
|  | f32x4 (float2 v) noexcept | 
|  | Creates a new SIMD 4 component 32bit floating point vector structure. (float4) 
 | 
|  | 
|  | f32x4 (const float *v) noexcept | 
|  | Creates a new SIMD 4 component 32bit floating point vector structure. (float4) 
 | 
|  | 
| void | loadAligned (const float *v) noexcept | 
|  | Loads SIMD 4 component 32bit floating point aligned vector values. 
 | 
|  | 
| void | store (float *v) noexcept | 
|  | Stores SIMD 4 component 32bit floating point unaligned vector values. 
 | 
|  | 
| void | storeAligned (float *v) noexcept | 
|  | Stores SIMD 4 component 32bit floating point aligned vector values. 
 | 
|  | 
| float | getX () const noexcept | 
|  | Returns SIMD vector first component value. 
 | 
|  | 
| float | getY () const noexcept | 
|  | Returns SIMD vector second component value. 
 | 
|  | 
| float | getZ () const noexcept | 
|  | Returns SIMD vector third component value. 
 | 
|  | 
| float | getW () const noexcept | 
|  | Returns SIMD vector fourth component value. 
 | 
|  | 
| void | setX (float value) noexcept | 
|  | Sets SIMD vector first component value. 
 | 
|  | 
| void | setY (float value) noexcept | 
|  | Sets SIMD vector second component value. 
 | 
|  | 
| void | setZ (float value) noexcept | 
|  | Sets SIMD vector third component value. 
 | 
|  | 
| void | setW (float value) noexcept | 
|  | Sets SIMD vector fourth component value. 
 | 
|  | 
| void | fixW () noexcept | 
|  | Sets SIMD vector Z component value to the W component. 
 | 
|  | 
| template<uint32 X, uint32 Y, uint32 Z, uint32 W = SwU> | 
| f32x4 | swizzle () const noexcept | 
|  | Swizzles SIMD vector components. 
 | 
|  | 
| f32x4 | splatX () const noexcept | 
|  | 
| f32x4 | splatY () const noexcept | 
|  | 
| f32x4 | splatZ () const noexcept | 
|  | 
| f32x4 | splatW () const noexcept | 
|  | 
| float & | operator[] (psize i) noexcept | 
|  | Returns SIMD vector component by index. 
 | 
|  | 
| float | operator[] (psize i) const noexcept | 
|  | Returns SIMD vector component by index. 
 | 
|  | 
|  | operator u32x4 () const noexcept | 
|  | Returns as 4 component unsigned integer SIMD vector. 
 | 
|  | 
|  | operator i32x4 () const noexcept | 
|  | Returns as 4 component signed integer SIMD vector. 
 | 
|  | 
|  | operator float4 () const noexcept | 
|  | Returns SIMD vector as 4 component floating point vector. (xyzw) 
 | 
|  | 
|  | operator float3 () const noexcept | 
|  | Returns SIMD vector as 3 component floating point vector. (xyz) 
 | 
|  | 
|  | operator float2 () const noexcept | 
|  | Returns SIMD vector as 2 component floating point vector. (xy) 
 | 
|  | 
|  | operator float () const noexcept | 
|  | Returns SIMD first vector component value. (x) 
 | 
|  | 
| f32x4 | operator+ (f32x4 v) const noexcept | 
|  | 
| f32x4 | operator- (f32x4 v) const noexcept | 
|  | 
| f32x4 | operator* (f32x4 v) const noexcept | 
|  | 
| f32x4 | operator/ (f32x4 v) const noexcept | 
|  | 
| f32x4 | operator- () const noexcept | 
|  | 
| f32x4 | operator+ (float n) const noexcept | 
|  | 
| f32x4 | operator- (float n) const noexcept | 
|  | 
| f32x4 | operator* (float n) const noexcept | 
|  | 
| f32x4 | operator/ (float n) const noexcept | 
|  | 
| f32x4 & | operator+= (f32x4 v) noexcept | 
|  | 
| f32x4 & | operator-= (f32x4 v) noexcept | 
|  | 
| f32x4 & | operator*= (f32x4 v) noexcept | 
|  | 
| f32x4 & | operator/= (f32x4 v) noexcept | 
|  | 
| f32x4 & | operator+= (float n) noexcept | 
|  | 
| f32x4 & | operator-= (float n) noexcept | 
|  | 
| f32x4 & | operator*= (float n) noexcept | 
|  | 
| f32x4 & | operator/= (float n) noexcept | 
|  | 
| f32x4 & | operator= (float n) noexcept | 
|  | 
| bool | operator== (f32x4 v) const noexcept | 
|  | 
| bool | operator!= (f32x4 v) const noexcept | 
|  | 
| u32x4 | operator< (f32x4 v) const noexcept | 
|  | 
| u32x4 | operator> (f32x4 v) const noexcept | 
|  | 
| u32x4 | operator<= (f32x4 v) const noexcept | 
|  | 
| u32x4 | operator>= (f32x4 v) const noexcept | 
|  | 
| bool | operator== (float n) const noexcept | 
|  | 
| bool | operator!= (float n) const noexcept | 
|  | 
| u32x4 | operator< (float n) const noexcept | 
|  | 
| u32x4 | operator> (float n) const noexcept | 
|  | 
| u32x4 | operator<= (float n) const noexcept | 
|  | 
| u32x4 | operator>= (float n) const noexcept | 
|  | 
SIMD 4 component 32bit floating point vector structure. (float4) 
Commonly used to represent: points, positions, directions, velocities, etc. 
- Note
- Use it when you know how to implement a faster vectorized code.