summaryrefslogtreecommitdiffstats
path: root/pocl/normalize.cl
blob: e0335675d4df5bec983d873616ab9967547f1c74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
__attribute__((__overloadable__))
float normalize(float p)
{
  return p * rsqrt(dot(p, p));
}

__attribute__((__overloadable__))
float2 normalize(float2 p)
{
  return p * rsqrt(dot(p, p));
}

__attribute__((__overloadable__))
float3 normalize(float3 p)
{
  return p * rsqrt(dot(p, p));
}

__attribute__((__overloadable__))
float4 normalize(float4 p)
{
  return p * rsqrt(dot(p, p));
}

#ifdef cl_khr_fp64
__attribute__((__overloadable__))
double normalize(double p)
{
  return p * rsqrt(dot(p, p));
}

__attribute__((__overloadable__))
double2 normalize(double2 p)
{
  return p * rsqrt(dot(p, p));
}

__attribute__((__overloadable__))
double3 normalize(double3 p)
{
  return p * rsqrt(dot(p, p));
}

__attribute__((__overloadable__))
double4 normalize(double4 p)
{
  return p * rsqrt(dot(p, p));
}
#endif
OpenPOWER on IntegriCloud