dimensioned/opt/rustwide/target/x86_64-unknown-linux-gnu/debug/build/dimensioned-7f44ed1ff556b03d/out/
cgs.rs1pub mod cgs {
55 #![allow(clippy::upper_case_acronyms)]
56 make_units! {
57 CGS;
58 ONE: Unitless;
59
60 base {
61 SQRTCM: SqrtCentimeter, "sqrtcm";
62 SQRTG: SqrtGram, "sqrtg";
63 S: Second, "s", Time;
64 }
65
66 derived {
67 CM: Centimeter = (SqrtCentimeter * SqrtCentimeter), Length;
68 G: Gram = (SqrtGram * SqrtGram), Mass;
69 CM2: Centimeter2 = (Centimeter * Centimeter), Area;
70 CM3: Centimeter3 = (Centimeter2 * Centimeter), Volume;
71 S2: Second2 = (Second * Second);
72 S3: Second3 = (Second2 * Second);
73 S4: Second4 = (Second3 * Second);
74 CMPS: CentimeterPerSecond = (Centimeter / Second), Velocity;
75 CMPS3: CentimeterPerSecond3 = (Centimeter / Second3), Jerk;
76 CMPS4: CentimeterPerSecond4 = (Centimeter / Second4);
77 CM2PS: Centimeter2PerSecond = (Centimeter2 / Second);
78 CM2PS2: Centimeter2PerSecond2 = (Centimeter2 / Second2);
79 CM2PS3: Centimeter2PerSecond3 = (Centimeter2 / Second3);
80 CM3PS: Centimeter3PerSecond = (Centimeter3 / Second);
81 CM3PS2: Centimeter3PerSecond2 = (Centimeter3 / Second2);
82 CM3PS3: Centimeter3PerSecond3 = (Centimeter3 / Second3);
83 GAL: Gal = (Centimeter / Second2), Acceleration;
84 DYN: Dyne = (Gram * Gal), Force;
85 ERG: Erg = (Dyne * Centimeter), Energy;
86 ERGPS: ErgPerSecond = (Erg / Second), Power;
87 BA: Barye = (Dyne / Centimeter2), Pressure;
88 P: Poise = (Gram / Centimeter / Second);
89 ST: Stokes = (Centimeter2 / Second);
90 K: Kayser = (Unitless / Centimeter), ReciprocalLength;
91 STATC: StatCoulomb = (SqrtGram * SqrtCentimeter * Centimeter / Second);
92 STATA: StatAmpere = (StatCoulomb / Second);
93 STATV: StatVolt = (Erg / StatCoulomb);
94 }
95
96 constants {
97 M: Centimeter = HECTO * CM.value_unsafe;
98 }
99
100 fmt = false;
101 }
102
103 #[cfg(feature = "serde")]
104 impl_serde!(CGS);
105 #[cfg(feature = "clapme")]
106 impl_clapme!(CGS);
107 #[cfg(feature = "auto-args")]
108 impl_auto_args!(CGS);
109
110 #[cfg(feature = "rand")]
111 impl_rand!(CGS);
112
113 pub use self::f64consts::*;
114
115
116 #[test]
117 fn test_cgs_constants() {
118 #[allow(unused_imports)]
119 use crate::f64prefixes::*;
120 #[allow(unused_imports)]
121 use core::f64::consts;
122
123 assert_eq!(M, HECTO * CM);
124 }
125 #[cfg(feature = "serde")]
128 #[test]
129 fn test_cgs_serde() {
130 use ::serde_test::{assert_tokens, Token};
131
132 let value = 1.0 * SQRTCM;
133 assert_tokens(&value, &[Token::F64(1.0)]);
134
135 let value = 1.0 * SQRTG;
136 assert_tokens(&value, &[Token::F64(1.0)]);
137
138 let value = 1.0 * S;
139 assert_tokens(&value, &[Token::F64(1.0)]);
140
141 }
142 #[cfg(feature = "rand")]
144 #[test]
145 fn test_cgs_rand() {
146 use ::rand::prelude::*;
147 use ::rand::rngs::{StdRng};
148 use ::rand::distributions::Uniform;
149 use ::rand::{SeedableRng};
150 let mut rng1 = StdRng::from_seed([0u8;32]);
151 let mut rng2 = rng1.clone();
152
153 let raw_value: f64 = rng1.gen();
154 let value: SqrtCentimeter<f64> = rng2.gen();
155 assert_eq!(value, SqrtCentimeter::new(raw_value));
156
157 let raw_value: f64 = rng1.gen();
158 let value: SqrtGram<f64> = rng2.gen();
159 assert_eq!(value, SqrtGram::new(raw_value));
160
161 let raw_value: f64 = rng1.gen();
162 let value: Second<f64> = rng2.gen();
163 assert_eq!(value, Second::new(raw_value));
164
165 let raw_value: f64 = rng1.gen();
166 let value: Centimeter<f64> = rng2.gen();
167 assert_eq!(value, Centimeter::new(raw_value));
168
169 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
170 let value = rng2.sample(Uniform::new(Centimeter::new(-5.0), Centimeter::new(7.0)));
171 assert_eq!(value, Centimeter::new(raw_value));
172
173 let raw_value: f64 = rng1.gen();
174 let value: Gram<f64> = rng2.gen();
175 assert_eq!(value, Gram::new(raw_value));
176
177 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
178 let value = rng2.sample(Uniform::new(Gram::new(-5.0), Gram::new(7.0)));
179 assert_eq!(value, Gram::new(raw_value));
180
181 let raw_value: f64 = rng1.gen();
182 let value: Centimeter2<f64> = rng2.gen();
183 assert_eq!(value, Centimeter2::new(raw_value));
184
185 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
186 let value = rng2.sample(Uniform::new(Centimeter2::new(-5.0), Centimeter2::new(7.0)));
187 assert_eq!(value, Centimeter2::new(raw_value));
188
189 let raw_value: f64 = rng1.gen();
190 let value: Centimeter3<f64> = rng2.gen();
191 assert_eq!(value, Centimeter3::new(raw_value));
192
193 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
194 let value = rng2.sample(Uniform::new(Centimeter3::new(-5.0), Centimeter3::new(7.0)));
195 assert_eq!(value, Centimeter3::new(raw_value));
196
197 let raw_value: f64 = rng1.gen();
198 let value: Second2<f64> = rng2.gen();
199 assert_eq!(value, Second2::new(raw_value));
200
201 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
202 let value = rng2.sample(Uniform::new(Second2::new(-5.0), Second2::new(7.0)));
203 assert_eq!(value, Second2::new(raw_value));
204
205 let raw_value: f64 = rng1.gen();
206 let value: Second3<f64> = rng2.gen();
207 assert_eq!(value, Second3::new(raw_value));
208
209 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
210 let value = rng2.sample(Uniform::new(Second3::new(-5.0), Second3::new(7.0)));
211 assert_eq!(value, Second3::new(raw_value));
212
213 let raw_value: f64 = rng1.gen();
214 let value: Second4<f64> = rng2.gen();
215 assert_eq!(value, Second4::new(raw_value));
216
217 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
218 let value = rng2.sample(Uniform::new(Second4::new(-5.0), Second4::new(7.0)));
219 assert_eq!(value, Second4::new(raw_value));
220
221 let raw_value: f64 = rng1.gen();
222 let value: CentimeterPerSecond<f64> = rng2.gen();
223 assert_eq!(value, CentimeterPerSecond::new(raw_value));
224
225 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
226 let value = rng2.sample(Uniform::new(CentimeterPerSecond::new(-5.0), CentimeterPerSecond::new(7.0)));
227 assert_eq!(value, CentimeterPerSecond::new(raw_value));
228
229 let raw_value: f64 = rng1.gen();
230 let value: CentimeterPerSecond3<f64> = rng2.gen();
231 assert_eq!(value, CentimeterPerSecond3::new(raw_value));
232
233 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
234 let value = rng2.sample(Uniform::new(CentimeterPerSecond3::new(-5.0), CentimeterPerSecond3::new(7.0)));
235 assert_eq!(value, CentimeterPerSecond3::new(raw_value));
236
237 let raw_value: f64 = rng1.gen();
238 let value: CentimeterPerSecond4<f64> = rng2.gen();
239 assert_eq!(value, CentimeterPerSecond4::new(raw_value));
240
241 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
242 let value = rng2.sample(Uniform::new(CentimeterPerSecond4::new(-5.0), CentimeterPerSecond4::new(7.0)));
243 assert_eq!(value, CentimeterPerSecond4::new(raw_value));
244
245 let raw_value: f64 = rng1.gen();
246 let value: Centimeter2PerSecond<f64> = rng2.gen();
247 assert_eq!(value, Centimeter2PerSecond::new(raw_value));
248
249 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
250 let value = rng2.sample(Uniform::new(Centimeter2PerSecond::new(-5.0), Centimeter2PerSecond::new(7.0)));
251 assert_eq!(value, Centimeter2PerSecond::new(raw_value));
252
253 let raw_value: f64 = rng1.gen();
254 let value: Centimeter2PerSecond2<f64> = rng2.gen();
255 assert_eq!(value, Centimeter2PerSecond2::new(raw_value));
256
257 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
258 let value = rng2.sample(Uniform::new(Centimeter2PerSecond2::new(-5.0), Centimeter2PerSecond2::new(7.0)));
259 assert_eq!(value, Centimeter2PerSecond2::new(raw_value));
260
261 let raw_value: f64 = rng1.gen();
262 let value: Centimeter2PerSecond3<f64> = rng2.gen();
263 assert_eq!(value, Centimeter2PerSecond3::new(raw_value));
264
265 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
266 let value = rng2.sample(Uniform::new(Centimeter2PerSecond3::new(-5.0), Centimeter2PerSecond3::new(7.0)));
267 assert_eq!(value, Centimeter2PerSecond3::new(raw_value));
268
269 let raw_value: f64 = rng1.gen();
270 let value: Centimeter3PerSecond<f64> = rng2.gen();
271 assert_eq!(value, Centimeter3PerSecond::new(raw_value));
272
273 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
274 let value = rng2.sample(Uniform::new(Centimeter3PerSecond::new(-5.0), Centimeter3PerSecond::new(7.0)));
275 assert_eq!(value, Centimeter3PerSecond::new(raw_value));
276
277 let raw_value: f64 = rng1.gen();
278 let value: Centimeter3PerSecond2<f64> = rng2.gen();
279 assert_eq!(value, Centimeter3PerSecond2::new(raw_value));
280
281 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
282 let value = rng2.sample(Uniform::new(Centimeter3PerSecond2::new(-5.0), Centimeter3PerSecond2::new(7.0)));
283 assert_eq!(value, Centimeter3PerSecond2::new(raw_value));
284
285 let raw_value: f64 = rng1.gen();
286 let value: Centimeter3PerSecond3<f64> = rng2.gen();
287 assert_eq!(value, Centimeter3PerSecond3::new(raw_value));
288
289 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
290 let value = rng2.sample(Uniform::new(Centimeter3PerSecond3::new(-5.0), Centimeter3PerSecond3::new(7.0)));
291 assert_eq!(value, Centimeter3PerSecond3::new(raw_value));
292
293 let raw_value: f64 = rng1.gen();
294 let value: Gal<f64> = rng2.gen();
295 assert_eq!(value, Gal::new(raw_value));
296
297 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
298 let value = rng2.sample(Uniform::new(Gal::new(-5.0), Gal::new(7.0)));
299 assert_eq!(value, Gal::new(raw_value));
300
301 let raw_value: f64 = rng1.gen();
302 let value: Dyne<f64> = rng2.gen();
303 assert_eq!(value, Dyne::new(raw_value));
304
305 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
306 let value = rng2.sample(Uniform::new(Dyne::new(-5.0), Dyne::new(7.0)));
307 assert_eq!(value, Dyne::new(raw_value));
308
309 let raw_value: f64 = rng1.gen();
310 let value: Erg<f64> = rng2.gen();
311 assert_eq!(value, Erg::new(raw_value));
312
313 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
314 let value = rng2.sample(Uniform::new(Erg::new(-5.0), Erg::new(7.0)));
315 assert_eq!(value, Erg::new(raw_value));
316
317 let raw_value: f64 = rng1.gen();
318 let value: ErgPerSecond<f64> = rng2.gen();
319 assert_eq!(value, ErgPerSecond::new(raw_value));
320
321 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
322 let value = rng2.sample(Uniform::new(ErgPerSecond::new(-5.0), ErgPerSecond::new(7.0)));
323 assert_eq!(value, ErgPerSecond::new(raw_value));
324
325 let raw_value: f64 = rng1.gen();
326 let value: Barye<f64> = rng2.gen();
327 assert_eq!(value, Barye::new(raw_value));
328
329 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
330 let value = rng2.sample(Uniform::new(Barye::new(-5.0), Barye::new(7.0)));
331 assert_eq!(value, Barye::new(raw_value));
332
333 let raw_value: f64 = rng1.gen();
334 let value: Poise<f64> = rng2.gen();
335 assert_eq!(value, Poise::new(raw_value));
336
337 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
338 let value = rng2.sample(Uniform::new(Poise::new(-5.0), Poise::new(7.0)));
339 assert_eq!(value, Poise::new(raw_value));
340
341 let raw_value: f64 = rng1.gen();
342 let value: Stokes<f64> = rng2.gen();
343 assert_eq!(value, Stokes::new(raw_value));
344
345 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
346 let value = rng2.sample(Uniform::new(Stokes::new(-5.0), Stokes::new(7.0)));
347 assert_eq!(value, Stokes::new(raw_value));
348
349 let raw_value: f64 = rng1.gen();
350 let value: Kayser<f64> = rng2.gen();
351 assert_eq!(value, Kayser::new(raw_value));
352
353 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
354 let value = rng2.sample(Uniform::new(Kayser::new(-5.0), Kayser::new(7.0)));
355 assert_eq!(value, Kayser::new(raw_value));
356
357 let raw_value: f64 = rng1.gen();
358 let value: StatCoulomb<f64> = rng2.gen();
359 assert_eq!(value, StatCoulomb::new(raw_value));
360
361 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
362 let value = rng2.sample(Uniform::new(StatCoulomb::new(-5.0), StatCoulomb::new(7.0)));
363 assert_eq!(value, StatCoulomb::new(raw_value));
364
365 let raw_value: f64 = rng1.gen();
366 let value: StatAmpere<f64> = rng2.gen();
367 assert_eq!(value, StatAmpere::new(raw_value));
368
369 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
370 let value = rng2.sample(Uniform::new(StatAmpere::new(-5.0), StatAmpere::new(7.0)));
371 assert_eq!(value, StatAmpere::new(raw_value));
372
373 let raw_value: f64 = rng1.gen();
374 let value: StatVolt<f64> = rng2.gen();
375 assert_eq!(value, StatVolt::new(raw_value));
376
377 let raw_value = rng1.sample(Uniform::new(-5.0, 7.0));
378 let value = rng2.sample(Uniform::new(StatVolt::new(-5.0), StatVolt::new(7.0)));
379 assert_eq!(value, StatVolt::new(raw_value));
380
381 }
382 #[cfg(feature = "clapme")]
384 #[test]
385 fn test_cgs_clapme() {
386
387 let value = 3.0 * SQRTCM;
388 assert_eq!(value,
389 <SqrtCentimeter<f64> as ClapMe>::from_iter(&["test", "3.0"]).unwrap());
390
391 let value = 3.0 * SQRTG;
392 assert_eq!(value,
393 <SqrtGram<f64> as ClapMe>::from_iter(&["test", "3.0"]).unwrap());
394
395 let value = 3.0 * S;
396 assert_eq!(value,
397 <Second<f64> as ClapMe>::from_iter(&["test", "3.0"]).unwrap());
398
399 }
400
401 #[cfg(feature = "auto-args")]
403 #[test]
404 fn test_cgs_auto_args() {
405
406 let value = 3.0 * SQRTCM;
407 assert_eq!(value,
408 <SqrtCentimeter<f64> as auto_args::AutoArgs>::from_iter(&["test", "3.0"]).unwrap());
409
410 let value = 3.0 * SQRTG;
411 assert_eq!(value,
412 <SqrtGram<f64> as auto_args::AutoArgs>::from_iter(&["test", "3.0"]).unwrap());
413
414 let value = 3.0 * S;
415 assert_eq!(value,
416 <Second<f64> as auto_args::AutoArgs>::from_iter(&["test", "3.0"]).unwrap());
417
418 }
419}