msuk-scifi

Crates.iomsuk-scifi
lib.rsmsuk-scifi
version0.2.2
created_at2024-09-14 15:33:20.128935+00
updated_at2025-07-10 09:29:13.742428+00
descriptionVarious distance units, etc.
homepage
repositoryhttps://github.com/msukanen/msuk-scifi.git
max_upload_size
id1374878
size44,614
Markku Sukanen (msukanen)

documentation

README

MSuk-SciFi

Some units and stuff I use in a project or two...

Distance

  • Km
  • Mi (... for convenience of some people).
  • Au
  • Ly
  • Pc

Temperature

All temperature implementation(s) work with everything that complies with <T: Into<f64>.

  • K

Functionality

  • add, sub, mul, div
  • try_as_…(), as_…(), as_rounded_…()
  • ratio_with(…)

Examples

#[cfg(test)]
mod msuk_k_testing {
  #[test]
  fn testing_calculus() {
    use msuk_scifi::unit::temperature::k::K;
    let k1 = K::from(100);
    assert_eq!(100.0, k1.value());
    let k2 = K::from(10);
    assert_eq!(10.0, k2.value());
    let f_32 = 32.0_f32;
    let f_64 = 64.0;
    let k3 = k1 + k2;
    assert_eq!(110.0, k3.value());
    let k4_1 = f_32 + k1;
    assert_eq!(132.0, k4_1.value());
    let k4_2 = f_32 - k1;
    // 0K clamp should happen:
    assert_eq!(0.0, k4_2.value());
    let k5 = k1 * f_64;
    assert_eq!(6_400.0, k5.value());
    let k6 = k1 / k2;
    assert_eq!(10.0, k6.value());
  }
}

Mass

  • EarthMass
Commit count: 0

cargo fmt