version 1.2, 1998/07/05 20:50:02
|
version 1.9, 1999/05/05 12:07:56
|
Line 2
|
Line 2
|
This is a generic file for 32-bit machines with IEEE FP arithmetic (no VMS). |
This is a generic file for 32-bit machines with IEEE FP arithmetic (no VMS). |
It only supports indirect threading. |
It only supports indirect threading. |
|
|
Copyright (C) 1995 Free Software Foundation, Inc. |
Copyright (C) 1995,1998 Free Software Foundation, Inc. |
|
|
This file is part of Gforth. |
This file is part of Gforth. |
|
|
Line 21
|
Line 21
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
*/ |
*/ |
|
|
/* define this if IEEE singles and doubles are available as C data types */ |
#ifndef THREADING_SCHEME |
#define IEEE_FP |
#define THREADING_SCHEME 6 |
|
#endif |
|
|
|
#ifdef GFORTH_DEBUGGING |
|
/* schedule the ip update after the rest of the primitive; |
|
never mind speed */ |
|
#undef THREADING_SCHEME |
|
#ifdef DIRECT_THREADED |
|
#define THREADING_SCHEME 10 |
|
#else |
|
#define THREADING_SCHEME 8 |
|
#endif /* DIRECT_THREADED */ |
|
#endif /* GFORTH_DEBUGGING */ |
|
|
/* the IEEE types are used only for loading and storing */ |
|
/* the IEEE double precision type */ |
|
typedef double DFloat; |
|
/* the IEEE single precision type */ |
|
typedef float SFloat; |
|
|
|
/* define SYSCALL */ |
/* define SYSCALL */ |
|
|
Line 36 typedef float SFloat;
|
Line 43 typedef float SFloat;
|
#define SYSCALL |
#define SYSCALL |
#endif |
#endif |
|
|
|
#ifndef SYSSIGNALS |
|
#define SYSSIGNALS |
|
#endif |
|
|
#ifndef USE_FTOS |
#ifndef USE_FTOS |
#ifndef USE_NO_FTOS |
#ifndef USE_NO_FTOS |
/* keep top of FP stack in register. Since most processors have FP |
/* keep top of FP stack in register. Since most processors have FP |
Line 55 typedef float SFloat;
|
Line 66 typedef float SFloat;
|
we could not use this file in the other machine.h files */ |
we could not use this file in the other machine.h files */ |
#endif |
#endif |
|
|
|
/* Types: these types are used as Forth's internal types */ |
|
|
|
/* define this if IEEE singles and doubles are available as C data types */ |
|
#define IEEE_FP |
|
|
|
/* the IEEE types are used only for loading and storing */ |
|
/* the IEEE double precision type */ |
|
typedef double DFloat; |
|
/* the IEEE single precision type */ |
|
typedef float SFloat; |
|
|
|
typedef CELL_TYPE Cell; |
|
typedef unsigned CELL_TYPE UCell; |
|
typedef Cell Bool; |
|
typedef unsigned char Char; |
|
typedef double Float; |
|
typedef Char *Address; |
|
|
|
#if defined(DOUBLY_INDIRECT) |
|
typedef void **Label; |
|
#else /* !defined(DOUBLY_INDIRECT) */ |
|
typedef void *Label; |
|
#endif /* !defined(DOUBLY_INDIRECT) */ |
|
|
|
/* feature defines */ |
|
|
|
#define HAS_DCOMPS |
|
#define HAS_FILE |
|
#define HAS_FLOATING |
|
#define HAS_GLOCALS |
|
#define HAS_HASH |
|
#define HAS_OS |
|
#define HAS_XCONDS |
|
#define HAS_STANDARDTHREADING |
|
|
|
#define RELINFOBITS 8 |