19 return args[0].asInt();
20 if (args[0].isFloat())
21 return static_cast<i64>(args[0].asFloat());
22 if (args[0].isString())
26 return static_cast<i64>(std::stoll(args[0].asString()));
34 return args[0].asBool() ? 1 : 0;
41 return args[0].asFloat();
47 return args[0].toString();
53 return args[0].isTruthy();
static f64 to_float(const std::vector< Value > &args, VM *vm)
Convert to float.
static void registerTypeConvFunctions(VM *vm)
static void checkArgCount(const std::vector< Value > &args, size_t minimumArguments, const std::string &name, bool allowMoreArguments=false)
static PhsString to_string(const std::vector< Value > &args, VM *vm)
Convert to string.
static bool to_bool(const std::vector< Value > &args, VM *vm)
Convert to boolean.
static i64 to_int(const std::vector< Value > &args, VM *vm)
Convert to integer.
void registerNativeFunction(const std::string &name, NativeFunction fn)
Register a native function.
The Phasor Programming Language and Runtime.