Pfiffikus 00af677577 Approx rework: default scale == 0, epsilon applies to Approx::value
Also adds check to Approx::epsilon that the new epsilon has a valid
(ie one between 0 and 1)

Based on
http://realtimecollisiondetection.net/blog/?p=89
https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
https://en.wikipedia.org/wiki/Approximation_error#Formal_Definition

The given epsilon should refer to the target value, otherwise
the result would be unexpected, e.g. 101.02 == Approx(100).epsilon(0.01)
is true.
The default scale should be invisible, thus,
e.g. 101.01 == Approx(100).epsilon(0.01) gets false.
Finally even 101.000001 == Approx(100).epsilon(0.01) is false
2017-10-31 15:43:42 +01:00
2017-10-31 15:17:21 +01:00
2017-10-31 14:49:00 +01:00
2017-10-31 15:17:21 +01:00
2017-10-31 15:17:21 +01:00
2017-02-21 08:52:08 +00:00
2017-03-01 16:47:04 +00:00
2017-03-01 16:47:04 +00:00
2017-03-01 17:00:33 +00:00
2017-10-31 15:17:21 +01:00
2017-08-17 07:45:50 +01:00
2017-10-31 15:17:21 +01:00
2017-10-31 15:17:21 +01:00

catch logo

Github Releases Build Status Build status

The latest version of the single header can be downloaded directly using this link

What's the Catch?

Catch stands for C++ Automated Test Cases in Headers and is a multi-paradigm test framework for C++. which also supports Objective-C and, maybe, C. It is primarily distributed as a single header file, although certain extensions may require additional headers.

How to use it

This documentation comprises these three parts:

More

Description
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
Readme 62 MiB
Languages
C++ 90.1%
CMake 5.5%
Python 3.2%
Meson 0.7%
Starlark 0.3%