Skip to content

Commit 82d09da

Browse files
committed
Add more examples
1 parent f5dc0de commit 82d09da

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

src/builder/var.rs

+16-6
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,17 @@ use crate::builder::CanBeAddedToModel;
22
use crate::{Model, ModelWithProblem, ProblemCreated, VarType, Variable};
33
use std::ops::RangeBounds;
44

5-
/// A builder for variables.
5+
/// A builder for variables. It can be easily created using the `var` function.
6+
///
7+
/// # Example
8+
///
9+
/// ```rust
10+
/// use russcip::prelude::*;
11+
///
12+
/// let integer_var = var().name("x").int(0..=10); // Integer variable with bounds [0, 10]
13+
/// let binary_var = var().name("y").bin(); // Binary variable
14+
/// let continuous_var = var().name("z").cont(0.0..); // Continuous variable with lower bound 0.0
15+
/// ```
616
pub struct VarBuilder<'a> {
717
name: Option<&'a str>,
818
obj: f64,
@@ -175,7 +185,7 @@ mod tests {
175185

176186
#[test]
177187
fn test_var_builder() {
178-
let var = VarBuilder::default().name("x").obj(1.0).cont(0.0..1.0);
188+
let var = VarBuilder::default().name("x").obj(1.0).cont(0.0..=1.0);
179189

180190
assert_eq!(var.name, Some("x"));
181191
assert_eq!(var.obj, 1.0);
@@ -186,7 +196,7 @@ mod tests {
186196
#[test]
187197
fn test_var_builder_add() {
188198
let mut model = Model::default().set_obj_sense(crate::ObjSense::Maximize);
189-
let var = var().name("x").obj(1.0).cont(0.0..1.0);
199+
let var = var().name("x").obj(1.0).cont(0.0..=1.0);
190200

191201
let var = model.add(var);
192202

@@ -205,9 +215,9 @@ mod tests {
205215
fn test_var_add_all() {
206216
let mut model = Model::default().set_obj_sense(crate::ObjSense::Maximize);
207217
let vars = vec![
208-
var().name("1").obj(1.0).cont(0.0..1.0),
209-
var().name("2").obj(1.0).cont(0.0..1.0),
210-
var().name("3").obj(1.0).cont(0.0..1.0),
218+
var().name("1").obj(1.0).cont(0.0..=1.0),
219+
var().name("2").obj(1.0).cont(0.0..=1.0),
220+
var().name("3").obj(1.0).cont(0.0..=1.0),
211221
];
212222

213223
let vars = model.add(vars);

src/lib.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
//! use russcip::prelude::*;
99
//!
1010
//! let mut model = Model::default().minimize();
11-
//! let x = model.add(var().binary().obj(1.0));
12-
//! let y = model.add(var().binary().obj(2.0));
11+
//! let x = model.add(var().bin().obj(1.0));
12+
//! let y = model.add(var().bin().obj(2.0));
1313
//! model.add(cons().coef(&x, 1.0).coef(&y, 1.0).eq(1.0));
1414
//!
1515
//! let solved = model.solve();

0 commit comments

Comments
 (0)