From 61a7a1ebdc028517db22f33741b31f63018979c2 Mon Sep 17 00:00:00 2001 From: Anthony LaTorre Date: Fri, 6 May 2011 16:50:20 -0400 Subject: added unary minus operator for matrix and float3; updated tests --- linalg.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'linalg.h') diff --git a/linalg.h b/linalg.h index 8362ab1..593aa9d 100644 --- a/linalg.h +++ b/linalg.h @@ -1,6 +1,11 @@ #ifndef __LINALG_H__ #define __LINALG_H__ +__device__ __host__ float3 operator- (const float3 &a) +{ + return make_float3(-a.x, -a.y, -a.z); +} + __device__ __host__ float3 operator+ (const float3 &a, const float3 &b) { return make_float3(a.x+b.x, a.y+b.y, a.z+b.z); @@ -103,4 +108,9 @@ __device__ __host__ float3 cross(const float3 &a, const float3 &b) return make_float3(a.y*b.z-a.z*b.y, a.z*b.x-a.x*b.z, a.x*b.y-a.y*b.x); } +__device__ __host__ float norm(const float3 &a) +{ + return sqrtf(dot(a,a)); +} + #endif -- cgit