Mercurial > hg > xemacs-beta
comparison src/lisp.h @ 290:c9fe270a4101 r21-0b43
Import from CVS: tag r21-0b43
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:36:47 +0200 |
parents | e11d67e05968 |
children | 4b85ae5eabfb |
comparison
equal
deleted
inserted
replaced
289:6e6992ccc4b6 | 290:c9fe270a4101 |
---|---|
1140 | 1140 |
1141 /*********** float ***********/ | 1141 /*********** float ***********/ |
1142 | 1142 |
1143 #ifdef LISP_FLOAT_TYPE | 1143 #ifdef LISP_FLOAT_TYPE |
1144 | 1144 |
1145 /* Note: the 'next' field is there to ensure that there is enough room | 1145 /* Note: the 'unused__next__' field exists only to ensure that the |
1146 for the next pointer float type's free list. */ | 1146 `next' pointer fits within the structure, for the purposes of the |
1147 free list. This makes a difference in the unlikely case of | |
1148 sizeof(double) being smaller than sizeof(void *). */ | |
1147 | 1149 |
1148 struct Lisp_Float | 1150 struct Lisp_Float |
1149 { | 1151 { |
1150 struct lrecord_header lheader; | 1152 struct lrecord_header lheader; |
1151 union { double d; struct Lisp_Float *next; } data; | 1153 union { double d; struct Lisp_Float *unused__next__; } data; |
1152 }; | 1154 }; |
1153 | 1155 |
1154 DECLARE_LRECORD (float, struct Lisp_Float); | 1156 DECLARE_LRECORD (float, struct Lisp_Float); |
1155 #define XFLOAT(x) XRECORD (x, float, struct Lisp_Float) | 1157 #define XFLOAT(x) XRECORD (x, float, struct Lisp_Float) |
1156 #define XSETFLOAT(x, p) XSETRECORD (x, p, float) | 1158 #define XSETFLOAT(x, p) XSETRECORD (x, p, float) |
1157 #define FLOATP(x) RECORDP (x, float) | 1159 #define FLOATP(x) RECORDP (x, float) |
1158 #define GC_FLOATP(x) GC_RECORDP (x, float) | 1160 #define GC_FLOATP(x) GC_RECORDP (x, float) |
1159 #define CHECK_FLOAT(x) CHECK_RECORD (x, float) | 1161 #define CHECK_FLOAT(x) CHECK_RECORD (x, float) |
1160 #define CONCHECK_FLOAT(x) CONCHECK_RECORD (x, float) | 1162 #define CONCHECK_FLOAT(x) CONCHECK_RECORD (x, float) |
1161 | 1163 |
1162 #define float_next(f) ((f)->data.next) | |
1163 #define float_data(f) ((f)->data.d) | 1164 #define float_data(f) ((f)->data.d) |
1164 | 1165 |
1165 #define XFLOATINT(n) extract_float (n) | 1166 #define XFLOATINT(n) extract_float (n) |
1166 | 1167 |
1167 #define CHECK_INT_OR_FLOAT(x) do { \ | 1168 #define CHECK_INT_OR_FLOAT(x) do { \ |