diff options
Diffstat (limited to 'generic/lib/geometric/cross.cl')
-rw-r--r-- | generic/lib/geometric/cross.cl | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/generic/lib/geometric/cross.cl b/generic/lib/geometric/cross.cl new file mode 100644 index 0000000..4c1bc6f --- /dev/null +++ b/generic/lib/geometric/cross.cl @@ -0,0 +1,11 @@ +#include <clc/clc.h> + +_CLC_OVERLOAD _CLC_DEF float3 cross(float3 p0, float3 p1) { + return (float3)(p0.y*p1.z - p0.z*p1.y, p0.z*p1.x - p0.x*p1.z, + p0.x*p1.y - p0.y*p1.x); +} + +_CLC_OVERLOAD _CLC_DEF float4 cross(float4 p0, float4 p1) { + return (float4)(p0.y*p1.z - p0.z*p1.y, p0.z*p1.x - p0.x*p1.z, + p0.x*p1.y - p0.y*p1.x, 0.f); +} |