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) {
37 fprintf(stderr,
"Runtime type error: ROUND expects number, got %s\n", value_type_name(
v.type));
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.