/* // Full copyright information is available in the file ../doc/CREDITS */ #define NATIVE_MODULE "$integer" #include "cdc.h" NATIVE_METHOD(and) { Int val; INIT_2_ARGS(INTEGER, INTEGER); val = (Int) INT1 & INT2; CLEAN_RETURN_INTEGER(val); } NATIVE_METHOD(or) { Int val; INIT_2_ARGS(INTEGER, INTEGER); val = (Int) INT1 | INT2; CLEAN_RETURN_INTEGER(val); } NATIVE_METHOD(xor) { Int val; INIT_2_ARGS(INTEGER, INTEGER); val = (Int) INT1 ^ INT2; CLEAN_RETURN_INTEGER(val); } NATIVE_METHOD(shleft) { Int val; INIT_2_ARGS(INTEGER, INTEGER); val = (Int) INT1 << INT2; CLEAN_RETURN_INTEGER(val); } NATIVE_METHOD(shright) { Int val; INIT_2_ARGS(INTEGER, INTEGER); val = (Int) INT1 >> INT2; CLEAN_RETURN_INTEGER(val); } NATIVE_METHOD(not) { Int val; INIT_1_ARG(INTEGER); val = (Int) ~ INT1; CLEAN_RETURN_INTEGER(val); }