infnan man page on Xenix

Man page or keyword search:  
man Server   1130 pages
apropos Keyword Search (all sections)
Output format
Xenix logo
[printable version]

INFNAN(3M)							    INFNAN(3M)

NAME
       infnan - signals invalid floating-point operations on a VAX (temporary)

SYNOPSIS
       #include <math.h>

       double infnan(iarg)
       int iarg;

DESCRIPTION
       At  some	 time  in  the	future,	 some  of the useful properties of the
       Infinities and NaNs in the IEEE standard 754 for Binary	Floating-Point
       Arithmetic  will	 be  simulated	in  UNIX  on  the DEC VAX by using its
       Reserved Operands.  Meanwhile, the Invalid, Overflow and Divide-by-Zero
       exceptions  of  the  IEEE  standard  are being approximated on a VAX by
       calls to a procedure infnan in appropriate places in libm.  When better
       exception-handling  is implemented in UNIX, only infnan among the codes
       in libm will have to be changed.	 And users of libm  can	 design	 their
       own infnan now to insulate themselves from future changes.

       Whenever an elementary function code in libm has to simulate one of the
       aforementioned IEEE exceptions, it calls infnan(iarg) with an appropri‐
       ate  value  of  iarg.  Then a reserved operand fault stops computation.
       But infnan could be replaced by a function  with	 the  same  name  that
       returns	some plausible value, assigns an apt value to the global vari‐
       able errno, and	allows	computation  to	 resume.   Alternatively,  the
       Reserved Operand Fault Handler could be changed to respond by returning
       that plausible value, etc.  instead of aborting.

       In the table below, the first two columns show various exceptions  sig‐
       naled  by the IEEE standard, and the default result it prescribes.  The
       third column shows what value is given to iarg  by  functions  in  libm
       when  they  invoke infnan(iarg) under analogous circumstances on a VAX.
       Currently infnan stops computation under all those circumstances.   The
       last two columns offer an alternative; they suggest a setting for errno
       and a value for a revised infnan to return.  And a C program to	imple‐
       ment that suggestion follows.
	      IEEE	IEEE
	      Signal	Default	  iarg	  errno		    infnan
	      __________________________________________________
	      Invalid	NaN	  EDOM	  EDOM		    0
	      Overflow	±Infinity ERANGE  ERANGE	    HUGE
	      Div-by-0	±Infinity ±ERANGE ERANGE or EDOM    ±HUGE
			(HUGE = 1.7e38 ... nearly  2.0**127)

       ALTERNATIVE  infnan:
       #include	  <math.h>
       #include	  <errno.h>
       extern int errno ;
       double	  infnan(iarg)
       int	  iarg ;
       {
		  switch(iarg) {
		  case	    ERANGE: errno = ERANGE; return(HUGE);
		  case	   -ERANGE: errno = EDOM;   return(-HUGE);
		  default:	    errno = EDOM;   return(0);
		  }
       }

SEE ALSO
       math(3M), intro(2), signal(3).

       ERANGE and EDOM are defined in <errno.h>.  See intro(2) for explanation
       of EDOM and ERANGE.

4.3 Berkeley Distribution	 May 27, 1986			    INFNAN(3M)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Xenix

List of man pages available for Xenix

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net