Unable to `clamp` quantity to a range.
DJDuque opened this issue · comments
I am not sure if this is the expected behavior, but the following fails for me (I would expect it to work):
use uom::si::angle::radian;
use uom::si::f64::Angle;
fn main() {
let x = Angle::new::<radian>(5.0);
let clamped = x.clamp(-Angle::HALF_TURN, Angle::HALF_TURN);
}
I am not very familiar with the code under the hood, but looking here it looks like this should work (?).
Ok, I just noticed that what I linked requires V
(in this case f64
) to implement the Ord
trait. Now I understand why it doesn't work.
Maybe it is worth adding this as a separate method (?) given that the clamp
method does exist for f64
. Maybe it could be useful for some people