|
SyDEVS
v0.7
Simulation-based analysis of complex systems involving people, devices, physical elements, and dynamic environments.
|
A speciaulization to facilitate the conversion of dimensionless quantities into floats. More...
#include <quantity.h>
Inherits sydevs::quantity_base.
Public Member Functions | |
| constexpr | quantity () |
| constexpr | quantity (int64 multiplier) |
| constexpr | quantity (int64 multiplier, scale precision) |
| constexpr | quantity (const quantity &)=default |
| Copy constructor. More... | |
| quantity & | operator= (const quantity &)=default |
| Copy assignment. More... | |
| quantity (quantity &&)=default | |
| Move constructor. More... | |
| quantity & | operator= (quantity &&)=default |
| Move assignment. More... | |
| ~quantity ()=default | |
| Destructor. More... | |
| constexpr const quantity | fixed_at (scale precision) const |
Returns a new quantity value with the length precision changed and fixed. More... | |
| constexpr const quantity | rescaled (scale precision) const |
Returns a new quantity value with the length precision changed but neither fixed nor unfixed. More... | |
| constexpr const quantity | refined () const |
Returns a new quantity value with the length precision minimized without losing precision. More... | |
| constexpr const quantity | coarsened () const |
Returns a new quantity value with the length precision maximized without losing precision. More... | |
| constexpr const quantity | unfixed () const |
Returns a new quantity value with the length precision unfixed. More... | |
| constexpr quantity | operator+ () const |
Returns a copy of the quantity value. More... | |
| constexpr quantity | operator- () const |
Returns the negation of the quantity value. More... | |
| constexpr quantity | operator+ (quantity rhs) const |
Returns a new quantity value with rhs added. More... | |
| constexpr quantity | operator- (quantity rhs) const |
Returns a new quantity value with rhs subtracted. More... | |
| constexpr quantity | operator* (float64 rhs) const |
Returns a new quantity value multiplied by rhs. More... | |
| constexpr quantity | operator/ (float64 rhs) const |
Returns a new quantity value divided by rhs. More... | |
| template<typename U_ > | |
| constexpr quantity< U_ > | operator* (quantity< U_ > rhs) const |
Returns the quantity value multiplied by rhs. More... | |
| template<typename U_ > | |
| constexpr quantity< decltype(_1/U_())> | operator/ (quantity< U_ > rhs) const |
Returns the quantity value divided by rhs. More... | |
| template<typename U_ > | |
| constexpr quantity< U_ > | operator* (U_ rhs) const |
Returns the quantity value multiplied by rhs. More... | |
| template<typename U_ > | |
| constexpr quantity< decltype(_1/U_())> | operator/ (U_ rhs) const |
Returns the quantity value divided by rhs. More... | |
| constexpr | operator float64 () const |
Returns a floating-point representation of the quantity value. More... | |
Public Member Functions inherited from sydevs::quantity_base | |
| constexpr bool | valid () const |
Returns true if the quantity value is valid. More... | |
| constexpr bool | finite () const |
Returns true if the quantity value is finite. More... | |
| constexpr int64 | multiplier () const |
| Returns the number that multiples the length precision. More... | |
| constexpr scale | precision () const |
| Returns the length precision. More... | |
| constexpr bool | fixed () const |
Returns true if the quantity value has a fixed length precision. More... | |
Static Public Member Functions | |
| static constexpr quantity | inf () |
| static constexpr quantity | max (scale precision) |
Friends | |
| template<typename U_ > | |
| class | quantity |
Additional Inherited Members | |
Protected Member Functions inherited from sydevs::quantity_base | |
| constexpr | quantity_base () |
| constexpr | quantity_base (int64 multiplier) |
| constexpr | quantity_base (int64 multiplier, scale precision) |
| constexpr | quantity_base (int64 multiplier, scale precision, bool fixed) |
| constexpr | quantity_base (scale precision, float64 multiplier, int8 fixed) |
| constexpr | quantity_base (const quantity_base &)=default |
| Copy constructor. More... | |
| quantity_base & | operator= (const quantity_base &)=default |
| Copy assignment. More... | |
| quantity_base (quantity_base &&)=default | |
| Move constructor. More... | |
| quantity_base & | operator= (quantity_base &&)=default |
| Move assignment. More... | |
| ~quantity_base ()=default | |
| Destructor. More... | |
Static Protected Member Functions inherited from sydevs::quantity_base | |
| static constexpr int64 | constexpr_abs (int64 n) |
| static constexpr float64 | constexpr_abs (float64 x) |
| static constexpr float64 | convert_multiplier (int64 multiplier) |
| static constexpr int64 | convert_level (int64 multiplier, int64 level) |
| static constexpr float64 | offset_multiplier (float64 multiplier) |
| static constexpr int64 | truncate_multiplier (float64 multiplier) |
| static constexpr int64 | round_multiplier (float64 multiplier) |
| static constexpr int64 | scale_multiplier (float64 multiplier, float64 factor) |
Protected Attributes inherited from sydevs::quantity_base | |
| float64 | multiplier_ |
| scale | precision_ |
| int8 | fixed_ |
Static Protected Attributes inherited from sydevs::quantity_base | |
| static constexpr float64 | inf_float64 = std::numeric_limits<float64>::infinity() |
| static constexpr float64 | nan_float64 = std::numeric_limits<float64>::quiet_NaN() |
| static constexpr int64 | inf_int64 = std::numeric_limits<int64>::max() |
| static constexpr int64 | nan_int64 = std::numeric_limits<int64>::min() |
A speciaulization to facilitate the conversion of dimensionless quantities into floats.
|
constexpr |
|
explicitconstexpr |
|
constexpr |
|
constexprdefault |
Copy constructor.
|
default |
Move constructor.
|
default |
Destructor.
|
constexpr |
Returns a new quantity value with the length precision maximized without losing precision.
|
constexpr |
Returns a new quantity value with the length precision changed and fixed.
|
staticconstexpr |
|
staticconstexpr |
|
constexpr |
Returns a floating-point representation of the quantity value.
|
constexpr |
Returns a new quantity value multiplied by rhs.
|
constexpr |
Returns the quantity value multiplied by rhs.
|
constexpr |
Returns the quantity value multiplied by rhs.
|
constexpr |
Returns a copy of the quantity value.
|
constexpr |
Returns a new quantity value with rhs added.
|
constexpr |
Returns the negation of the quantity value.
|
constexpr |
Returns a new quantity value with rhs subtracted.
|
constexpr |
Returns a new quantity value divided by rhs.
|
constexpr |
Returns the quantity value divided by rhs.
|
constexpr |
Returns the quantity value divided by rhs.
|
default |
Copy assignment.
|
default |
Move assignment.
|
constexpr |
Returns a new quantity value with the length precision minimized without losing precision.
|
constexpr |
Returns a new quantity value with the length precision changed but neither fixed nor unfixed.
|
constexpr |
Returns a new quantity value with the length precision unfixed.
|
friend |