> ## Name

> normalize - normalizes a vector

> ## Synopsis

>     float normalize(float v);
>     float normalize(float1 v);
>     float normalize(float2 v);
>     float normalize(float3 v);
>     float normalize(float4 v);

>     half normalize(half v);
>     half normalize(half1 v);
>     half normalize(half2 v);
>     half normalize(half3 v);
>     half normalize(half4 v);

>     fixed normalize(fixed v);
>     fixed normalize(fixed1 v);
>     fixed normalize(fixed2 v);
>     fixed normalize(fixed3 v);
>     fixed normalize(fixed4 v);

> ## Parameters

> v
>   Vector to normalize.

> ## Description

> Returns the normalized version of a vector, meaning a vector in the same direction as the original vector but with a Euclidean length of one.

> ## Reference Implementation

> normalize for a float3 vector could be implemented like this.

>     float3 normalize(float3 v)
>     {
>       return rsqrt(dot(v,v))*v;
>     }

> ## Profile Support

> normalize is supported in all profiles except fp20.

> ## See Also

> distance, dot, length, rsqrt, sqrt