19 if (args[0].isFloat())
20 return Value(
static_cast<int64_t
>(args[0].asFloat()));
21 if (args[0].isString())
25 return static_cast<int64_t
>(std::stoll(args[0].asString()));
33 return args[0].asBool() ? 1 : 0;
40 return args[0].asFloat();
46 return args[0].toString();
55 return args[0].asInt() != 0;
56 if (args[0].isString())
57 return !args[0].asString().empty();
static void registerTypeConvFunctions(VM *vm)
static void checkArgCount(const std::vector< Value > &args, size_t minimumArguments, const std::string &name, bool allowMoreArguments=false)
static Value to_int(const std::vector< Value > &args, VM *vm)
Convert to integer.
static Value to_float(const std::vector< Value > &args, VM *vm)
Convert to float.
static Value to_bool(const std::vector< Value > &args, VM *vm)
Convert to boolean.
static Value to_string(const std::vector< Value > &args, VM *vm)
Convert to string.
void registerNativeFunction(const std::string &name, NativeFunction fn)
Register a native function.
A value in the Phasor VM.
The Phasor Programming Language and Runtime.