write_rnd(3) — Subroutines
NAME
write_rnd, read_rnd − sets and returns IEEE dynamic rounding mode for floating-point operations
SYNOPSIS
#include <float.h>
unsigned int write_rnd(
unsigned int rnd ); unsigned int read_rnd(
void );
LIBRARY
Standard C Library (libc.so, libc.a)
DESCRIPTION
The write_rnd() function sets the dynamic rounding mode in the floating-point control register (fpcr) for IEEE floating-point operations and returns the previous dynamic rounding mode. Dynamic rounding mode for IEEE floating-point operations is enabled for code generated by the C compiler by specifying −fprm d to cc(1), and by using the d floating-point instruction operator in assembly language code.
Specify rnd as one of the following constants defined in float.h:
| Constant | Meaning |
| FP_RND_RZ | Round toward zero (chopped rounding) |
| FP_RND_RN | Round toward nearest (normal rounding) |
| FP_RND_RP | Round toward plus infinity |
| FP_RND_RM | Round toward minus infinity |
The read_rnd() function returns the current dynamic rounding mode for floating-point operations.
RETURN VALUES
The write_rnd() function returns the previous IEEE floating-point rounding mode. The read_rnd() function returns the current IEEE floating-point rounding mode.
SEE ALSO
Commands: cc(1)
Files: float.h
Assembly Language Programmer’s Guide
Alpha Architecture Reference Manual
IEEE Standard for Binary Floating-Point Arithmetic