From 53c20f9b347e9aa3b1844f194d86eb056afc2341 Mon Sep 17 00:00:00 2001 From: Anthony LaTorre Date: Fri, 6 May 2011 18:00:03 -0400 Subject: added unary minus matrix; updated test --- matrix.h | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'matrix.h') diff --git a/matrix.h b/matrix.h index 14e04a4..1de8e8c 100644 --- a/matrix.h +++ b/matrix.h @@ -19,6 +19,13 @@ __device__ __host__ Matrix make_matrix(float3 &u1, float3 &u2, float3 &u3) Matrix m = {u1.x, u2.x, u3.x, u1.y, u2.y, u3.y, u1.z, u2.z, u3.z}; } +__device__ __host__ Matrix operator- (const Matrix &m) +{ + return make_matrix(-m.a00, -m.a01, -m.a02, + -m.a10, -m.a11, -m.a12, + -m.a20, -m.a21, -m.a22); +} + __device__ __host__ float3 operator* (const Matrix &m, const float3 &a) { return make_float3(m.a00*a.x + m.a01*a.y + m.a02*a.z, @@ -207,19 +214,6 @@ __device__ __host__ Matrix inv(const Matrix &m) m.a00*m.a11 - m.a01*m.a10)/det(m); } -__device__ __host__ Matrix inv(const Matrix&m, const float determinant) -{ - return make_matrix(m.a11*m.a22 - m.a12*m.a21, - m.a02*m.a21 - m.a01*m.a22, - m.a01*m.a12 - m.a02*m.a11, - m.a12*m.a20 - m.a10*m.a22, - m.a00*m.a22 - m.a02*m.a20, - m.a02*m.a10 - m.a00*m.a12, - m.a10*m.a21 - m.a11*m.a20, - m.a01*m.a20 - m.a00*m.a21, - m.a00*m.a11 - m.a01*m.a10)/determinant; -} - __device__ __host__ Matrix outer(const float3 &a, const float3 &b) { return make_matrix(a.x*b.x, a.x*b.y, a.x*b.z, -- cgit