The floating_point_constant
Struct Template Reference
Struct template representing a generic floating point constant with custom size and precision. More...
Declaration
template <class T, auto N, auto D, auto Size, auto P = 1>
struct micro_os_plus::micro_test_plus::type_traits::floating_point_constant<T, N, D, Size, P>
Included Headers
#include <micro-os-plus/micro-test-plus.h>
Public Member Typedefs Index
template <class T, auto N, auto D, auto Size, auto P = 1> | |
using | value_type = T |
The type of the constant value. More... | |
Public Operators Index
template <class T, auto N, auto D, auto Size, auto P = 1> | |
constexpr | operator value_type () const |
Explicit conversion operator to value_type. More... | |
template <class T, auto N, auto D, auto Size, auto P = 1> | |
constexpr auto | operator- () const |
Unary minus operator. More... | |
Public Member Functions Index
template <class T, auto N, auto D, auto Size, auto P = 1> | |
constexpr auto | get () const |
Getter for the constant value. More... | |
Public Static Attributes Index
template <class T, auto N, auto D, auto Size, auto P = 1> | |
auto | epsilon = T (1) / math::pow (T (10), Size - 1) |
The epsilon value used for floating point comparisons. More... | |
template <class T, auto N, auto D, auto Size, auto P = 1> | |
auto | value = T (P) * (T (N) + (T (D) / math::pow (T (10), Size))) |
The constant value. More... | |
Description
Struct template representing a generic floating point constant with custom size and precision.
- Template Parameters
T The floating point type (e.g., float, double). N The integral part of the constant value. D The fractional part of the constant value. Size The number of decimal digits for the fractional part. P The sign of the value (1 for positive, -1 for negative). Defaults to 1.
The floating_point_constant
struct template provides a compile-time constant value of a floating point type, supporting custom size and precision. It inherits from op
to enable unified handling within the µTest++ framework's type traits and metaprogramming utilities.
This struct template exposes the constant value via a static member, a getter method, and explicit conversion operators. It also provides a unary minus operator to obtain the negative value as a new floating_point_constant
instance. The epsilon
member defines the precision used for floating point comparisons, calculated based on the specified size.
Definition at line 790 of file type-traits.h.
Public Member Typedefs
value_type
|
The type of the constant value.
Definition at line 795 of file type-traits.h.
Public Operators
operator value_type()
| inlineexplicitnodiscardconstexpr |
Explicit conversion operator to value_type.
- Returns
The constant value as type
value_type
.
Allows explicit conversion to the underlying floating point value type.
Definition at line 839 of file type-traits.h.
operator-()
| inlinenodiscardconstexpr |
Unary minus operator.
- Returns
A
floating_point_constant
with value-value
.
Returns a new floating_point_constant
instance representing the negative of the current value.
Definition at line 824 of file type-traits.h.
Public Member Functions
get()
| inlinenodiscardconstexpr |
Getter for the constant value.
- Returns
The constant value.
Returns the compile-time floating point constant value.
Definition at line 853 of file type-traits.h.
Public Static Attributes
epsilon
| constexprstatic |
The epsilon value used for floating point comparisons.
Calculated as 1 divided by 10 raised to the power of (Size - 1).
Definition at line 803 of file type-traits.h.
value
| constexprstatic |
The documentation for this struct was generated from the following file:
Generated via docusaurus-plugin-doxygen by Doxygen 1.14.0.