Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cc(1)

write_rnd(3)  —  Subroutines

NAME

write_rnd, read_rnd − Sets and returns IEEE dynamic rounding mode for floating-point operations

LIBRARY

Standard C Library (libc.so, libc.a)

SYNOPSIS

#include <float.h>

unsigned int write_rnd(
        unsigned int  rnd);

unsigned int read_rnd();

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. 
 

RELATED INFORMATION

Commands: cc(1). 

Files: float.h. 

Assembly Language Programmer’s Guide. 

Alpha Architecture Reference Manual. 

IEEE Standard for Binary Floating-Point Arithmetic

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026