Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Align(16) class Vector
- {
- private:
- m128 v;
- public:
- // Constructors
- Vector() : v(_mm_setzero_ps()) {};
- Vector(const m128 vector) : v(vector) {};
- Vector(const Float4 &vector) : v(_mm_loadu_ps(&vector.x)) {};
- Vector(const Float x, const Float y, const Float z, const Float w) : v(_mm_set_ps(x, y, z, w)) {};
- // Register compatibility
- Vector operator=(const m128 &vector) { v = vector; return *this; }
- operator m128() const { return v; }
- // Float4 compatibility
- Vector operator=(const Float4 &vector) { v = _mm_loadu_ps(&vector.x); return *this; }
- operator Float4() const { Float4 a; _mm_storeu_ps(&a.x, v); return a; }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement