mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-24 20:45:06 +02:00
Revert changes for now
This commit is contained in:
parent
0d40488d2e
commit
79d490292f
2 changed files with 16 additions and 13 deletions
|
@ -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.
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue