| @@ -40,8 +40,8 @@ struct Vector<float, 4> { | |||||
| float s[4]; | float s[4]; | ||||
| }; | }; | ||||
| /** Constructs a vector initialized to zero. */ | |||||
| Vector() : v(_mm_setzero_ps()) {} | |||||
| /** Constructs an uninitialized vector. */ | |||||
| Vector() = default; | |||||
| /** Constructs a vector from a native `__m128` type. */ | /** Constructs a vector from a native `__m128` type. */ | ||||
| Vector(__m128 v) : v(v) {} | Vector(__m128 v) : v(v) {} | ||||
| @@ -51,16 +51,11 @@ struct Vector<float, 4> { | |||||
| v = _mm_set1_ps(x); | v = _mm_set1_ps(x); | ||||
| } | } | ||||
| /** Constructs a vector from four values. */ | |||||
| /** Constructs a vector from four scalars. */ | |||||
| Vector(float x1, float x2, float x3, float x4) { | Vector(float x1, float x2, float x3, float x4) { | ||||
| v = _mm_setr_ps(x1, x2, x3, x4); | v = _mm_setr_ps(x1, x2, x3, x4); | ||||
| } | } | ||||
| /** Returns an uninitialized vector. */ | |||||
| static Vector undefined() { | |||||
| return Vector(_mm_undefined_ps()); | |||||
| } | |||||
| /** Returns a vector initialized to zero. */ | /** Returns a vector initialized to zero. */ | ||||
| static Vector zero() { | static Vector zero() { | ||||
| return Vector(); | return Vector(); | ||||
| @@ -110,7 +105,7 @@ struct Vector<int32_t, 4> { | |||||
| int32_t s[4]; | int32_t s[4]; | ||||
| }; | }; | ||||
| Vector() : v(_mm_setzero_si128()) {} | |||||
| Vector() = default; | |||||
| Vector(__m128i v) : v(v) {} | Vector(__m128i v) : v(v) {} | ||||
| Vector(int32_t x) { | Vector(int32_t x) { | ||||
| v = _mm_set1_epi32(x); | v = _mm_set1_epi32(x); | ||||
| @@ -118,9 +113,6 @@ struct Vector<int32_t, 4> { | |||||
| Vector(int32_t x1, int32_t x2, int32_t x3, int32_t x4) { | Vector(int32_t x1, int32_t x2, int32_t x3, int32_t x4) { | ||||
| v = _mm_setr_epi32(x1, x2, x3, x4); | v = _mm_setr_epi32(x1, x2, x3, x4); | ||||
| } | } | ||||
| static Vector undefined() { | |||||
| return Vector(_mm_undefined_si128()); | |||||
| } | |||||
| static Vector zero() { | static Vector zero() { | ||||
| return Vector(); | return Vector(); | ||||
| } | } | ||||