|
opynsim
Unofficial C++ Documentation
|
#include <liboscar/maths/scalar.h>#include <algorithm>#include <cmath>#include <compare>#include <concepts>#include <numbers>#include <ostream>#include <string_view>#include <type_traits>Go to the source code of this file.
Namespaces | |
| namespace | osc |
| namespace | osc::literals |
Concepts | |
| concept | osc::AngularUnitTraits |
Typedefs | |
| template<typename T > | |
| using | osc::RadiansT = Angle< T, RadianAngularUnitTraits > |
| using | osc::Radians = RadiansT< float > |
| using | osc::Radiansd = RadiansT< double > |
| template<typename T > | |
| using | osc::DegreesT = Angle< T, DegreesAngularUnitTraits > |
| using | osc::Degrees = DegreesT< float > |
| using | osc::Degreesd = DegreesT< double > |
| template<typename T > | |
| using | osc::TurnsT = Angle< T, TurnsAngularUnitTraits > |
| using | osc::Turns = TurnsT< float > |
| using | osc::Turnsd = TurnsT< double > |
Functions | |
| template<std::floating_point Rep1, AngularUnitTraits Units1, std::floating_point Rep2, AngularUnitTraits Units2> | |
| constexpr std::common_type_t< Angle< Rep1, Units1 >, Angle< Rep2, Units2 > > | osc::operator+ (const Angle< Rep1, Units1 > &lhs, const Angle< Rep2, Units2 > &rhs) |
| template<std::floating_point Rep1, AngularUnitTraits Units1, std::floating_point Rep2, AngularUnitTraits Units2> | |
| constexpr std::common_type_t< Angle< Rep1, Units1 >, Angle< Rep2, Units2 > > | osc::operator- (const Angle< Rep1, Units1 > &lhs, const Angle< Rep2, Units2 > &rhs) |
| template<std::floating_point Rep1, AngularUnitTraits Units1, std::floating_point Rep2, AngularUnitTraits Units2> | |
| constexpr bool | osc::operator== (const Angle< Rep1, Units1 > &lhs, const Angle< Rep2, Units2 > &rhs) |
| template<std::floating_point Rep1, AngularUnitTraits Units1, std::floating_point Rep2, AngularUnitTraits Units2> | |
| constexpr auto | osc::operator<=> (const Angle< Rep1, Units1 > &lhs, const Angle< Rep2, Units2 > &rhs) |
| template<std::floating_point Rep, AngularUnitTraits Units> | |
| std::ostream & | osc::operator<< (std::ostream &o, const Angle< Rep, Units > &angle) |
| constexpr Radians | osc::literals::operator""_rad (long double radians) |
| constexpr Radians | osc::literals::operator""_rad (unsigned long long int radians) |
| constexpr Degrees | osc::literals::operator""_deg (long double degrees) |
| constexpr Degrees | osc::literals::operator""_deg (unsigned long long int degrees) |
| constexpr Turns | osc::literals::operator""_turn (long double turns) |
| constexpr Turns | osc::literals::operator""_turn (unsigned long long int turns) |
| template<std::floating_point Rep1, AngularUnitTraits Units1, std::floating_point Rep2, AngularUnitTraits Units2> | |
| auto | osc::mod (Angle< Rep1, Units1 > x, Angle< Rep2, Units2 > y) -> std::common_type_t< decltype(x), decltype(y)> |
| template<std::floating_point Rep1, AngularUnitTraits Units1, std::floating_point Rep2, AngularUnitTraits Units2> requires (not std::is_same_v<Units1, Units2>) | |
| constexpr auto | osc::min (Angle< Rep1, Units1 > x, Angle< Rep2, Units2 > y) -> std::common_type_t< decltype(x), decltype(y)> |
| template<std::floating_point Rep1, AngularUnitTraits Units1, std::floating_point Rep2, AngularUnitTraits Units2> requires (not std::is_same_v<Units1, Units2>) | |
| constexpr auto | osc::max (Angle< Rep1, Units1 > x, Angle< Rep2, Units2 > y) -> std::common_type_t< decltype(x), decltype(y)> |
| template<std::floating_point Rep, AngularUnitTraits Units, std::convertible_to< Angle< Rep, Units > > AngleMin, std::convertible_to< Angle< Rep, Units > > AngleMax> requires ( not std::is_same_v<Angle<Rep, Units>, AngleMin> or not std::is_same_v<Angle<Rep, Units>, AngleMax> or not std::is_same_v<AngleMin, AngleMax> ) | |
| constexpr Angle< Rep, Units > | osc::clamp (const Angle< Rep, Units > &v, const AngleMin &min, const AngleMax &max) |