Revert changes for now

This commit is contained in:
Justin Ethier 2018-06-14 18:09:43 -04:00
parent 0d40488d2e
commit 79d490292f
2 changed files with 16 additions and 13 deletions

View file

@ -493,20 +493,14 @@ typedef uint32_t char_type;
/** /**
* Convert from an object to an integer. * Convert from an object to an integer.
*/ */
#ifdef __clang__ //#define obj_obj2int(n) (((long)((ulong)(n) & ~1))/(long)(1uL<<1))
#define obj_obj2int(n) (((long)((ulong)(n) & ~1))/(long)(1uL<<1)) #define obj_obj2int(x) ((long)(x)>>1)
#else
#define obj_obj2int(x) ((long)(x)>>1)
#endif
/** /**
* Convert from an integer to an object. * Convert from an integer to an object.
*/ */
#ifdef __clang__ //#define obj_int2obj(n) ((void *) ((((long)(n))*(long)(1uL<<1)) | 1))
#define obj_int2obj(n) ((void *) ((((long)(n))*(long)(1uL<<1)) | 1)) #define obj_int2obj(c) ((void *)((((long)c)<<1) | 1))
#else
#define obj_int2obj(c) ((void *)((((long)c)<<1) | 1))
#endif
/** /**
* Determine if the object is a char. * Determine if the object is a char.

View file

@ -5,15 +5,17 @@
///** ///**
// * Convert from an object to an integer. // * Convert from an object to an integer.
// */ // */
#define my_obj_obj2int(x) ((long)(x)>>1) //#define my_obj_obj2int(x) ((long)(x)>>1)
// //
//+#define sexp_make_fixnum(n) ((sexp) ((((sexp_sint_t)(n))*(sexp_sint_t)(1uL<<SEXP_FIXNUM_BITS)) | SEXP_FIXNUM_TAG))
//+#define sexp_unbox_fixnum(n) (((sexp_sint_t)((sexp_uint_t)(n) & ~SEXP_FIXNUM_TAG))/(sexp_sint_t)(1uL<<SEXP_FIXNUM_BITS)) //+#define sexp_unbox_fixnum(n) (((sexp_sint_t)((sexp_uint_t)(n) & ~SEXP_FIXNUM_TAG))/(sexp_sint_t)(1uL<<SEXP_FIXNUM_BITS))
#define my_obj_obj2int(n) (((long)((ulong)(n) & ~1))/(long)(1uL<<1))
// //
///** ///**
// * Convert from an integer to an object. // * Convert from an integer to an object.
// */ // */
#define my_obj_int2obj(c) ((void *)((((long)c)<<1) | 1)) //#define my_obj_int2obj(c) ((void *)((((long)c)<<1) | 1))
#define my_obj_int2obj(n) ((void *) ((((long)(n))*(long)(1uL<<1)) | 1))
//+#define sexp_make_fixnum(n) ((sexp) ((((sexp_sint_t)(n))*(sexp_sint_t)(1uL<<SEXP_FIXNUM_BITS)) | SEXP_FIXNUM_TAG))
void main() void main()
{ {
@ -24,4 +26,11 @@ void main()
printf("%p\n", my_obj_int2obj(-1)); printf("%p\n", my_obj_int2obj(-1));
printf("%d\n", my_obj_obj2int(tmp)); printf("%d\n", my_obj_obj2int(tmp));
printf("%d\n", my_obj_is_int(tmp)); printf("%d\n", my_obj_is_int(tmp));
tmp = my_obj_int2obj(-0x7fffffff);
printf("%p\n", my_obj_int2obj(-0x7fffffff));
printf("%d\n", my_obj_obj2int(tmp));
printf("%d\n", my_obj_is_int(tmp));
printf("%x\n", (uint)~1);
} }