xref: /original-bsd/sys/tahoe/math/Kfp.h (revision c8876cb1)
1 /*-
2  * Copyright (c) 1985 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * This code is derived from software contributed to Berkeley by
6  * Computer Consoles Inc.
7  *
8  * %sccs.include.redist.c%
9  *
10  *	@(#)Kfp.h	7.1 (Berkeley) 12/06/90
11  */
12 
13 /*
14  * Opcodes to be emulated by kernel software.
15  */
16 #define	CVLF	0x76
17 #define	CVLD	0x77
18 #define	CVFL	0x86
19 #define	CVDL	0x87
20 #define	LDFD	0x97
21 #define	CVDF	0xa6
22 #define	ADDF   	0xc6
23 #define	ADDD	0xc7
24 #define	SUBF	0xd6
25 #define	SUBD	0xd7
26 #define	MULF	0xe6
27 #define	MULD	0xe7
28 #define	DIVF	0xf6
29 #define	DIVD	0xf7
30 #define	SINF	0x05
31 #define	COSF	0x15
32 #define	ATANF	0x25
33 #define	LOGF	0x35
34 #define	SQRTF	0x45
35 #define	EXPF	0x55
36 
37 /* HFS bits:	*/
38 #define HFS_UNDF	0x008	/* float underflow */
39 #define HFS_OVF		0x004	/* float overflow */
40 
41 #define HFS_RANGE	0x8000	/* set u_error to ERANGE */
42 #define HFS_DOM		0x4000	/* set u_error to EDOM */
43 #define HFS_DIVZ	0x2000  /* divide by zero flag */
44 
45 /* destination types for the f.p. opcodes:	*/
46 #define LONG	01
47 #define FLOAT	02
48 #define	DOUBLE	03
49 
50 /* exceptions:	*/
51 #define OVF_EXC		0x003	/* floating overflow */
52 #define UNDF_EXC	0x004 	/* floating underflow */
53 #define DIV0_EXC	0x005	/* floating divide by 0 */
54