Annotation of gforth/32bit.h, revision 1.2

1.1       anton       1: /*
                      2:   Copyright 1992 by the ANSI figForth Development Group
                      3: 
                      4:   This is a generic file for 32-bit machines with IEEE FP arithmetic (no VMS).
                      5:   It only supports indirect threading.
                      6: */
                      7: 
                      8: /* Cell and UCell must be the same size as a pointer */
                      9: typedef long Cell;
                     10: typedef unsigned long UCell;
                     11: 
                     12: /* DCell and UDCell must be twice as large as Cell */
                     13: typedef long long DCell;
                     14: typedef unsigned long long UDCell;
                     15: 
                     16: /* define this if IEEE singles and doubles are available as C data types */
                     17: #define IEEE_FP
                     18: 
                     19: /* the IEEE types are used only for loading and storing */
                     20: /* the IEEE double precision type */
                     21: typedef double DFloat;
                     22: /* the IEEE single precision type */
                     23: typedef float SFloat;
                     24: 
1.2     ! anton      25: #ifndef USE_FTOS
        !            26: #ifndef USE_NO_FTOS
        !            27: /* keep top of FP stack in register. Since most processors have FP
        !            28:    registers and they are hardly used in gforth, this is usually a
        !            29:    good idea.  The 88100 has no separate FP regs, but many general
        !            30:    purpose regs, so it should be ok */
        !            31: #define USE_FTOS
        !            32: #endif
        !            33: #endif
        !            34: /* I don't do the same for the data stack (i.e. USE_TOS), since this
        !            35:    loses on processors with few registers. USE_TOS might be defined in
        !            36:    the processor-specific files */
        !            37: 
1.1       anton      38: #ifdef DIRECT_THREADED
                     39: /* If you want direct threading, write a .h file for your processor! */
                     40: /* We could put some stuff here that causes a compile error, but then
                     41:    we could not use this file in the other machine.h files */
                     42: #endif
                     43: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>