iliekturtles / uom

Units of measurement -- type-safe zero-cost dimensional analysis
Apache License 2.0
1.01k stars 92 forks source link

Implement clamp for f64 Quantities #476

Open kylecarow opened 4 months ago

kylecarow commented 4 months ago

Recently tried to use clamp on an f64 quantity, but ran into this issue:

Quantity::clamp is only implemented via the Ord trait: impl Ord for Quantity

f64 and f32 implement clamp manually (which makes sense, as they aren't Ord - though I'm unsure why clamp couldn't have been implemented in PartialOrd given that it only uses PartialOrd comparisons, oh well) f64::clamp f32::clamp

Could clamp (and maybe similar methods) be implemented for f64 Quantities? This would be used widely throughout my code, where I otherwise have doubled-up min/max calls.