Skip to content

Commit

Permalink
Emergency fix push
Browse files Browse the repository at this point in the history
  • Loading branch information
Aang099 committed Jun 2, 2024
1 parent 061bca4 commit e4d3eae
Showing 1 changed file with 16 additions and 12 deletions.
28 changes: 16 additions & 12 deletions include/units/units.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -357,22 +357,26 @@ template <isQuantity Q> constexpr Q round(const Q& lhs, const Q& rhs) {

// Convert an angular unit `Q` to a linear unit correctly;
// mostly useful for velocities
template <isQuantity Q>
Quantity<typename Q::mass, typename Q::angle, typename Q::time, typename Q::current, typename Q::length> toLinear(
Quantity<typename Q::mass, typename Q::length, typename Q::time, typename Q::current, typename Q::angle> angular,
Length diameter) {
return unit_cast<
Quantity<typename Q::mass, typename Q::angle, typename Q::time, typename Q::current, typename Q::length>>(
template <isQuantity Q> Quantity<typename Q::mass, typename Q::angle, typename Q::time, typename Q::current,
typename Q::length, typename Q::temperature, typename Q::luminosity, typename Q::moles>
toLinear(Quantity<typename Q::mass, typename Q::length, typename Q::time, typename Q::current, typename Q::angle,
typename Q::temperature, typename Q::luminosity, typename Q::moles>
angular,
Length diameter) {
return unit_cast<Quantity<typename Q::mass, typename Q::angle, typename Q::time, typename Q::current,
typename Q::length, typename Q::temperature, typename Q::luminosity, typename Q::moles>>(
angular * (diameter / 2.0));
}

// Convert an linear unit `Q` to a angular unit correctly;
// mostly useful for velocities
template <isQuantity Q>
Quantity<typename Q::mass, typename Q::angle, typename Q::time, typename Q::current, typename Q::length> toAngular(
Quantity<typename Q::mass, typename Q::length, typename Q::time, typename Q::current, typename Q::angle> linear,
Length diameter) {
return unit_cast<
Quantity<typename Q::mass, typename Q::angle, typename Q::time, typename Q::current, typename Q::length>>(
template <isQuantity Q> Quantity<typename Q::mass, typename Q::angle, typename Q::time, typename Q::current,
typename Q::length, typename Q::temperature, typename Q::luminosity, typename Q::moles>
toAngular(Quantity<typename Q::mass, typename Q::length, typename Q::time, typename Q::current, typename Q::angle,
typename Q::temperature, typename Q::luminosity, typename Q::moles>
linear,
Length diameter) {
return unit_cast<Quantity<typename Q::mass, typename Q::angle, typename Q::time, typename Q::current,
typename Q::length, typename Q::temperature, typename Q::luminosity, typename Q::moles>>(
linear / (diameter / 2.0));
}

0 comments on commit e4d3eae

Please sign in to comment.