FESETPREC(3M) Mathematical Library Functions FESETPREC(3M)

fesetprec, fegetprec - control floating point rounding precision modes

c99 [ flag... ] file... -lm [ library... ]
#include <fenv.h>
int fesetprec(int prec);

int fegetprec(void);

The IEEE 754 standard defines rounding precision modes for systems that always deliver intermediate results to destinations in extended double precision format. These modes allow such systems to deliver correctly rounded single and double precision results (in the absence of underflow and overflow) with only one rounding.

The fesetprec() function sets the current rounding precision to the precision specified by prec, which must be one of the following values defined in <fenv.h>:


round to single precision


round to double precision


round to extended double precision

The default rounding precision when a program starts is FE_LDBLPREC.

The fegetprec() function returns the current rounding precision.

The fesetprec() function returns a non-zero value if the requested rounding precision is established and 0 otherwise.

See attributes(7) for descriptions of the following attributes:

Architecture Intel (see below)
Availability SUNWlibms
Interface Stability Stable
MT-Level MT-Safe

These functions are not available on SPARC systems because SPARC processors deliver intermediate results to destinations in single or double format as determined by each floating point instruction.

fegetenv(3M), fesetround(3M), attributes(7)

Numerical Computation Guide

July 12, 2006 SunOS 5.11