Skip to content

Commit

Permalink
Merge pull request #160 from dunmatt/jerkingIt
Browse files Browse the repository at this point in the history
Added AngularJerk.
  • Loading branch information
iliekturtles authored Aug 13, 2019
2 parents b1ae0dc + d446ffa commit 5bad272
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
50 changes: 50 additions & 0 deletions src/si/angular_jerk.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
//! Angular jerk (base unit radian per second cubed, s⁻³).
quantity! {
/// Angular jerk (base unit radian per second cubed, s⁻³).
quantity: AngularJerk; "angular jerk";
/// Dimension of angular jerk, T⁻³ (base unit radian per second cubed, s⁻³).
dimension: ISQ<
Z0, // length
Z0, // mass
N3, // time
Z0, // electric current
Z0, // thermodynamic temperature
Z0, // amount of substance
Z0>; // luminous intensity
kind: dyn (::si::marker::AngleKind);
units {
/// Derived unit of angular jerk.
@radian_per_second_cubed: 1.0; "rad/s³", "radian per second cubed",
"radians per second cubed";
@degree_per_second_cubed: 1.745_329_251_994_329_5_E-2; "°/s³",
"degree per second cubed", "degrees per second cubed";
}
}

#[cfg(test)]
mod tests {
storage_types! {
use num::One;
use si::angle as a;
use si::angular_jerk as aj;
use si::quantities::*;
use si::time as t;
use tests::Test;

#[test]
fn check_units() {
test::<a::radian, t::second, aj::radian_per_second_cubed>();
test::<a::degree, t::second, aj::degree_per_second_cubed>();

fn test<A: a::Conversion<V>, T: t::Conversion<V>, R: aj::Conversion<V>>() {
let cubic_second = Time::new::<T>(V::one()) *
Time::new::<T>(V::one()) *
Time::new::<T>(V::one());

Test::assert_approx_eq(&AngularJerk::new::<R>(V::one()),
&(Angle::new::<A>(V::one()) / cubic_second).into());
}
}
}
}
1 change: 1 addition & 0 deletions src/si/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ system! {
amount_of_substance::AmountOfSubstance,
angle::Angle,
angular_acceleration::AngularAcceleration,
angular_jerk::AngularJerk,
angular_velocity::AngularVelocity,
area::Area,
available_energy::AvailableEnergy,
Expand Down

0 comments on commit 5bad272

Please sign in to comment.