summaryrefslogtreecommitdiff
path: root/src/libzisp.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/libzisp.zig')
-rw-r--r--src/libzisp.zig27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/libzisp.zig b/src/libzisp.zig
index 3a217fd..90508be 100644
--- a/src/libzisp.zig
+++ b/src/libzisp.zig
@@ -1,17 +1,17 @@
-//! By convention, root.zig is the root source file when making a library. If
-//! you are making an executable, the convention is to delete this file and
-//! start with main.zig instead.
-const std = @import("std");
const builtin = @import("builtin");
+const std = @import("std");
+
const testing = std.testing;
+pub const gc = @import("libzisp/gc.zig");
pub const io = @import("libzisp/io.zig");
pub const lib = @import("libzisp/lib.zig");
pub const value = @import("libzisp/value.zig");
+pub const Hval = gc.Hval;
+
pub const ShortString = value.ShortString;
pub const Value = value.Value;
-pub const Hval = value.Hval;
test "double" {
const d1: f64 = 0.123456789;
@@ -46,7 +46,7 @@ test "fixnum" {
test "ptr" {
const ptr = value.ptr;
- const val: [*]Hval = @ptrFromInt(256);
+ const val: *Hval = @ptrFromInt(256);
const tag = ptr.Tag.pair;
const p = ptr.pack(val, tag);
@@ -310,12 +310,15 @@ test "parse3" {
const car = value.pair.car;
const cdr = value.pair.cdr;
- // const e1 = car(val);
+ const e1 = car(val);
const e2 = car(cdr(val));
- // const e3 = car(cdr(cdr(val)));
- // const e4 = car(cdr(cdr(cdr(val))));
+ const e3 = car(cdr(cdr(val)));
+ const e4 = car(cdr(cdr(cdr(val))));
+ try std.testing.expect(value.sstr.check(e1));
try std.testing.expect(value.rune.check(e2));
+ try std.testing.expect(value.pair.check(e3));
+ try std.testing.expect(value.pair.check(e4));
}
test "parse4" {
@@ -329,11 +332,7 @@ test "parse4" {
}
fn parseBench(path: []const u8) !void {
- const iters = switch (@import("builtin").mode) {
- .Debug, .ReleaseSmall => 1000,
- .ReleaseSafe => 10_000,
- .ReleaseFast => 100_000,
- };
+ const iters = 1000;
var buf: [8196]u8 = undefined;
const file = try std.fs.cwd().openFile(path, .{});