table of contents
FAST_NORMALIZE(3clc) | OpenCL Manual | FAST_NORMALIZE(3clc) |
NAME¶
fast_normalize - Normal vector length 1.¶
floatn
fast_normalize(floatn p);
DESCRIPTION¶
Returns a vector in the same direction as p but with a length of 1. fast_normalize is computed as:p * sqrt(3clc)(p.x2 + p.y2 +...)
if ( any(3clc)(p == 0.0f)) result = p; else result = p / sqrt(3clc)(p.x2 + p.y2 +...);
1.If the sum of squares is greater than FLT_MAX
then the value of the floating-point values in the result vector are
undefined.
2.If the sum of squares is less than FLT_MIN then
the implementation may return back p.
3.If the device is in 'denorms are flushed to zero'
mode, individual operand elements with magnitude less than
sqrt(3clc)(FLT_MIN) may be flushed to zero before proceeding
with the calculation.
NOTES¶
Built-in geometric functions operate component-wise. The description is per-component. floatn is float, float2, float3, or float4 and doublen is double, double2, double3, or double4. The built-in geometric functions are implemented using the round to nearest even rounding mode. The geometric functions can be implemented using contractions such as mad(3clc) or fma(3clc).SPECIFICATION¶
OpenCL Specification[1]SEE ALSO¶
geometricFunctions(3clc)AUTHORS¶
The Khronos GroupCOPYRIGHT¶
Copyright © 2007-2011 The Khronos Group Inc.NOTES¶
- 1.
- OpenCL Specification
page 262, section 6.12.5 - Geometric Functions
06/18/2014 | The Khronos Group |