1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// fisica::units::momentum
//
//!
//
#[allow(unused_imports)]
use crate::units::{Length, Mass, Time};
use crate::{Direction, Magnitude};
/// `Momentum`, in [`Mass`] times [`Length`] per [`Time`]: `kg m/s`.
#[derive(Clone, Copy, Debug)]
pub struct Momentum {
pub d: Direction,
}
impl Momentum {
/// New Momentum.
#[inline]
pub const fn new(d: Direction) -> Self {
Self { d }
}
/// Returns the magnitude.
#[inline]
pub fn m(&self) -> Magnitude {
self.d.magnitude()
}
}
impl_vector_methods_3units_1base_kilo![
Momentum,
q1a = g,
q2a = m,
q3a = s,
Q1a = grams,
Q2a = metre,
Q3a = second,
Ja1 = "",
Ja2 = per
];