895 |
/* |
/* |
896 |
Type_of. |
Type_of. |
897 |
*/ |
*/ |
898 |
#define type_of(x) ({object _z=(object)(x);\ |
#define type_of(x) ({register object _z=(object)(x);\ |
899 |
is_imm_fixnum(_z) ? t_fixnum : \ |
is_imm_fixnum(_z) ? t_fixnum : \ |
900 |
(_z==Cnil || _z==Ct || _z==Dotnil ? t_symbol : \ |
(_z==Cnil || _z==Dotnil ? t_symbol : \ |
901 |
(is_cons(_z) ? t_cons : _z->d.t));}) |
(is_cons(_z) ? t_cons : _z->d.t));}) |
902 |
#define set_type_of(x,y) ({object _x=(object)(x);enum type _y=(y);*(fixnum *)(_x)&=TYPE_BITS;\ |
#define set_type_of(x,y) ({object _x=(object)(x);enum type _y=(y);*(fixnum *)(_x)&=TYPE_BITS;\ |
903 |
if (_y!=t_cons) {_x->d.e=1;_x->d.t=_y;}}) |
if (_y!=t_cons) {_x->d.e=1;_x->d.t=_y;}}) |