diff options
Diffstat (limited to 'linalg.h')
-rw-r--r-- | linalg.h | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -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 |