Update #4202: Add shift operator bshl and bshr for integers (#5928)

* Update #4202: Add shift operator bshl and bshr for integers

* Add more tests
This commit is contained in:
Justin Ma
2022-07-02 19:48:43 +08:00
committed by GitHub
parent 3b357e5402
commit 3917fda7ed
8 changed files with 94 additions and 0 deletions

View File

@ -438,6 +438,14 @@ pub fn eval_expression(
let rhs = eval_expression(engine_state, stack, rhs)?;
lhs.ends_with(op_span, &rhs, expr.span)
}
Operator::ShiftRight => {
let rhs = eval_expression(engine_state, stack, rhs)?;
lhs.bshr(op_span, &rhs, expr.span)
}
Operator::ShiftLeft => {
let rhs = eval_expression(engine_state, stack, rhs)?;
lhs.bshl(op_span, &rhs, expr.span)
}
}
}
Expr::Subexpression(block_id) => {