Repository navigation
Expand file tree
/
Copy pathmod.zig
More file actions
48 lines (46 loc) · 1.99 KB
/
Copy pathmod.zig
File metadata and controls
48 lines (46 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
pub const blake = @import("blake.zig");
pub const plonk = @import("plonk.zig");
pub const plonk_logup = @import("plonk_logup.zig");
pub const poseidon = @import("poseidon.zig");
pub const state_machine = @import("state_machine.zig");
pub const wide_fibonacci = @import("wide_fibonacci.zig");
pub const xor = @import("xor.zig");
/// Narrow implementation hooks consumed by concrete accelerator integrations.
/// Public application APIs remain the seven modules above; backend packages
/// depend on these named hooks instead of reaching through owner-relative paths.
pub const backend_support = struct {
pub const plonk = struct {
pub const input = @import("plonk/input.zig");
};
pub const plonk_logup = struct {
pub const component = @import("plonk_logup/component.zig");
pub const input = @import("plonk_logup/input.zig");
pub const interaction = @import("plonk_logup/interaction.zig");
};
pub const poseidon = struct {
pub const component = @import("poseidon/component.zig");
pub const input = @import("poseidon/input.zig");
pub const interaction = @import("poseidon/interaction.zig");
};
pub const state_machine = struct {
pub const input = @import("state_machine/input.zig");
pub const statement = @import("state_machine/statement.zig");
};
pub const wide_fibonacci = struct {
pub const trace = @import("wide_fibonacci/trace.zig");
};
pub const xor = struct {
pub const component = @import("xor/component.zig");
pub const input = @import("xor/input.zig");
pub const interaction = @import("xor/interaction.zig");
};
};
test "api signature: Native example modules expose proving entry points" {
comptime {
for (.{ blake, plonk, plonk_logup, poseidon, state_machine, wide_fibonacci, xor }) |example| {
if (!@hasDecl(example, "prove")) {
@compileError("Native example module is missing its prove entry point");
}
}
}
}