24 double r = round(
v.d);
25 if (
r >= (
double)INT64_MIN &&
r <= (
double)INT64_MAX) {
26 int64_t ii = (int64_t)
r;
27 if ((
double)ii ==
r) {
Tagged union representing a Fun value.
void free_value(Value v)
Free dynamic storage owned by a Value.
Value make_float(double v)
Construct a Value representing a double-precision float.
Value make_int(int64_t v)
Construct a Value representing a 64-bit integer.
static Value pop_value(VM *vm)
Pop a Value from the VM operand stack.
static const char * value_type_name(ValueType t)
Get a human-readable name for a ValueType.
static void push_value(VM *vm, Value v)
Push a Value onto the VM operand stack.