46 lines
1.3 KiB
C
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_ */
|