#[doc(hidden)]
pub use crate::utils::*;
pub use crate::variables::*;
pub use crate::model::*;
pub use crate::core::*;
pub use crate::constraints::*;
pub use crate::search::*;
pub use crate::runtime_api::{ExprBuilder, Constraint, Builder, VarIdExt, ModelExt, ConstraintVecExt, and_all, or_all, all_of, any_of};
pub use crate::constraints::functions::{
add, sub, mul, div, modulo,
eq, ne, lt, le, gt, ge,
eq_reif, ne_reif, lt_reif, le_reif, gt_reif, ge_reif,
lin_eq, lin_le, lin_ne,
lin_eq_reif, lin_le_reif, lin_ne_reif,
LinearCoeff, alldiff, alleq, min, max, sum, abs,
and, or, not, xor, implies,
element, table, gcc, cumulative,
int2float, bool2int, floor, ceil, round,
};
pub const fn int(value: i32) -> crate::variables::Val {
crate::variables::Val::int(value)
}
pub const fn float(value: f64) -> crate::variables::Val {
crate::variables::Val::float(value)
}
pub const fn bool(value: bool) -> crate::variables::Val {
crate::variables::Val::bool(value)
}