mirror of
https://github.com/espruino/Espruino.git
synced 2025-12-08 19:06:15 +00:00
Fix bitwise rshift by 0 to be unsigned (fix #1784)
This commit is contained in:
parent
982b4c580e
commit
bb60ff627c
@ -3425,7 +3425,7 @@ JsVar *jsvMathsOp(JsVar *a, JsVar *b, int op) {
|
||||
case '%': return db ? jsvNewFromInteger(da%db) : jsvNewFromFloat(NAN);
|
||||
case LEX_LSHIFT: return jsvNewFromInteger(da << db);
|
||||
case LEX_RSHIFT: return jsvNewFromInteger(da >> db);
|
||||
case LEX_RSHIFTUNSIGNED: return jsvNewFromInteger((JsVarInt)(((JsVarIntUnsigned)da) >> db));
|
||||
case LEX_RSHIFTUNSIGNED: return jsvNewFromLongInteger(((JsVarIntUnsigned)da) >> db);
|
||||
case LEX_EQUAL: return jsvNewFromBool(da==db && jsvIsNull(a)==jsvIsNull(b));
|
||||
case LEX_NEQUAL: return jsvNewFromBool(da!=db || jsvIsNull(a)!=jsvIsNull(b));
|
||||
case '<': return jsvNewFromBool(da<db);
|
||||
|
||||
@ -2,4 +2,6 @@
|
||||
var a = (2<<2);
|
||||
var b = (16>>3);
|
||||
var c = ((-1&0xFFFFFFFF) >>> 16);
|
||||
result = a==8 && b==2 && c == 0xFFFF;
|
||||
var d = -7 >>> 0;
|
||||
|
||||
result = a==8 && b==2 && c == 0xFFFF && d == 0xFFFFFFF9;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user