trunc(), truncf(), truncl()

QNX SDP8.0C Library ReferenceAPIDeveloper

Round to a truncated integer value

Synopsis:

#include <math.h>

double trunc(double x);

float truncf(float x);

long double truncl(long double x);

Arguments:

x
The number that you want to truncate.

Library:

libm
The general-purpose math library.
libm-sve
A library that optimizes the code for ARMv8.2 chips that have Scalable Vector Extension hardware.

Your system requirements will determine how you should work with these libraries:

  • If you want only selected processes to run with the SVE version, you can include both libraries in your OS image and use the -l m or -l m-sve option to qcc to link explicitly against the appropriate one.
  • If you want all processes to use the SVE version, include libm-sve.so in your OS image and set up a symbolic link from libm.so to libm-sve.so. Use the -l m option to qcc to link against the library.
Note:
Compile your program with the -fno-builtin option to prevent the compiler from using a built-in version of the function.

Description:

The trunc(), truncf(), and truncl() functions round their argument to the integer value, in floating format, nearest to but no larger in magnitude than the argument.

To check for error situations, use feclearexcept() and fetestexcept(). For example:

  • Call feclearexcept(FE_ALL_EXCEPT) before calling trunc(), truncf(), or truncl().
  • On return, if fetestexcept(FE_ALL_EXCEPT) is nonzero, then an error has occurred.

Returns:

The truncated integer value. The result has the same sign as x.

If x is: These functions return: Errors:
±0.0 x
±Inf x
NaN NaN

These functions raise FE_INEXACT if the FPU reports that the result can't be exactly represented as a floating-point number.

Classification:

C11, POSIX 1003.1

Safety:
Cancellation pointNo
Signal handlerYes
ThreadYes
Page updated: