1
__attribute__((__overloadable__))
2
float4 cross(float4 p0, float4 p1)
5
r.x = p0.y*p1.z - p0.z*p1.y;
6
r.y = p0.z*p1.x - p0.x*p1.z;
7
r.z = p0.x*p1.y - p0.y*p1.x;
12
__attribute__((__overloadable__))
13
float3 cross(float3 p0, float3 p1)
16
r.x = p0.y*p1.z - p0.z*p1.y;
17
r.y = p0.z*p1.x - p0.x*p1.z;
18
r.z = p0.x*p1.y - p0.y*p1.x;
23
__attribute__((__overloadable__))
24
double4 cross(double4 p0, double4 p1)
27
r.x = p0.y*p1.z - p0.z*p1.y;
28
r.y = p0.z*p1.x - p0.x*p1.z;
29
r.z = p0.x*p1.y - p0.y*p1.x;
34
__attribute__((__overloadable__))
35
double3 cross(double3 p0, double3 p1)
38
r.x = p0.y*p1.z - p0.z*p1.y;
39
r.y = p0.z*p1.x - p0.x*p1.z;
40
r.z = p0.x*p1.y - p0.y*p1.x;