From 539a71ef25abf45b55ab3b60e550b048f215b945 Mon Sep 17 00:00:00 2001 From: QB64Cobalt <56514693+QB64Cobalt@users.noreply.github.com> Date: Thu, 5 Dec 2019 07:08:31 -0800 Subject: [PATCH 1/2] Update qbx.cpp --- internal/c/qbx.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/internal/c/qbx.cpp b/internal/c/qbx.cpp index 18701369b..9a6b70259 100644 --- a/internal/c/qbx.cpp +++ b/internal/c/qbx.cpp @@ -641,12 +641,12 @@ extern float string2s(qbs*str); extern double string2d(qbs*str); extern long double string2f(qbs*str); //Cobalt(aka Dave) added the next 2 lines -int64 func__shr(int64 a1, int b1); -int64 func__shl(int64 a1, int b1); -int64 func__readbit(int64 a1, int b1); -int64 func__setbit(int64 a1, int b1); -int64 func__resetbit(int64 a1, int b1); -int64 func__togglebit(int64 a1, int b1); +uint64 func__shr(uint64 a1, int b1); +uint64 func__shl(uint64 a1, int b1); +int64 func__readbit(uint64 a1, int b1); +uint64 func__setbit(uint64 a1, int b1); +uint64 func__resetbit(uint64 a1, int b1); +uint64 func__togglebit(uint64 a1, int b1); #ifndef QB64_WINDOWS extern void Sleep(uint32 milliseconds); extern void ZeroMemory(void *ptr,int64 bytes); @@ -975,22 +975,22 @@ inline int32 func_sgn(long double v){ } //bit-shifting -inline int64 func__shl(int64 a1,int b1) +inline uint64 func__shl(uint64 a1,int b1) {return a1<>b1;} -inline int64 func__readbit(int64 a1, int b1) +inline int64 func__readbit(uint64 a1, int b1) {if (a1 & 1ull< Date: Thu, 5 Dec 2019 07:10:31 -0800 Subject: [PATCH 2/2] Update subs_functions.bas --- source/subs_functions/subs_functions.bas | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/source/subs_functions/subs_functions.bas b/source/subs_functions/subs_functions.bas index 015979061..35cd2e890 100644 --- a/source/subs_functions/subs_functions.bas +++ b/source/subs_functions/subs_functions.bas @@ -3268,8 +3268,8 @@ id.n = "_SHR" id.subfunc = 1 id.callname = "func__shr" id.args = 2 -id.arg = MKL$(INTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) -id.ret = INTEGER64TYPE - ISPOINTER +id.arg = MKL$(UINTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) +id.ret = UINTEGER64TYPE - ISPOINTER regid clearid @@ -3277,8 +3277,8 @@ id.n = "_SHL" id.subfunc = 1 id.callname = "func__shl" id.args = 2 -id.arg = MKL$(INTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) -id.ret = INTEGER64TYPE - ISPOINTER +id.arg = MKL$(UINTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) +id.ret = UINTEGER64TYPE - ISPOINTER regid clearid @@ -3413,7 +3413,7 @@ id.n = "_READBIT" id.subfunc = 1 id.callname = "func__readbit" id.args = 2 -id.arg = MKL$(INTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) +id.arg = MKL$(UINTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) id.ret = INTEGER64TYPE - ISPOINTER regid @@ -3422,8 +3422,8 @@ id.n = "_SETBIT" id.subfunc = 1 id.callname = "func__setbit" id.args = 2 -id.arg = MKL$(INTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) -id.ret = INTEGER64TYPE - ISPOINTER +id.arg = MKL$(UINTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) +id.ret = UINTEGER64TYPE - ISPOINTER regid clearid @@ -3431,8 +3431,8 @@ id.n = "_RESETBIT" id.subfunc = 1 id.callname = "func__resetbit" id.args = 2 -id.arg = MKL$(INTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) -id.ret = INTEGER64TYPE - ISPOINTER +id.arg = MKL$(UINTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) +id.ret = UINTEGER64TYPE - ISPOINTER regid clearid @@ -3440,6 +3440,6 @@ id.n = "_TOGGLEBIT" id.subfunc = 1 id.callname = "func__togglebit" id.args = 2 -id.arg = MKL$(INTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) -id.ret = INTEGER64TYPE - ISPOINTER +id.arg = MKL$(UINTEGER64TYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) +id.ret = UINTEGER64TYPE - ISPOINTER regid