fisica/units/
density.rs

1// fisica::units::density
2//
3//!
4//
5
6#[allow(unused_imports)]
7use crate::units::{Mass, Volume};
8use crate::Magnitude;
9
10/// [`Mass`] per unit [`Volume`], in `kg/m³`.
11///
12/// ρ = m / V
13#[derive(Clone, Copy, Debug)]
14pub struct Density {
15    pub m: Magnitude,
16}
17
18impl Density {
19    /// new Density.
20    #[inline]
21    pub const fn new(m: Magnitude) -> Self {
22        Self { m }
23    }
24
25    /// Returns the magnitude.
26    #[inline]
27    pub const fn m(&self) -> Magnitude {
28        self.m
29    }
30}
31
32impl_scalar_methods_2units_base_kilo![
33    Density,
34    q1a = g,
35    q2a = m3,
36    q1u = "g",
37    q2u = "m³",
38    Q1a = grams,
39    Q2a = metre_cubed,
40    Ja = per,
41    Q1u = "grams",
42    Q2u = "metre cubed"
43];