mirror of
https://github.com/powdr-labs/powdr.git
synced 2026-01-08 22:58:20 -05:00
This PR refactors `QuadraticSymbolicExpression`: I removed the reference to [`SymbolicExpression`](f60e9d9f69/constraint-solver/src/quadratic_symbolic_expression.rs (L70)). It can represent values that are known at runtime, represented as an expression. We don't need this in the context of APC: Variables are either unknown or known at compile time, and therefore can be represented as a `FieldElement` instead. The idea is to introduce [this trait](4989be08f3/constraint-solver/src/runtime_constant.rs (L11)), which is implemented by `SymbolicExpression` and any `T: FieldElement`. This way, we can continue to use the solver with `QuadraticSymbolicExpression<SymbolicExpression<T, V>, V>` (equivalent to the current `QuadraticSymbolicExpression<T, V>`) in the old JIT pipeline and use the simpler `QuadraticSymbolicExpression<T, V>` in the APC pipeline. --------- Co-authored-by: chriseth <chriseth.github@gmail.com>
27 lines
539 B
TOML
27 lines
539 B
TOML
[package]
|
|
name = "powdr-autoprecompiles"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
homepage.workspace = true
|
|
repository.workspace = true
|
|
|
|
[dependencies]
|
|
powdr-expression.workspace = true
|
|
powdr-number.workspace = true
|
|
powdr-constraint-solver.workspace = true
|
|
|
|
itertools = "0.13"
|
|
log = "0.4.18"
|
|
num-traits = "0.2.15"
|
|
serde = "1.0.218"
|
|
|
|
[package.metadata.cargo-udeps.ignore]
|
|
development = ["env_logger"]
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
bench = false # See https://github.com/bheisler/criterion.rs/issues/458
|