diff options
Diffstat (limited to 'src/libzisp/value/double.zig')
| -rw-r--r-- | src/libzisp/value/double.zig | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/src/libzisp/value/double.zig b/src/libzisp/value/double.zig deleted file mode 100644 index 5cfe6ee..0000000 --- a/src/libzisp/value/double.zig +++ /dev/null @@ -1,38 +0,0 @@ -const value = @import("../value.zig"); -const Value = value.Value; - -// Zig API - -/// Checks for a Zisp double (double, +inf, -inf, or canonical NaN). -pub fn check(v: Value) bool { - return v.isDouble(); -} - -/// Asserts check(). -pub fn assert(v: Value) void { - if (!check(v)) { - v.dump(); - @panic("not double"); - } -} - -pub fn pack(d: f64) Value { - return .{ .double = d }; -} - -pub fn unpack(v: Value) f64 { - assert(v); - return v.double; -} - -// Zisp API - -pub fn pred(v: Value) Value { - return value.boole.pack(check(v)); -} - -pub fn add(v1: Value, v2: Value) Value { - const d1 = unpack(v1); - const d2 = unpack(v2); - return pack(d1 + d2); -} |
