ref: c093439fad6423c9545d73d5cc9fb6b7c2b9dd2d
parent: 0619fc6c8de5628a3682b0888c53e11a09889f54
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Fri Mar 10 11:31:56 EST 2023
fixnum(x): put the shift in the right place
--- a/flisp.h
+++ b/flisp.h
@@ -54,7 +54,7 @@
#define tag(x) ((x)&0x7)
#define ptr(x) ((void*)((x)&(~(value_t)0x7)))
#define tagptr(p,t) (((value_t)(p)) | (t))
-#define fixnum(x) ((value_t)(((fixnum_t)(x))<<2))
+#define fixnum(x) ((value_t)((fixnum_t)(x))<<2)
#define numval(x) (((fixnum_t)(x))>>2)
#if defined(BITS64)
#define fits_fixnum(x) (((x)>>61) == 0 || (~((x)>>61)) == 0)