<< >> is ok

This commit is contained in:
lyon 2021-11-28 01:44:17 +08:00
parent a5844e896c
commit 26c102802a
2 changed files with 24 additions and 1 deletions

View File

@ -158,6 +158,23 @@ TEST(pikaMain, a_n1) {
/* assert */
EXPECT_EQ(-2, a);
/* deinit */
obj_deinit(pikaMain);
EXPECT_EQ(pikaMemNow(), 0);
}
TEST(pikaMain, a_l4) {
/* init */
pikaMemInfo.heapUsedMax = 0;
PikaObj* pikaMain = newRootObj((char*)"pikaMain", New_PikaMain);
/* run */
obj_runDirect(pikaMain, (char*)"a = 1<<4\n");
/* collect */
int a = obj_getInt(pikaMain, (char*)"a");
/* assert */
EXPECT_EQ(16, a);
/* deinit */
obj_deinit(pikaMain);
EXPECT_EQ(pikaMemNow(), 0);

View File

@ -295,7 +295,13 @@ Arg* pikaVM_runInstruct(PikaObj* self,
outArg = arg_setInt(outArg, "", num1_i | num2_i);
}
if (strEqu("~", data)) {
outArg = arg_setInt(outArg, "", ~num2_i);
outArg = arg_setInt(outArg, "", ~num1_i);
}
if (strEqu(">>", data)) {
outArg = arg_setInt(outArg, "", num1_i >> num2_i);
}
if (strEqu("<<", data)) {
outArg = arg_setInt(outArg, "", num1_i << num2_i);
}
OPT_exit:
arg_deinit(arg1);