uom/si/
linear_number_density.rs1quantity! {
4 quantity: LinearNumberDensity; "linear number density";
6 dimension: ISQ<
8 N1, Z0, Z0, Z0, Z0, Z0, Z0>; kind: dyn (crate::si::marker::ConstituentConcentrationKind);
16 units {
17 @per_kilometer: prefix!(none) / prefix!(kilo); "km⁻¹", "per kilometer", "per kilometer";
18 @per_meter: prefix!(none); "m⁻¹", "per meter", "per meter";
19 @per_decimeter: prefix!(none) / prefix!(deci); "dm⁻¹", "per decimeter", "per decimeter";
20 @per_centimeter: prefix!(none) / prefix!(centi); "cm⁻¹", "per centimeter", "per centimeter";
21 @per_millimeter: prefix!(none) / prefix!(milli); "mm⁻¹", "per millimeter", "per millimeter";
22
23 @per_foot: prefix!(none) / 3.048_E-1; "ft⁻¹", "per foot", "per foot";
24 @per_foot_survey: prefix!(none) / 3.048_006_E-1; "ft (U.S. survey)", "foot (U.S. survey)",
25 "foot (U.S. survey)";
26 @per_inch: prefix!(none) / 2.54_E-2; "in⁻¹", "per inch", "per inch";
27 @per_mile: prefix!(none) / 1.609_344_E3; "mi⁻¹", "per mile", "per mile";
28 @per_mile_survey: prefix!(none) / 1.609_347_E3; "mi⁻¹ (U.S. survey)",
29 "per mile (U.S. survey)", "per mile (U.S. survey)";
30 @per_nautical_mile: prefix!(none) / 1.852_E3; "M⁻¹", "per nautical mile",
31 "per nautical mile";
32 @per_yard: prefix!(none) / 9.144_E-1; "yd⁻¹", "per yard", "per yard";
33 }
34}
35
36#[cfg(test)]
37mod test {
38 storage_types! {
39 use crate::num::One;
40 use crate::si::length as l;
41 use crate::si::linear_number_density as n;
42 use crate::si::quantities::*;
43 use crate::tests::Test;
44
45 #[test]
46 fn check_dimension() {
47 let _: LinearNumberDensity<V> = (V::one()
48 / Length::new::<l::meter>(V::one())).into();
49 }
50
51 #[test]
52 fn check_units() {
53 test::<n::per_kilometer, l::kilometer>();
54 test::<n::per_meter, l::meter>();
55 test::<n::per_decimeter, l::decimeter>();
56 test::<n::per_centimeter, l::centimeter>();
57 test::<n::per_millimeter, l::millimeter>();
58
59 fn test<N: n::Conversion<V>, L: l::Conversion<V>>() {
60 Test::assert_approx_eq(&LinearNumberDensity::new::<N>(V::one()),
61 &(V::one() / Length::new::<L>(V::one())).into());
62 }
63 }
64 }
65}