NetBSD/sys/arch/alpha/include/ieeefp.h

46 lines
1.3 KiB
C

/* $NetBSD: ieeefp.h,v 1.3 1999/04/29 02:55:50 ross Exp $ */
/*
* Written by J.T. Conklin, Apr 28, 1995
* Public domain.
*/
#ifndef _ALPHA_IEEEFP_H_
#define _ALPHA_IEEEFP_H_
typedef int fp_except;
#define FP_X_INV 0x01 /* invalid operation exception */
#define FP_X_DZ 0x02 /* divide-by-zero exception */
#define FP_X_OFL 0x04 /* overflow exception */
#define FP_X_UFL 0x08 /* underflow exception */
#define FP_X_IMP 0x10 /* imprecise (loss of precision; "inexact") */
#define FP_X_IOV 0x20 /* integer overflow XXX? */
typedef enum {
FP_RZ=0, /* round to zero (truncate) */
FP_RM=1, /* round toward negative infinity */
FP_RN=2, /* round to nearest representable number */
FP_RP=3 /* round toward positive infinity */
} fp_rnd;
#ifdef _KERNEL
#define FPCR_SUM (1UL << 63)
#define FPCR_INED (1UL << 62)
#define FPCR_UNFD (1UL << 61)
#define FPCR_UNDZ (1UL << 60)
#define FPCR_DYN(rm) ((unsigned long)(rm) << 58)
#define FPCR_IOV (1UL << 57)
#define FPCR_INE (1UL << 56)
#define FPCR_UNF (1UL << 55)
#define FPCR_OVF (1UL << 54)
#define FPCR_DZE (1UL << 53)
#define FPCR_INV (1UL << 52)
#define FPCR_OVFD (1UL << 51)
#define FPCR_DZED (1UL << 50)
#define FPCR_INVD (1UL << 49)
#define FPCR_DNZ (1UL << 48)
#define FPCR_DNOD (1UL << 47)
#endif
#endif /* _ALPHA_IEEEFP_H_ */