|
|
1.1 root 1: # Copyright (c) 1985 Regents of the University of California.
2: # All rights reserved.
3: #
4: # Redistribution and use in source and binary forms are permitted
5: # provided that the above copyright notice and this paragraph are
6: # duplicated in all such forms and that any documentation,
7: # advertising materials, and other materials related to such
8: # distribution and use acknowledge that the software was developed
9: # by the University of California, Berkeley. The name of the
10: # University may not be used to endorse or promote products derived
11: # from this software without specific prior written permission.
12: # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
13: # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
14: # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
15: #
16: # All recipients should regard themselves as participants in an ongoing
17: # research project and hence should feel obligated to report their
18: # experiences (good or bad) with these elementary function codes, using
19: # the sendbug(8) program, to the authors.
20: #
21: # @(#)infnan.s 5.4 (Berkeley) 6/30/88
22: #
23: .data
24: .align 2
25: _sccsid:
26: .asciz "@(#)infnan.s 5.4 (ucb.elefunt) 6/30/88"
27:
28: /*
29: * double infnan(arg)
30: * int arg;
31: * where arg := EDOM if result is NaN
32: * := ERANGE if result is +INF
33: * := -ERANGE if result is -INF
34: *
35: * The Reserved Operand Fault is generated inside of this routine.
36: */
37: .globl _infnan
38: .set EDOM,33
39: .set ERANGE,34
40: .text
41: .align 2
42: _infnan:
43: .word 0x0000 # save nothing
44: cmpl 4(fp),$ERANGE
45: bneq 1f
46: movl $ERANGE,_errno
47: brb 2f
48: 1: movl $EDOM,_errno
49: 2: cmpf2 $0x80000000,$0x80000000 # generates the reserved operand fault
50: ret
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.