mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-22 19:33:29 +01:00
Document Approx's UDL support
This commit is contained in:
parent
283e2e6d41
commit
ce80358306
@ -61,11 +61,24 @@ Catch provides a way to perform tolerant comparisons of floating point values th
|
|||||||
REQUIRE( performComputation() == Approx( 2.1 ) );
|
REQUIRE( performComputation() == Approx( 2.1 ) );
|
||||||
```
|
```
|
||||||
|
|
||||||
This way `Approx` is constructed with reasonable defaults, covering most simple cases of rounding errors. If these are insufficient, each `Approx` instance has 3 tuning knobs, that can be used to customize it for your computation.
|
Catch also provides a UDL for `Approx`; `_a`. It resides in
|
||||||
|
the `Catch::literals` namespace and can be used like so:
|
||||||
|
```cpp
|
||||||
|
using namespace Catch::literals;
|
||||||
|
REQUIRE( performComputation() == 2.1_a );
|
||||||
|
```
|
||||||
|
|
||||||
* __epsilon__ - epsilon serves to set the percentage by which a result can differ from `Approx`'s value before it is rejected. By default set to `std::numeric_limits<float>::epsilon()*100`.
|
`Approx` is constructed with defaults that should cover most simple cases.
|
||||||
* __margin__ - margin serves to set the the absolute value by which a result can differ from `Approx`'s value before it is rejected. By default set to `0.0`.
|
For the more complex cases, `Approx` provides 3 customization points:
|
||||||
* __scale__ - scale is used to change the magnitude of `Approx` for relative check. By default set to `0.0`.
|
|
||||||
|
* __epsilon__ - epsilon serves to set the percentage by which a result
|
||||||
|
can differ from `Approx`'s value before it is rejected.
|
||||||
|
_By default set to `std::numeric_limits<float>::epsilon()*100`._
|
||||||
|
* __margin__ - margin serves to set the the absolute value by which
|
||||||
|
a result can differ from `Approx`'s value before it is rejected.
|
||||||
|
_By default set to `0.0`._
|
||||||
|
* __scale__ - scale is used to change the magnitude of `Approx` for relative check.
|
||||||
|
_By default set to `0.0`._
|
||||||
|
|
||||||
#### epsilon example
|
#### epsilon example
|
||||||
```cpp
|
```cpp
|
||||||
|
Loading…
Reference in New Issue
Block a user