@micro-os-plus/micro-test-plus 4.1.0 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -6,8 +6,21 @@ Please check
|
|
|
6
6
|
[GitHub](https://github.com/micro-os-plus/micro-test-plus-xpack/issues/)
|
|
7
7
|
and close existing issues and pull requests.
|
|
8
8
|
|
|
9
|
+
## 2026-05-12
|
|
10
|
+
|
|
11
|
+
* v4.1.1 published on npmjs.com
|
|
12
|
+
* v4.1.1 prepared
|
|
13
|
+
* 2442265 Revert "fix clang16 linux build"
|
|
14
|
+
* dac3a9e fix clang16 linux build
|
|
15
|
+
|
|
9
16
|
## 2026-05-11
|
|
10
17
|
|
|
18
|
+
* d070711 fix clang16 linux build
|
|
19
|
+
* 1817181 website update
|
|
20
|
+
* 3c10916 website posts fixes
|
|
21
|
+
* bb42b96 website: blog post release 4.1.0 published
|
|
22
|
+
* a836b29 4.1.0
|
|
23
|
+
* 45b61e6 CHANGELOG: publish npm v4.1.0
|
|
11
24
|
* v4.1.0 published on npmjs.com
|
|
12
25
|
* 353d2a1 CmakeLists.txt add CXX
|
|
13
26
|
* 68c840b CMake cosmetics in comments
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ For information on how to install and use this project, please refer to the
|
|
|
16
16
|
|
|
17
17
|
The source code of the current release is available on
|
|
18
18
|
GitHub as [micro-os-plus/micro-test-plus-xpack](https://github.com/micro-os-plus/micro-test-plus-xpack),
|
|
19
|
-
the [v4.1.
|
|
19
|
+
the [v4.1.1](https://github.com/micro-os-plus/micro-test-plus-xpack/tree/v4.1.1) tree.
|
|
20
20
|
|
|
21
21
|
## License
|
|
22
22
|
|
|
@@ -182,35 +182,6 @@ namespace micro_os_plus::micro_test_plus
|
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
// ------------------------------------------------------------------------
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* @details
|
|
188
|
-
* Delegates to `value_base_<T>{ _value }` and stores the supplied
|
|
189
|
-
* precision in `epsilon`.
|
|
190
|
-
*/
|
|
191
|
-
template <class T>
|
|
192
|
-
requires is_floating_point<T>
|
|
193
|
-
constexpr value<T>::value (const T& _value, const T precision) noexcept
|
|
194
|
-
: value_base_<T>{ _value }, epsilon{ precision }
|
|
195
|
-
{
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* @details
|
|
200
|
-
* The epsilon is computed as 1 divided by 10 raised to the number of
|
|
201
|
-
* decimal digits in the value.
|
|
202
|
-
*/
|
|
203
|
-
template <class T>
|
|
204
|
-
requires is_floating_point<T>
|
|
205
|
-
constexpr value<T>::value (const T& val)
|
|
206
|
-
: value{ val,
|
|
207
|
-
T (1)
|
|
208
|
-
/ math::pow (T (10),
|
|
209
|
-
math::den_size<unsigned long long> (val)) }
|
|
210
|
-
{
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
// ------------------------------------------------------------------------
|
|
214
185
|
} // namespace type_traits
|
|
215
186
|
|
|
216
187
|
// --------------------------------------------------------------------------
|
|
@@ -752,20 +752,46 @@ namespace micro_os_plus::micro_test_plus
|
|
|
752
752
|
*/
|
|
753
753
|
T epsilon = T{};
|
|
754
754
|
|
|
755
|
+
// Note: These constructor bodies are defined inline rather than
|
|
756
|
+
// out-of-line in type-traits-inlines.h. Clang 16 has a deficiency
|
|
757
|
+
// where it fails to match out-of-line constructor definitions to a
|
|
758
|
+
// `requires`-constrained partial specialisation: it either rejects
|
|
759
|
+
// the `requires` clause on the definition as differing from the
|
|
760
|
+
// declaration, or — when the clause is omitted — incorrectly matches
|
|
761
|
+
// the definition against the primary template instead of this
|
|
762
|
+
// specialisation. Keeping the bodies here avoids both failure modes.
|
|
763
|
+
|
|
755
764
|
/**
|
|
756
765
|
* @brief Constructs a floating-point value with a specified precision.
|
|
757
766
|
*
|
|
758
767
|
* @param _value The floating-point value to be stored.
|
|
759
768
|
* @param precision The epsilon value to be used for comparisons.
|
|
769
|
+
*
|
|
770
|
+
* @details
|
|
771
|
+
* Delegates to `value_base_<T>{ _value }` and stores the supplied
|
|
772
|
+
* precision in `epsilon`.
|
|
760
773
|
*/
|
|
761
|
-
constexpr value (const T& _value, const T precision) noexcept
|
|
774
|
+
constexpr value (const T& _value, const T precision) noexcept
|
|
775
|
+
: value_base_<T>{ _value }, epsilon{ precision }
|
|
776
|
+
{
|
|
777
|
+
}
|
|
762
778
|
|
|
763
779
|
/**
|
|
764
780
|
* @brief Constructs a floating point value with default precision.
|
|
765
781
|
*
|
|
766
782
|
* @param val The floating point value to be stored.
|
|
783
|
+
*
|
|
784
|
+
* @details
|
|
785
|
+
* The epsilon is computed as 1 divided by 10 raised to the number of
|
|
786
|
+
* decimal digits in the value.
|
|
767
787
|
*/
|
|
768
|
-
constexpr value (const T& val)
|
|
788
|
+
constexpr value (const T& val)
|
|
789
|
+
: value{ val,
|
|
790
|
+
T (1)
|
|
791
|
+
/ math::pow (T (10),
|
|
792
|
+
math::den_size<unsigned long long> (val)) }
|
|
793
|
+
{
|
|
794
|
+
}
|
|
769
795
|
};
|
|
770
796
|
|
|
771
797
|
// ------------------------------------------------------------------------
|