diff --git a/example/aliases/experimental_angle.cpp b/example/aliases/experimental_angle.cpp index 95c2520f..15ab817c 100644 --- a/example/aliases/experimental_angle.cpp +++ b/example/aliases/experimental_angle.cpp @@ -21,8 +21,10 @@ // SOFTWARE. #include -#include +#include +#include #include +#include #include #include @@ -30,15 +32,14 @@ int main() { using namespace units; using namespace units::isq; + using namespace units::aliases; using namespace units::aliases::isq::si; - const auto torque = N_m_per_rad<>(20.0 / std::numbers::pi); - const auto energy = J<>(20.0); + const Length auto lever = cm<>(20); + const Force auto force = N<>(500); + const Angle auto angle = deg<>(90); + const Torque auto torque = lever * force * sin(angle) / cotes_angle<>; - Angle auto angle = energy / torque; - - std::cout << angle << '\n'; - std::cout << quantity_cast(angle) << '\n'; - std::cout << quantity_cast(angle) << '\n'; - std::cout << quantity_cast(angle) << '\n'; + std::cout << "Applying a perpendicular force of " << force << " to a " << lever << " long lever results in " + << quantity_cast(torque) << " of torque.\n"; } diff --git a/example/literals/experimental_angle.cpp b/example/literals/experimental_angle.cpp index 0dce9c7d..55e4b6eb 100644 --- a/example/literals/experimental_angle.cpp +++ b/example/literals/experimental_angle.cpp @@ -21,8 +21,10 @@ // SOFTWARE. #include -#include +#include +#include #include +#include #include #include @@ -32,13 +34,11 @@ int main() using namespace units::isq; using namespace units::isq::si::literals; - const auto torque = 20.0_q_N_m_per_rad / std::numbers::pi; - const auto energy = 20.0_q_J; + const Length auto lever = 20_q_cm; + const Force auto force = 500_q_N; + const Angle auto angle = 90._q_deg; + const Torque auto torque = lever * force * sin(angle) / cotes_angle<>; - Angle auto angle = energy / torque; - - std::cout << angle << '\n'; - std::cout << quantity_cast(angle) << '\n'; - std::cout << quantity_cast(angle) << '\n'; - std::cout << quantity_cast(angle) << '\n'; + std::cout << "Applying a perpendicular force of " << force << " to a " << lever << " long lever results in " + << quantity_cast(torque) << " of torque.\n"; } diff --git a/example/references/experimental_angle.cpp b/example/references/experimental_angle.cpp index e619f401..f307d98e 100644 --- a/example/references/experimental_angle.cpp +++ b/example/references/experimental_angle.cpp @@ -20,17 +20,16 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include // IWYU pragma: keep +#include UNITS_DIAGNOSTIC_PUSH UNITS_DIAGNOSTIC_IGNORE_SHADOW #include // 'N' (Newton) shadows a template parameter traditionally used as a size of the array UNITS_DIAGNOSTIC_POP -#include -#include #include -#include // IWYU pragma: keep +#include +#include #include #include @@ -41,13 +40,11 @@ int main() using namespace units::isq::si::references; using namespace units::references; - Torque auto torque = 20.0 / std::numbers::pi * (N * m / rad); - Energy auto energy = 20.0 * J; + const Length auto lever = 20 * cm; + const Force auto force = 500 * N; + const Angle auto angle = 90. * deg; + const Torque auto torque = lever * force * sin(angle) / cotes_angle<>; - Angle auto angle = energy / torque; - - std::cout << angle << '\n'; - std::cout << quantity_cast(angle) << '\n'; - std::cout << quantity_cast(angle) << '\n'; - std::cout << quantity_cast(angle) << '\n'; + std::cout << "Applying a perpendicular force of " << force << " to a " << lever << " long lever results in " + << quantity_cast(torque) << " of torque.\n"; }