5 releases

0.0.5 Feb 28, 2022
0.0.4 Jun 2, 2021
0.0.3 Jun 1, 2021
0.0.2 Jun 1, 2021
0.0.1 May 31, 2021

#851 in Data structures

Download history 122/week @ 2023-12-07 111/week @ 2023-12-14 127/week @ 2023-12-21 80/week @ 2023-12-28 98/week @ 2024-01-04 88/week @ 2024-01-11 118/week @ 2024-01-18 104/week @ 2024-01-25 107/week @ 2024-02-01 140/week @ 2024-02-08 116/week @ 2024-02-15 148/week @ 2024-02-22 139/week @ 2024-02-29 137/week @ 2024-03-07 111/week @ 2024-03-14 90/week @ 2024-03-21

516 downloads per month
Used in 3 crates (2 directly)

MIT/Apache

75KB
1.5K SLoC

intervals-rs

A Rust crate for intervals.

Workflow Status crates.io docs.rs dependency status tokei

Install to Cargo.toml

Add this to your Cargo.toml:

[dependencies]
intervals-rs = "<<version>>"

Usage

  • open interval
let range = Interval::over(
  LimitValue::Limit(Decimal::from_f32(-5.5).unwrap()),
  false,
  LimitValue::Limit(Decimal::from_f32(6.6).unwrap()),
  true,
);
assert!(range.includes(&LimitValue::Limit(Decimal::from_f32(5.0).unwrap())));
assert!(!range.includes(&LimitValue::Limit(Decimal::from_f32(-5.5).unwrap())));
assert!(range.includes(&LimitValue::Limit(Decimal::from_f32(-5.4999).unwrap())));
assert!(range.includes(&LimitValue::Limit(Decimal::from_f32(6.6).unwrap())));
assert!(!range.includes(&LimitValue::Limit(Decimal::from_f32(6.601).unwrap())));
assert!(!range.includes(&LimitValue::Limit(Decimal::from_f32(-5.501).unwrap())));
  • closed interval
let range = Interval::closed(
  LimitValue::Limit(Decimal::from_f32(-5.5).unwrap()),
  LimitValue::Limit(Decimal::from_f32(6.6).unwrap()),
);
assert!(range.includes(&LimitValue::Limit(Decimal::from_f32(5.0).unwrap())));
assert!(range.includes(&LimitValue::Limit(Decimal::from_f32(-5.5).unwrap())));
assert!(range.includes(&LimitValue::Limit(Decimal::from_f32(-5.4999).unwrap())));
assert!(range.includes(&LimitValue::Limit(Decimal::from_f32(6.6).unwrap())));
assert!(!range.includes(&LimitValue::Limit(Decimal::from_f32(6.601).unwrap())));
assert!(!range.includes(&LimitValue::Limit(Decimal::from_f32(-5.501).unwrap())));

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~310KB