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
//! # CNVX Core
//!
//! This crate provides the core types and abstractions for defining and solving
//! optimization problems. It is independent of any particular solver implementation
//! (e.g., simplex, interior point), and contains the building blocks for variables,
//! constraints, objectives, and solutions.
//!
//! # Modules
//!
//! - [`constraint`]: Defines linear constraints and comparison operators ([`Eq`](Cmp::Eq), [`Leq`](Cmp::Leq), [`Geq`](Cmp::Geq)).
//! - [`expr`]: Linear expressions ([`LinExpr`]) and terms ([`LinTerm`]) for building objectives and constraints.
//! - [`model`]: The [`Model`] struct, containing variables, constraints, and objectives.
//! - [`objective`]: Objective functions ([`Objective`]) and builder API.
//! - [`solution`]: Solution results ([`Solution`]) and methods for accessing variable values.
//! - [`solver`]: The [`Solver`] trait for solver implementations.
//! - [`status`]: Solver statuses ([`SolveStatus`]) such as [`Optimal`](SolveStatus::Optimal) or [`Infeasible`](SolveStatus::Infeasible).
//! - [`var`]: Variable types ([`Var`], [`VarId`]) and builder API ([`VarBuilder`]).
// TODO: Consider moving LP-specific logic into `cnvx-core/lp`
// to allow non-LP models (e.g., SAT or other problem types) to remain separate.
// Re-export all submodules for easy access via `cnvx_core::*`
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;