summaryrefslogtreecommitdiff
path: root/generic/lib/geometric/cross.cl
diff options
context:
space:
mode:
Diffstat (limited to 'generic/lib/geometric/cross.cl')
-rw-r--r--generic/lib/geometric/cross.cl11
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);
+}