mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 15:38:10 +00:00
LibJS: Implement bitwise right shift operator (>>)
This commit is contained in:
parent
f0e7404480
commit
502d1f5165
5 changed files with 88 additions and 1 deletions
|
@ -264,7 +264,13 @@ Value left_shift(Interpreter&, Value lhs, Value rhs)
|
|||
|
||||
Value right_shift(Interpreter&, Value lhs, Value rhs)
|
||||
{
|
||||
return Value((i32)lhs.to_number().as_double() >> (i32)rhs.to_number().as_double());
|
||||
auto lhs_number = lhs.to_number();
|
||||
if (!lhs_number.is_finite_number())
|
||||
return Value(0);
|
||||
auto rhs_number = rhs.to_number();
|
||||
if (!rhs_number.is_finite_number())
|
||||
return lhs_number;
|
||||
return Value((i32)lhs_number.as_double() >> (i32)rhs_number.as_double());
|
||||
}
|
||||
|
||||
Value add(Interpreter& interpreter, Value lhs, Value rhs)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue