/* * Copyright (c) 1985 Regents of the University of California. * * Use and reproduction of this software are granted in accordance with * the terms and conditions specified in the Berkeley Software License * Agreement (in particular, this entails acknowledgement of the programs' * source, and inclusion of this notice) with the additional understanding * that all recipients should regard themselves as participants in an * ongoing research project and hence should feel obligated to report * their experiences (good or bad) with these elementary function codes, * using "sendbug 4bsd-bugs@BERKELEY", to the authors. * * @(#)infnan.s 1.1 (Berkeley) 8/21/85 * * infnan(arg) int arg; * where arg := EDOM if result is NaN * := ERANGE if result is +INF * := -ERANGE if result is -INF * * The Reserved Operand Fault is generated inside of this routine. * */ .globl _infnan .set EDOM,33 .set ERANGE,34 .text .align 1 _infnan: .word 0x0 cmpl 4(ap),$ERANGE bneq 1f movl $ERANGE,_errno brb 2f 1: movl $EDOM,_errno 2: emodd $0,$0,$0x8000,r0,r0 # generates the reserved operand fault ret