#si-units #units #physics #measurement #unit #no-alloc

no-std simple-si-units-core

这是 crate simple-si-units 的共享依赖

21 个版本 (2 个稳定版)

1.0.1 2023年4月28日
0.9.0 2023年4月25日
0.7.4 2023年3月23日
0.3.1 2022年11月7日

#1764 in 数学

Download history 292/week @ 2024-03-14 19/week @ 2024-03-21 22/week @ 2024-03-28 46/week @ 2024-04-04 13/week @ 2024-04-11 21/week @ 2024-04-18 12/week @ 2024-04-25 1/week @ 2024-05-02 1/week @ 2024-05-09 3/week @ 2024-05-16 4/week @ 2024-05-23 7/week @ 2024-05-30 16/week @ 2024-06-06 32/week @ 2024-06-13 32/week @ 2024-06-20 17/week @ 2024-06-27

99 每月下载量
6 个 crates 中使用 (2 个直接使用)

MPL-2.0 许可证

5KB

simple-si-units-core

这个 crate 存在是为了支持 simple-si-units。请前往那里获取更多信息。

内容

Crate simple-si-units-core 导出以下内容

NumLike

这是一个结合以下内容的便利特质包

  • std::ops::Add
  • std::ops::AddAssign
  • std::ops::Sub
  • std::ops::SubAssign
  • std::ops::Mul
  • std::ops::MulAssign
  • std::ops::Div
  • std::ops::DivAssign
  • std::ops::Neg
  • Clone
  • std::fmt::Debug
  • std::fmt::Display

因此,您可以将此特质用作结构体或函数模板定义的一部分,如下所示

use simple_si_units_core::NumLike;
pub struct MyUnit<DT: NumLike> {
    v: DT,
}

impl<DT: NumLike> std::ops::Add<Self> for MyUnit<DT> {
    type Output = Self;
    fn add(self, rhs: Self) -> Self::Output {
        return Self { v: self.v + rhs.v };
    }
}

impl<DT: NumLike> std::ops::Sub<Self> for MyUnit<DT> {
    type Output = Self;
    fn sub(self, rhs: Self) -> Self::Output {
        return Self { v: self.v - rhs.v };
    }
}

许可证

此库是开源的,根据 Mozilla 公共许可证第2.0版 许可。简而言之,您可以将此源代码“按原样”包含在开源和专有项目中,无需向我请求许可,但如果您修改了此库的源代码,则必须以开源许可证的形式提供您修改后的库版本。

无运行时依赖