Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/chyanju/picus
/ functions
Functions
4,080 in github.com/chyanju/picus
⨍
Functions
4,080
◇
Types & classes
283
↓ 842 callers
Method
iter
(&self)
crates/picus-core/src/poly.rs:242
↓ 732 callers
Method
clone
(&self)
crates/picus-core/src/ff/field.rs:176
↓ 702 callers
Method
map
(&self, n: i64)
crates/picus-core/src/ff/field.rs:938
↓ 659 callers
Method
var
(self)
crates/picus-solver/src/sat/lit.rs:35
↓ 452 callers
Method
field
The prime field, read from the shared ring context.
crates/picus-core/src/poly.rs:59
↓ 431 callers
Method
sub
(&self, other: &Self, field: &PrimeField)
crates/picus-solver/src/ff/univariate.rs:86
↓ 409 callers
Method
len
(&self)
crates/picus-solver/src/sat/clause.rs:62
↓ 339 callers
Method
var
Intern a variable name, returning its index. Repeated calls with the same name return the same index.
crates/picus-solver/src/frontend/encoder/constraint_system.rs:86
↓ 326 callers
Method
push
Save a checkpoint. Subsequent `pop` returns to this state.
crates/picus-solver/src/gb/incremental.rs:65
↓ 323 callers
Method
mul
Polynomial multiplication: returns `self * other`. Per-pair `i64::saturating_mul` followed by per-cell `i64::saturating_add`.
crates/picus-solver/src/ff/hilbert.rs:132
↓ 302 callers
Method
from_int
(&self, n: i64)
crates/picus-core/src/ff/field.rs:727
↓ 253 callers
Method
constant
Build a `Poly` representing the constant `c`.
crates/picus-smt/src/poly_ir.rs:136
↓ 193 callers
Method
one
The constant polynomial `1`.
crates/picus-solver/src/ff/hilbert.rs:56
↓ 192 callers
Method
push
Save a checkpoint for backtracking. Clones the surviving basis elements (with their polynomial bodies) and the open S-pair queue, so cost is O(sum of
crates/picus-solver/src/ff/buchberger/incremental.rs:134
↓ 185 callers
Method
clone_poly
(&self, p: &Poly)
crates/picus-core/src/poly.rs:82
↓ 148 callers
Method
add
(&self, other: &Self, field: &PrimeField)
crates/picus-solver/src/ff/univariate.rs:69
↓ 148 callers
Method
is_zero
(&self)
crates/picus-solver/src/ff/hilbert.rs:73
↓ 141 callers
Method
is_empty
(&self)
crates/picus-core/src/poly.rs:240
↓ 133 callers
Method
get
(&self, cref: ClauseRef)
crates/picus-solver/src/sat/clause.rs:50
↓ 132 callers
Method
into_iter
(self)
crates/picus-core/src/poly.rs:245
↓ 128 callers
Method
len
(&self)
crates/picus-core/src/poly.rs:241
↓ 120 callers
Method
from_u64
(&self, v: u64)
crates/picus-core/src/ff/field.rs:319
↓ 120 callers
Method
len
Number of divisors the index was built over.
crates/picus-core/src/ff/polynomial.rs:466
↓ 118 callers
Method
scale
(&self, c: &FieldElem, field: &PrimeField)
crates/picus-solver/src/ff/univariate.rs:126
↓ 104 callers
Method
var
i-th indeterminate as a polynomial.
crates/picus-core/src/poly.rs:66
↓ 103 callers
Method
clone_el
(&self, p: &Poly)
crates/picus-core/src/poly.rs:181
↓ 98 callers
Method
push
(&mut self)
crates/picus-solver/src/smt2/session.rs:321
↓ 95 callers
Method
add_equality
(&mut self, terms: Vec<PolyTerm>)
crates/picus-solver/src/frontend/encoder/constraint_system.rs:119
↓ 90 callers
Function
r1cs_to_poly_ir
Construct a [`PolyIR`] from a parsed R1CS file in a single pass over the constraint blocks: each `A * B = C` constraint becomes one polynomial equalit
crates/picus-smt/src/poly_ir.rs:227
↓ 83 callers
Method
build
(self)
crates/picus-solver/src/frontend/encoder/constraint_system.rs:167
↓ 83 callers
Method
notify_fact
(&mut self, atom: Var, polarity: bool)
crates/picus-solver/src/cdclt/ff_theory.rs:362
↓ 83 callers
Method
ptr
Raw pointer for read-only access.
crates/cvc5-ff/src/term_manager.rs:36
↓ 82 callers
Method
add
(&self, a: Poly, b: Poly)
crates/picus-core/src/poly.rs:78
↓ 82 callers
Method
add
(&mut self, clause: Clause)
crates/picus-solver/src/sat/clause.rs:44
↓ 77 callers
Method
mul
Multiply the signature's monomial by `m` (the S-poly cofactor).
crates/picus-solver/src/ff/buchberger/signature.rs:30
↓ 74 callers
Method
is_cancelled
(&self)
crates/picus-core/src/timeout.rs:80
↓ 70 callers
Method
mul
(&self, a: &FieldElem, b: &FieldElem)
crates/picus-core/src/ff/field.rs:453
↓ 67 callers
Method
compute
( &self, pr: &FfPolyRing, gens: Vec<Poly>, cancel: &CancelToken, order
crates/picus-solver/src/gb/ideal/engine.rs:88
↓ 66 callers
Method
index
(self)
crates/picus-solver/src/sat/lit.rs:8
↓ 64 callers
Method
run
(&mut self, ir: &PolyIR, ctx: &mut PropagationCtx)
crates/picus-analysis/src/propagation/bim.rs:29
↓ 62 callers
Function
solve_formula
Solve a `Formula` over GF(`prime`) via CDCL(T) with the FF theory. `var_names` is the producing builder's variable frame (used by the SAT-side atom ta
crates/picus-solver/src/cdclt/orchestrator.rs:32
↓ 60 callers
Method
sort
Get the sort of this term.
crates/cvc5-ff/src/term.rs:56
↓ 58 callers
Method
exponents
(&self)
crates/picus-core/src/ff/monomial.rs:68
↓ 54 callers
Method
add_bitsum
Register a known bitsum (variable indices, lowest bit first).
crates/picus-solver/src/frontend/bitprop.rs:58
↓ 54 callers
Method
zero
The zero polynomial.
crates/picus-solver/src/ff/hilbert.rs:51
↓ 52 callers
Function
intern_eq_var
Atom variable for `(= var const)` over the given table + SAT.
crates/picus-solver/src/cdclt/ff_theory_tests.rs:34
↓ 52 callers
Function
sm
(exps: Vec<u16>)
crates/picus-core/src/ff/sparse_monomial_tests.rs:15
↓ 50 callers
Function
encode
Encode a [`ConstraintSystem`] into polynomials. Pre-encode pipeline: 1. `compact_used_vars`: drop variables from `var_names` that no equality / diseq
crates/picus-solver/src/frontend/encoder.rs:126
↓ 50 callers
Function
parse_boolean
Parse an SMT-LIB v2 QF_FF source with full Boolean structure.
crates/picus-solver/src/smt2/mod.rs:1145
↓ 49 callers
Method
contains
Ideal membership: returns `true` iff `p ∈ I`.
crates/picus-solver/src/gb/ideal.rs:184
↓ 49 callers
Method
new_var
Allocate a fresh propositional variable.
crates/picus-solver/src/sat/solver.rs:116
↓ 48 callers
Method
leading_monomial
(&self, ring: &PolyRing)
crates/picus-core/src/ff/polynomial.rs:202
↓ 47 callers
Function
cross_validate
Returns (cdclt_verdict, dnf_verdict). Asserts both paths return the same verdict; panics with a diagnostic if they disagree.
crates/picus-solver/tests/cdclt_vs_dnf_parity.rs:35
↓ 47 callers
Method
eval_script
Parse and evaluate every top-level S-expression in `src`, returning the outputs of every non-silent command in order. Processing stops as soon as `(ex
crates/picus-solver/src/smt2/session.rs:127
↓ 46 callers
Function
vars
(s: &mut Solver, n: usize)
crates/picus-solver/src/sat/solver_tests.rs:34
↓ 46 callers
Function
x
(idx: usize, ring: &Arc<PolyRing>)
crates/picus-solver/src/ff/f4/tests.rs:14
↓ 44 callers
Method
add
(&self, a: &FieldElem, b: &FieldElem)
crates/picus-core/src/ff/field.rs:371
↓ 44 callers
Function
split_gb
Compute a split GB from scratch. `generator_sets[i]` is the initial generator set for partition `i`. On cancel, falls back to an empty split GB (one
crates/picus-solver/src/split_gb/fixpoint.rs:41
↓ 44 callers
Method
to_biguint
(&self, e: &FieldElem)
crates/picus-core/src/ff/field.rs:367
↓ 43 callers
Method
from_biguint
(&self, v: &BigUint)
crates/picus-core/src/ff/field.rs:349
↓ 42 callers
Function
lt
(p: &DensePoly, ring: &Arc<PolyRing>)
crates/picus-solver/src/ff/f4/tests.rs:18
↓ 42 callers
Function
mono
(exps: &[u16])
crates/picus-core/src/ff/monomial_tests.rs:3
↓ 42 callers
Method
num_terms
(&self)
crates/picus-core/src/ff/polynomial.rs:175
↓ 42 callers
Method
reduce_by_refs
(&self, divisors: &[&Polynomial], ring: &PolyRing)
crates/picus-core/src/ff/polynomial.rs:263
↓ 42 callers
Method
total_degree
(&self)
crates/picus-core/src/ff/monomial.rs:78
↓ 41 callers
Function
list
(items: Vec<Sexpr>)
crates/picus-solver/src/smt2/tests.rs:615
↓ 41 callers
Function
names
(ns: &[&str])
crates/picus-solver/src/cdclt/orchestrator_tests.rs:20
↓ 41 callers
Method
solve
Run CDCL to completion. Returns `Sat` once every variable has a value, `Unsat` on a root-level conflict, or `Unknown` if an external limit (none defin
crates/picus-solver/src/sat/solver.rs:740
↓ 40 callers
Function
parse
Parse an SMT-LIB v2 QF_FF source and produce a [`ConstraintSystem`]. Threads a single `ConstraintSystemBuilder` through `build_poly` so each variable
crates/picus-solver/src/smt2/mod.rs:476
↓ 38 callers
Method
add_bit
Mark `var` as bit-constrained.
crates/picus-solver/src/frontend/bitprop.rs:55
↓ 38 callers
Function
build
()
crates/picus-solver/src/sat/solver_tests.rs:1125
↓ 37 callers
Method
cmp
Compare under the ring order: index-major (a higher module index dominates), then the monomial order on the multiplier.
crates/picus-solver/src/ff/buchberger/signature.rs:36
↓ 37 callers
Function
interreduce
Inter-reduce a basis into the canonical reduced Gröbner basis: drop zeros, collapse to `{1}` if the ideal is the whole ring, make every element monic,
crates/picus-solver/src/ff/sparse_gb.rs:355
↓ 37 callers
Method
mul
(&self, a: Poly, b: Poly)
crates/picus-core/src/poly.rs:80
↓ 37 callers
Function
ring
(n_vars: usize)
crates/picus-solver/src/ff/buchberger/tests.rs:4
↓ 37 callers
Function
small_primes
Build a small set of representative field elements covering 0, 1, the multiplicative generator-region (small ints), and `p - 1` (== -1 mod p). Pure: n
crates/picus-core/src/ff/field_tests.rs:165
↓ 36 callers
Method
add_generators
( &mut self, generators: Vec<DensePoly>, observer: &mut O, )
crates/picus-solver/src/ff/buchberger/mod.rs:426
↓ 36 callers
Function
ir_fresh
Build a fresh PolyIR with `n_wires` wires under prime `p`, then drop the equalities so callers can inject exactly the polys they want to test. Wire-0
crates/picus-analysis/src/propagation/basis2/compconstant_tests.rs:449
↓ 36 callers
Method
n_vars
(&self)
crates/picus-solver/src/sat/solver.rs:262
↓ 36 callers
Method
push
Save a checkpoint matching a SAT push.
crates/picus-solver/src/cdclt/equality_engine.rs:216
↓ 36 callers
Function
ring_with
(prime: u64, n_vars: usize, order: MonomialOrder)
crates/picus-core/src/ff/sparse_polynomial_tests.rs:15
↓ 35 callers
Function
small_ring
()
crates/picus-core/src/ff/polynomial/tests.rs:4
↓ 35 callers
Function
split_find_zero
Encode `(orig_polys, bitsums)` into a split GB, run the propagation fixpoint, then [`split_zero_extend`] to extract a model.
crates/picus-solver/src/split_gb/mod.rs:258
↓ 34 callers
Method
div
(&self, a: &FieldElem, b: &FieldElem)
crates/picus-core/src/ff/field.rs:590
↓ 34 callers
Function
ff
(p: u32)
crates/picus-solver/src/frontend/bitprop_tests.rs:5
↓ 34 callers
Method
get_bit_equalities
Derive new equalities (as polynomials whose `=0` form is asserted) from the structure of the bitsums and the current GB. See cvc5's `BitProp::getBitE
crates/picus-solver/src/frontend/bitprop.rs:103
↓ 34 callers
Function
t
Construct a single-name-keyed term list `coeff * x` for var index 0 (the test's only variable). `vars = &[]` yields a constant term.
crates/picus-solver/src/cdclt/atoms_tests.rs:16
↓ 33 callers
Method
all
Every registered lemma enabled.
crates/picus-analysis/src/dpvl.rs:57
↓ 33 callers
Function
from_exps
(e: Vec<u16>)
crates/picus-solver/src/ff/hilbert_tests.rs:7
↓ 33 callers
Method
intern_eq
Intern an equality atom and return the SAT variable that represents it. Repeated calls with equivalent canonical polynomials return the same variable.
crates/picus-solver/src/cdclt/atoms.rs:265
↓ 33 callers
Function
p7
GF(7) prime.
crates/picus-smt/src/poly_ir_tests.rs:64
↓ 33 callers
Method
post_check
(&mut self)
crates/picus-solver/src/cdclt/ff_theory.rs:382
↓ 32 callers
Method
var_names
(&self)
crates/picus-solver/src/boolean.rs:193
↓ 32 callers
Function
with
Read a snapshot of the current thread's config.
crates/picus-core/src/config.rs:407
↓ 31 callers
Function
groebner_basis
A Gröbner basis of the ideal generated by `gens` (Buchberger with the product / Gebauer-Möller M / B criteria and sugar selection). The result is a —
crates/picus-solver/src/ff/sparse_gb.rs:316
↓ 30 callers
Method
add_disequality
(&mut self, a: VarIdx, b: VarIdx)
crates/picus-solver/src/frontend/encoder/constraint_system.rs:123
↓ 30 callers
Method
next
(&mut self, field: &PrimeField)
crates/picus-solver/src/gb/brancher.rs:59
↓ 30 callers
Function
sp
(items: Vec<(Vec<u16>, i64)>, r: &PolyRing)
crates/picus-core/src/ff/sparse_geobucket_tests.rs:32
↓ 29 callers
Method
atom
Look up the canonical atom for a SAT variable. Returns `None` for auxiliary variables (Tseitin or other) and out-of-range indices.
crates/picus-solver/src/cdclt/atoms.rs:302
↓ 29 callers
Function
ff
(p: u32)
crates/picus-solver/src/core_tests.rs:4
next →
1–100 of 4,080, ranked by callers