1quantity! {
4 quantity: MassRate; "mass rate";
6 dimension: ISQ<
8 Z0, P1, N1, Z0, Z0, Z0, Z0>; units {
16 @yottagram_per_second: prefix!(yotta) / prefix!(kilo); "Yg/s", "yottagram per second",
17 "yottagrams per second";
18 @zettagram_per_second: prefix!(zetta) / prefix!(kilo); "Zg/s", "zettagram per second",
19 "zettagrams per second";
20 @exagram_per_second: prefix!(exa) / prefix!(kilo); "Eg/s", "exagram per second",
21 "exagrams per second";
22 @petagram_per_second: prefix!(peta) / prefix!(kilo); "Pg/s", "petagram per second",
23 "petagrams per second";
24 @teragram_per_second: prefix!(tera) / prefix!(kilo); "Tg/s", "teragram per second",
25 "teragrams per second";
26 @gigagram_per_second: prefix!(giga) / prefix!(kilo); "Gg/s", "gigagram per second",
27 "gigagrams per second";
28 @megagram_per_second: prefix!(mega) / prefix!(kilo); "Mg/s", "megagram per second",
29 "megagrams per second";
30 @kilogram_per_second: prefix!(kilo) / prefix!(kilo); "kg/s", "kilogram per second",
32 "kilograms per second";
33 @hectogram_per_second: prefix!(hecto) / prefix!(kilo); "hg/s", "hectogram per second",
34 "hectograms per second";
35 @decagram_per_second: prefix!(deca) / prefix!(kilo); "dag/s", "decagram per second",
36 "decagrams per second";
37 @gram_per_second: prefix!(none) / prefix!(kilo); "g/s", "gram per second",
38 "grams per second";
39 @decigram_per_second: prefix!(deci) / prefix!(kilo); "dg/s", "decigram per second",
40 "decigrams per second";
41 @centigram_per_second: prefix!(centi) / prefix!(kilo); "cg/s", "centigram per second",
42 "centigrams per second";
43 @milligram_per_second: prefix!(milli) / prefix!(kilo); "mg/s", "milligram per second",
44 "milligrams per second";
45 @microgram_per_second: prefix!(micro) / prefix!(kilo); "µg/s", "microgram per second",
46 "micrograms per second";
47 @nanogram_per_second: prefix!(nano) / prefix!(kilo); "ng/s", "nanogram per second",
48 "nanograms per second";
49 @picogram_per_second: prefix!(pico) / prefix!(kilo); "pg/s", "picogram per second",
50 "picograms per second";
51 @femtogram_per_second: prefix!(femto) / prefix!(kilo); "fg/s", "femtogram per second",
52 "femtograms per second";
53 @attogram_per_second: prefix!(atto) / prefix!(kilo); "ag/s", "attogram per second",
54 "attograms per second";
55 @zeptogram_per_second: prefix!(zepto) / prefix!(kilo); "zg/s", "zeptogram per second",
56 "zeptograms per second";
57 @yoctogram_per_second: prefix!(yocto) / prefix!(kilo); "yg/s", "yoctogram per second",
58 "yoctograms per second";
59
60 @kilogram_per_minute: 1.666_666_666_666_666_6_E-2; "kg/min", "kilogram per minute",
61 "kilograms per minute";
62 @kilogram_per_hour: 2.777_777_777_777_777_7_E-4; "kg/h", "kilogram per hour",
63 "kilograms per hour";
64 @kilogram_per_day: 1.157_407_407_407_407_4_E-5; "kg/d", "kilogram per day",
65 "kilograms per day";
66 @gram_per_minute: 1.666_666_666_666_666_6_E-5; "g/min", "gram per minute",
67 "grams per minute";
68 @gram_per_hour: 2.777_777_777_777_777_7_E-7; "g/h", "gram per hour", "grams per hour";
69 @gram_per_day: 1.157_407_407_407_407_4_E-8; "g/d", "gram per day", "grams per day";
70
71 @carat_per_second: 2.0_E-4; "ct/s", "carat per second", "carats per second";
72 @grain_per_second: 6.479_891_E-5; "gr/s", "grain per second", "grains per second";
73 @hundredweight_long_per_second: 5.080_235_E1; "cwt long/s",
74 "hundredweight (long) per second", "hundredweight (long) per second";
75 @hundredweight_short_per_second: 4.535_924_E1; "cwt short/s",
76 "hundredweight (short) per second", "hundredweight (short) per second";
77 @ounce_per_second: 2.834_952_E-2; "oz/s", "ounce per second", "ounces per second";
78 @ounce_troy_per_second: 3.110_348_E-2; "oz t/s", "troy ounce per second",
79 "troy ounces per second";
80 @pennyweight_per_second: 1.555_174_E-3; "dwt/s", "pennyweight per second",
81 "pennyweight per second";
82 @pound_per_second: 4.535_924_E-1; "lb/s", "pound per second", "pounds per second";
83 @pound_per_minute: 7.559_873_333_333_333_E-3; "lb/min", "pound per minute",
84 "pounds per minute";
85 @pound_per_hour: 1.259_978_888_888_888_8_E-4; "lb/h", "pound per hour", "pounds per hour";
86 @pound_per_day: 5.249_912_037_037_037_0_E-6; "lb/d", "pound per day", "pounds per day";
87 @pound_troy_per_second: 3.732_417_E-1; "lb t/s", "troy pound per second",
88 "troy pounds per second";
89 @slug_per_second: 1.459_390_E1; "slug/s", "slug per second", "slugs per second";
90 @ton_assay_per_second: 2.916_667_E-2; "AT/s", "assay ton per second",
91 "assay tons per second";
92 @ton_long_per_second: 1.016_047_E3; "2240 lb/s", "long ton per second",
93 "long tons per second";
94 @ton_short_per_second: 9.071_847_E2; "2000 lb/s", "short ton per second",
95 "short tons per second";
96 @ton_short_per_hour: 2.519_957_5_E-1; "2000 lb/h", "short ton per hour",
97 "short tons per hour";
98 @ton_per_second: 1.0_E3; "t/s", "ton per second", "tons per second";
100 @ton_per_minute: 1.666_666_666_666_666_6_E1; "t/min", "ton per minute", "tons per minute";
102 @ton_per_hour: 2.777_777_777_777_778_E-1; "t/h", "ton per hour", "tons per hour";
104 @ton_per_day: 1.157_407_407_407_407_4_E-2; "t/d", "ton per day", "tons per day";
106 }
107}
108
109#[cfg(test)]
110mod tests {
111 storage_types! {
112 use crate::num::One;
113 use crate::si::mass as m;
114 use crate::si::mass_rate as r;
115 use crate::si::quantities::*;
116 use crate::si::time as t;
117 use crate::tests::Test;
118
119 #[test]
120 fn check_dimension() {
121 let _: MassRate<V> = Mass::new::<m::kilogram>(V::one())
122 / Time::new::<t::second>(V::one());
123 }
124
125 #[test]
126 fn check_units() {
127 test::<m::yottagram, t::second, r::yottagram_per_second>();
128 test::<m::zettagram, t::second, r::zettagram_per_second>();
129 test::<m::exagram, t::second, r::exagram_per_second>();
130 test::<m::petagram, t::second, r::petagram_per_second>();
131 test::<m::teragram, t::second, r::teragram_per_second>();
132 test::<m::gigagram, t::second, r::gigagram_per_second>();
133 test::<m::megagram, t::second, r::megagram_per_second>();
134 test::<m::kilogram, t::second, r::kilogram_per_second>();
135 test::<m::hectogram, t::second, r::hectogram_per_second>();
136 test::<m::decagram, t::second, r::decagram_per_second>();
137 test::<m::gram, t::second, r::gram_per_second>();
138 test::<m::decigram, t::second, r::decigram_per_second>();
139 test::<m::centigram, t::second, r::centigram_per_second>();
140 test::<m::milligram, t::second, r::milligram_per_second>();
141 test::<m::microgram, t::second, r::microgram_per_second>();
142 test::<m::nanogram, t::second, r::nanogram_per_second>();
143 test::<m::picogram, t::second, r::picogram_per_second>();
144 test::<m::femtogram, t::second, r::femtogram_per_second>();
145 test::<m::attogram, t::second, r::attogram_per_second>();
146 test::<m::zeptogram, t::second, r::zeptogram_per_second>();
147 test::<m::yoctogram, t::second, r::yoctogram_per_second>();
148
149 test::<m::kilogram, t::minute, r::kilogram_per_minute>();
150 test::<m::kilogram, t::hour, r::kilogram_per_hour>();
151 test::<m::kilogram, t::day, r::kilogram_per_day>();
152 test::<m::gram, t::minute, r::gram_per_minute>();
153 test::<m::gram, t::hour, r::gram_per_hour>();
154 test::<m::gram, t::day, r::gram_per_day>();
155
156 test::<m::carat, t::second, r::carat_per_second>();
157 test::<m::grain, t::second, r::grain_per_second>();
158 test::<m::hundredweight_long, t::second, r::hundredweight_long_per_second>();
159 test::<m::hundredweight_short, t::second, r::hundredweight_short_per_second>();
160 test::<m::ounce, t::second, r::ounce_per_second>();
161 test::<m::ounce_troy, t::second, r::ounce_troy_per_second>();
162 test::<m::pennyweight, t::second, r::pennyweight_per_second>();
163 test::<m::pound, t::second, r::pound_per_second>();
164 test::<m::pound, t::minute, r::pound_per_minute>();
165 test::<m::pound, t::hour, r::pound_per_hour>();
166 test::<m::pound, t::day, r::pound_per_day>();
167 test::<m::pound_troy, t::second, r::pound_troy_per_second>();
168 test::<m::slug, t::second, r::slug_per_second>();
169 test::<m::ton_assay, t::second, r::ton_assay_per_second>();
170 test::<m::ton_long, t::second, r::ton_long_per_second>();
171 test::<m::ton_short, t::second, r::ton_short_per_second>();
172 test::<m::ton_short, t::hour, r::ton_short_per_hour>();
173 test::<m::ton, t::second, r::ton_per_second>();
174 test::<m::ton, t::minute, r::ton_per_minute>();
175 test::<m::ton, t::hour, r::ton_per_hour>();
176 test::<m::ton, t::day, r::ton_per_day>();
177
178 fn test<M: m::Conversion<V>, T: t::Conversion<V>, R: r::Conversion<V>>() {
179 Test::assert_approx_eq(&MassRate::new::<R>(V::one()),
180 &(Mass::new::<M>(V::one()) / Time::new::<T>(V::one())));
181 }
182 }
183 }
184}