1TRUNC(3P)                  POSIX Programmer's Manual                 TRUNC(3P)
2
3
4

PROLOG

6       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
7       implementation of this interface may differ (consult the  corresponding
8       Linux  manual page for details of Linux behavior), or the interface may
9       not be implemented on Linux.
10

NAME

12       trunc, truncf, truncl — round to truncated integer value
13

SYNOPSIS

15       #include <math.h>
16
17       double trunc(double x);
18       float truncf(float x);
19       long double truncl(long double x);
20

DESCRIPTION

22       The functionality described on this reference page is aligned with  the
23       ISO C  standard.  Any  conflict between the requirements described here
24       and the ISO C standard is unintentional. This  volume  of  POSIX.1‐2017
25       defers to the ISO C standard.
26
27       These  functions  shall  round  their argument to the integer value, in
28       floating format, nearest to but no larger in magnitude than  the  argu‐
29       ment.
30

RETURN VALUE

32       Upon  successful completion, these functions shall return the truncated
33       integer value.
34       The result shall have the same sign as x.
35
36       If x is NaN, a NaN shall be returned.
37
38       If x is ±0 or ±Inf, x shall be returned.
39

ERRORS

41       No errors are defined.
42
43       The following sections are informative.
44

EXAMPLES

46       None.
47

APPLICATION USAGE

49       The integral value returned by these functions need not be  expressible
50       as  an intmax_t.  The return value should be tested before assigning it
51       to an integer type to avoid the undefined results of an  integer  over‐
52       flow.
53
54       These  functions  may raise the inexact floating-point exception if the
55       result differs in value from the argument.
56

RATIONALE

58       None.
59

FUTURE DIRECTIONS

61       None.
62

SEE ALSO

64       The Base Definitions volume of POSIX.1‐2017, <math.h>
65
67       Portions of this text are reprinted and reproduced in  electronic  form
68       from  IEEE Std 1003.1-2017, Standard for Information Technology -- Por‐
69       table Operating System Interface (POSIX), The Open Group Base  Specifi‐
70       cations  Issue  7, 2018 Edition, Copyright (C) 2018 by the Institute of
71       Electrical and Electronics Engineers, Inc and The Open Group.   In  the
72       event of any discrepancy between this version and the original IEEE and
73       The Open Group Standard, the original IEEE and The Open Group  Standard
74       is  the  referee document. The original Standard can be obtained online
75       at http://www.opengroup.org/unix/online.html .
76
77       Any typographical or formatting errors that appear  in  this  page  are
78       most likely to have been introduced during the conversion of the source
79       files to man page format. To report such errors,  see  https://www.ker
80       nel.org/doc/man-pages/reporting_bugs.html .
81
82
83
84IEEE/The Open Group                  2017                            TRUNC(3P)
Impressum