childs -> children.
[AROS.git] / workbench / libs / mathieeedoubbas / mathieeedoubbas_intern.h
blob798db47dd784e1a648e3932ed4b4de5e723d0d9b
1 /*
2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
3 $Id$
4 */
5 #ifndef __MATHIEEEDOUBBAS_INTERN_H__
6 #define __MATHIEEEDOUBBAS_INTERN_H__
9 /* This is a short file that contains a few things every mathieeedoubbas
10 function needs */
12 #ifndef AROS_LIBCALL_H
13 # include <aros/libcall.h>
14 #endif
15 #ifndef PROTO_MATHIEEEDPTRANS_H
16 # include <proto/mathieeedoubbas.h>
17 #endif
19 #ifndef EXEC_TYPES_H
20 # include <exec/types.h>
21 #endif
22 #ifndef EXEC_LIBRARIES_H
23 # include <exec/libraries.h>
24 #endif
25 #ifndef DOS_DOS_H
26 # include <dos/dos.h>
27 #endif
29 #include <proto/exec.h>
31 #ifndef __MATHIEEE64BIT_DEFINES_H__
32 # include <aros/mathieee64bitdefines.h>
33 #endif
35 /* Internal prototypes */
38 This is the MathIeeeDoubBasBase structure. It is documented here because
39 it is completely private. Applications should treat it as a struct
40 Library, and use the mathieeedoubbas.library functions to get information.
43 struct MathIeeeDoubBasBase
45 struct Library library;
46 BPTR seglist;
50 #define Zero_Bit 0x00000004 /* Flags of the 680xx CPU */
51 #define Negative_Bit 0x00000008
52 #define Overflow_Bit 0x00000002
55 #define IEEEDPMantisse_Mask_Hi 0x000FFFFF /* 52 bit for the mantisse */
56 #define IEEEDPMantisse_Mask_Lo 0xFFFFFFFF
57 #define IEEEDPExponent_Mask_Hi 0x7FF00000 /* 11 bit for the exponent */
58 #define IEEEDPExponent_Mask_Lo 0x00000000
59 #define IEEEDPSign_Mask_Hi 0x80000000 /* 1 bit for the sign */
60 #define IEEEDPSign_Mask_Lo 0x00000000
62 #define IEEEDPNAN_Hi 0x7FFFFFFF
63 #define IEEEDPNAN_Lo 0xFFFFFFFF
64 #define IEEEDPNAN_64 0x7FFFFFFFFFFFFFFFULL
66 #define IEEEDPPInfty_Hi 0x7FEFFFFF
67 #define IEEEDPPInfty_Lo 0xFFFFFFFF
68 #define IEEEDPPInfty_64 0x7FEFFFFFFFFFFFFFULL
70 #define IEEEDPMantisse_Mask_64 0x000FFFFFFFFFFFFFULL /* 52 bit for the mantisse */
71 #define IEEEDPExponent_Mask_64 0x7FF0000000000000ULL /* 11 bit for the exponent */
72 #define IEEEDPSign_Mask_64 0x8000000000000000ULL /* 1 bit for the sign */
74 #define IEEESPMantisse_Mask 0x007FFFFF /* 23 bit for the mantisse */
75 #define IEEESPExponent_Mask 0x7F800000 /* 8 bit for the exponent */
76 #define IEEESPSign_Mask 0x80000000 /* 1 bit for the sign */
78 #define one_Hi 0x3ff00000
79 #define one_Lo 0x00000000
80 #define one_64 0x3ff0000000000000ULL
82 #ifdef __mc68000
83 #include <aros/m68k/libcall_cc.h>
84 #endif
86 #endif /* __MATHIEEEDOUBBAS_INTERN_H__ */