summaryrefslogtreecommitdiff
path: root/sys/arch/amd64/include/ieee.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/amd64/include/ieee.h')
-rw-r--r--sys/arch/amd64/include/ieee.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/sys/arch/amd64/include/ieee.h b/sys/arch/amd64/include/ieee.h
index 5a34355d223..74856b20ebf 100644
--- a/sys/arch/amd64/include/ieee.h
+++ b/sys/arch/amd64/include/ieee.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ieee.h,v 1.1 2004/01/28 01:39:39 mickey Exp $ */
+/* $OpenBSD: ieee.h,v 1.2 2008/09/07 20:36:06 martynas Exp $ */
/* $NetBSD: ieee.h,v 1.1 1996/09/30 16:34:25 ws Exp $ */
/*
@@ -79,10 +79,19 @@
#define SNG_FRACBITS 23
#define DBL_EXPBITS 11
+#define DBL_FRACHBITS 20
+#define DBL_FRACLBITS 32
#define DBL_FRACBITS 52
#define EXT_EXPBITS 15
-#define EXT_FRACBITS 112
+#define EXT_FRACHBITS 32
+#define EXT_FRACLBITS 32
+#define EXT_FRACBITS 64
+
+#define EXT_TO_ARRAY32(p, a) do { \
+ (a)[0] = (uint32_t)(p)->ext_fracl; \
+ (a)[1] = (uint32_t)(p)->ext_frach; \
+} while(0)
struct ieee_single {
u_int sng_frac:23;
@@ -99,11 +108,11 @@ struct ieee_double {
struct ieee_ext {
u_int ext_fracl;
- u_int ext_fraclm;
- u_int ext_frachm;
- u_int ext_frach:16;
+ u_int ext_frach;
u_int ext_exp:15;
u_int ext_sign:1;
+ u_int ext_padl:16;
+ u_int ext_padh;
};
/*