21 if (args[0].isFloat())
22 return Value(
static_cast<int64_t
>(args[0].asFloat()));
23 if (args[0].isString())
27 return static_cast<int64_t
>(std::stoll(args[0].asString()));
35 return args[0].asBool() ? 1 : 0;
42 return args[0].asFloat();
48 return args[0].toString();
57 return args[0].asInt() != 0;
58 if (args[0].isString())
59 return !args[0].asString().empty();
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 registerTypeConvFunctions(const std::vector< Value > &args, VM *vm)
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.