Revision: 3653 Author: nice Date: 2016-03-26 15:24:44 -0700 (Sat, 26 Mar 2016) Log Message: ----------- add SQABS and SQLABS macros for taking absolute values of sqInt and sqLong
Modified Paths: -------------- branches/Cog/platforms/Cross/vm/sqMemoryAccess.h
Modified: branches/Cog/platforms/Cross/vm/sqMemoryAccess.h =================================================================== --- branches/Cog/platforms/Cross/vm/sqMemoryAccess.h 2016-03-26 02:06:14 UTC (rev 3652) +++ branches/Cog/platforms/Cross/vm/sqMemoryAccess.h 2016-03-26 22:24:44 UTC (rev 3653) @@ -41,26 +41,32 @@ #if defined(SQ_IMAGE32) typedef int sqInt; typedef unsigned int usqInt; +# define SQABS abs #elif defined(SQ_HOST64) typedef long sqInt; typedef unsigned long usqInt; +# define SQABS labs #elif (SIZEOF_LONG_LONG != 8) # error long long integers are not 64-bits wide? #else typedef long long sqInt; typedef unsigned long long usqInt; +# define SQABS llabs #endif
#if !defined(sqLong) # if SIZEOF_VOID_P == 8 # define sqLong long # define usqLong unsigned long +# define SQLABS labs # elif _MSC_VER # define sqLong __int64 # define usqLong unsigned __int64 +# define SQLABS llabs # else # define sqLong long long # define usqLong unsigned long long +# define SQLABS llabs # endif #endif /* !defined(sqLong) */
vm-dev@lists.squeakfoundation.org