tiny.choir.ir.interfaces.Evaluatable
Defined in ir.interfaces.
API (8)
Actions
Public operations.
Types and contracts
Public types and contracts.
Values and defaults
Public values and defaults.
Source
Source: lib/choir/src/core/interfaces/ops.zig:1375
zig
pub const Evaluatable = struct { pub const interface_name = "ir.interface.evaluatable"; pub const id: InterfaceId = base.interfaceId(interface_name); pub const VTable = struct { canEval: *const fn (op: *const anyopaque) bool, evaluate: *const fn ( op: *const anyopaque, operands: []const IrAttribute, ctx: *const EvalContext, ) EvalError!IrAttribute, }; pub fn entry(vtable: *const VTable) InterfaceEntry { return .{ .id = id, .vtable = vtable }; } pub fn vtableFor( comptime can_eval: *const fn (op: *const anyopaque) bool, comptime evaluate: *const fn ( op: *const anyopaque, operands: []const IrAttribute, ctx: *const EvalContext, ) EvalError!IrAttribute, ) *const VTable { return &.{ .canEval = can_eval, .evaluate = evaluate, }; } pub fn entryFor( comptime can_eval: *const fn (op: *const anyopaque) bool, comptime evaluate: *const fn ( op: *const anyopaque, operands: []const IrAttribute, ctx: *const EvalContext, ) EvalError!IrAttribute, ) InterfaceEntry { return entry(vtableFor(can_eval, evaluate)); } pub fn canAlwaysFold(_: *const anyopaque) bool { return true; } pub fn canNeverFold(_: *const anyopaque) bool { return false; }};Source: lib/choir/src/core/interfaces/root.zig:56
zig
pub const Evaluatable = ops.Evaluatable;Also reachable as
backends.wasm.emission.module_encoding.common.ir.interfaces.Evaluatable.
Audit
| Definitions | 9 |
|---|---|
| Public names | 18 |
| Members | 2 |
| Version | 26.7.0 |
| Revision | daab053ee433 |