Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
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>:
FE_FLTPREC
round to single precision
FE_DBLPREC
round to double precision
FE_LDBLPREC
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(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
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(5)
Numerical Computation Guide