package octez-plompiler
module CS = Csir.CS
module Tables = Csir.Tables
val untag : 'a tagged -> 'a
type arith_desc = {
wires : row array;
linear : Csir.Scalar.t array;
qm : Csir.Scalar.t;
qc : Csir.Scalar.t;
qx5a : Csir.Scalar.t;
qx2b : Csir.Scalar.t;
to_solve : wire;
}
type ed_desc = {
a : Csir.Scalar.t;
d : Csir.Scalar.t;
x1 : int;
y1 : int;
x2 : int;
y2 : int;
x3 : int;
y3 : int;
}
type ed_cond_desc = {
a : Csir.Scalar.t;
d : Csir.Scalar.t;
x1 : int;
y1 : int;
x2 : int;
y2 : int;
bit : int;
x3 : int;
y3 : int;
}
type pos128full_desc = {
x0 : int;
y0 : int;
x1 : int;
y1 : int;
x2 : int;
y2 : int;
k : Csir.Scalar.t array;
variant : Plompiler__.Variants.t;
}
type pos128partial_desc = {
a : int;
b : int;
c : int;
a_5 : int;
b_5 : int;
c_5 : int;
x0 : int;
y0 : int;
x1 : int;
y1 : int;
x2 : int;
y2 : int;
k_cols : Linear_algebra.Make_VectorSpace(Csir.Scalar).matrix array;
variant : Plompiler__.Variants.t;
}
type anemoi_desc = {
x0 : int;
y0 : int;
w : int;
v : int;
x1 : int;
y1 : int;
kx : Csir.Scalar.t;
ky : Csir.Scalar.t;
}
type anemoi_double_desc = {
x0 : int;
y0 : int;
w0 : int;
w1 : int;
y1 : int;
x2 : int;
y2 : int;
kx1 : Csir.Scalar.t;
ky1 : Csir.Scalar.t;
kx2 : Csir.Scalar.t;
ky2 : Csir.Scalar.t;
}
type anemoi_custom_desc = {
x0 : int;
y0 : int;
x1 : int;
y1 : int;
x2 : int;
y2 : int;
kx1 : Csir.Scalar.t;
ky1 : Csir.Scalar.t;
kx2 : Csir.Scalar.t;
ky2 : Csir.Scalar.t;
}
type solver_desc =
| Arith of arith_desc
| Pow5 of pow5_desc
| IsZero of wires_desc
| IsNotZero of wires_desc
| Lookup of lookup_desc
| Ecc_Ws of ws_desc
| Ecc_Ed of ed_desc
| Ecc_Cond_Ed of ed_cond_desc
| Swap of swap_desc
| Skip
| BitsOfS of bits_desc
| Poseidon128Full of pos128full_desc
| Poseidon128Partial of pos128partial_desc
| AnemoiRound of anemoi_desc
| AnemoiDoubleRound of anemoi_double_desc
| AnemoiCustom of anemoi_custom_desc
| Updater of Optimizer.trace_info
val empty_solver : t
val append_solver : solver_desc -> t -> t
val solve : t -> Csir.Scalar.t array -> Csir.Scalar.t array
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>