diff --git a/src/wren_core.c b/src/wren_core.c index d84abad9..c4f4ea90 100644 --- a/src/wren_core.c +++ b/src/wren_core.c @@ -878,6 +878,11 @@ DEF_PRIMITIVE(num_cos) RETURN_NUM(cos(AS_NUM(args[0]))); } +DEF_PRIMITIVE(num_deg) +{ + RETURN_NUM(floor(AS_NUM(args[0]) * 57.2957795130823208768)); +} + DEF_PRIMITIVE(num_floor) { RETURN_NUM(floor(AS_NUM(args[0]))); @@ -888,6 +893,11 @@ DEF_PRIMITIVE(num_isNan) RETURN_BOOL(isnan(AS_NUM(args[0]))); } +DEF_PRIMITIVE(num_rad) +{ + RETURN_NUM(floor(AS_NUM(args[0]) / 57.2957795130823208768)); +} + DEF_PRIMITIVE(num_sin) { RETURN_NUM(sin(AS_NUM(args[0]))); @@ -1514,8 +1524,10 @@ void wrenInitializeCore(WrenVM* vm) PRIMITIVE(vm->numClass, "abs", num_abs); PRIMITIVE(vm->numClass, "ceil", num_ceil); PRIMITIVE(vm->numClass, "cos", num_cos); + PRIMITIVE(vm->numClass, "deg", num_deg); PRIMITIVE(vm->numClass, "floor", num_floor); PRIMITIVE(vm->numClass, "isNan", num_isNan); + PRIMITIVE(vm->numClass, "rad", num_rad); PRIMITIVE(vm->numClass, "sin", num_sin); PRIMITIVE(vm->numClass, "sqrt", num_sqrt); PRIMITIVE(vm->numClass, "toString", num_toString);