1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 14:48:14 +00:00

LibJS: Implement Number.isInteger()

This commit is contained in:
Linus Groh 2020-04-26 18:49:23 +01:00 committed by Andreas Kling
parent 7bd6b58b29
commit 14c7988eea
3 changed files with 46 additions and 0 deletions

View file

@ -41,6 +41,7 @@ NumberConstructor::NumberConstructor()
: NativeFunction("Number", *interpreter().global_object().function_prototype())
{
put_native_function("isFinite", is_finite, 1);
put_native_function("isInteger", is_integer, 1);
put_native_function("isNaN", is_nan, 1);
put_native_function("isSafeInteger", is_safe_integer, 1);
@ -80,6 +81,12 @@ Value NumberConstructor::is_finite(Interpreter& interpreter)
return Value(interpreter.argument(0).is_finite_number());
}
Value NumberConstructor::is_integer(Interpreter& interpreter)
{
auto value = interpreter.argument(0);
return Value(value.is_number() && (i32)value.as_double() == value.as_double());
}
Value NumberConstructor::is_nan(Interpreter& interpreter)
{
return Value(interpreter.argument(0).is_nan());