> ## Name

> trunc - returns largest integer not greater than a scalar or each vector component.

> ## Synopsis

>     float  trunc(float x);
>     float1 trunc(float1 x);
>     float2 trunc(float2 x);
>     float3 trunc(float3 x);
>     float4 trunc(float4 x);

>     half   trunc(half x);
>     half1  trunc(half1 x);
>     half2  trunc(half2 x);
>     half3  trunc(half3 x);
>     half4  trunc(half4 x);

>     fixed  trunc(fixed x);
>     fixed1 trunc(fixed1 x);
>     fixed2 trunc(fixed2 x);
>     fixed3 trunc(fixed3 x);
>     fixed4 trunc(fixed4 x);

> ## Parameters

> x
>   Vector or scalar which to truncate.

> ## Description

> Returns the integral value nearest to but no larger in magnitude than x.

> ## Reference Implementation

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

>     float3 trunc(float3 v)
>     {
>       float3 rv;
>       int i;

>       for (i=0; i<3; i++) {
>         float x = v[i];

>         rv[i] = x < 0 ? -floor(-x) : floor(x);
>       }
>       return rv;
>     }

> ## Profile Support

> trunc is supported in all profiles except fp20.

> ## See Also

> ceil, floor, round