Diff for /gforth/engine/forth.h between versions 1.63 and 1.64

version 1.63, 2005/01/17 16:52:46 version 1.64, 2005/01/19 22:11:53
Line 109 Line 109
 #define F_FALSE (FLAG(0!=0))  #define F_FALSE (FLAG(0!=0))
   
 #ifdef BUGGY_LONG_LONG  #ifdef BUGGY_LONG_LONG
   
   #define BUGGY_LL_CMP    /* compares not possible */
   #define BUGGY_LL_MUL    /* multiplication not possible */
   #define BUGGY_LL_DIV    /* division not possible */
   #define BUGGY_LL_ADD    /* addition not possible */
   #define BUGGY_LL_SHIFT  /* shift not possible */
   #define BUGGY_LL_D2F    /* to float not possible */
   #define BUGGY_LL_F2D    /* from float not possible */
   #define BUGGY_LL_SIZE   /* long long "too short", so we use something else */
   
 typedef struct {  typedef struct {
   Cell hi;    Cell hi;
   UCell lo;    UCell lo;
Line 119  typedef struct { Line 129  typedef struct {
   UCell lo;    UCell lo;
 } UDCell;  } UDCell;
   
   #define DHI(x) (x).hi
   #define DLO(x) (x).lo
   #define DHI_IS(x,y) (x).hi=(y)
   #define DLO_IS(x,y) (x).lo=(y)
   
 #if SMALL_OFF_T  #if SMALL_OFF_T
 #define OFF2UD(o) ({UDCell _ud; _ud.hi=0; _ud.lo=(Cell)(o); _ud;})  #define OFF2UD(o) ({UDCell _ud; _ud.hi=0; _ud.lo=(Cell)(o); _ud;})
 #define UD2OFF(ud) ((ud).lo)  #define UD2OFF(ud) ((ud).lo)
Line 154  typedef union { Line 169  typedef union {
   UDCell ud;    UDCell ud;
 } Double_Store;  } Double_Store;
   
   #ifndef BUGGY_LONG_LONG
   #define DHI(x) ({ Double_Store _d; _d.d=(x); _d.cells.high; })
   #define DLO(x) ({ Double_Store _d; _d.d=(x); _d.cells.low;  })
   
   /* beware with the assignment: x is referenced twice! */
   #define DHI_IS(x,y) ({ Double_Store _d; _d.d=(x); _d.cells.high=(y); (x)=_d; })
   #define DLO_IS(x,y) ({ Double_Store _d; _d.d=(x); _d.cells.low =(y); (x)=_d; })
   #endif
   
 #define FETCH_DCELL_T(d_,lo,hi,t_)      ({ \  #define FETCH_DCELL_T(d_,lo,hi,t_)      ({ \
                                      Double_Store _d; \                                       Double_Store _d; \
                                      _d.cells.low = (lo); \                                       _d.cells.low = (lo); \

Removed from v.1.63  
changed lines
  Added in v.1.64


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