<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal/catch_approx.cpp, branch v2.6.0</title>
<subtitle>Progmasoft Catch3: an independently maintained C++17 test framework with a parallel runner, property checks, snapshots and structured results.</subtitle>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/'/>
<entry>
<title>Replace most naked throws with macros from catch_enforce.h</title>
<updated>2018-09-03T16:07:34+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2018-09-03T08:03:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=86da2846af20666d85effcecd4c90077477c1ce6'/>
<id>86da2846af20666d85effcecd4c90077477c1ce6</id>
<content type='text'>
This is a first step towards support a no-exceptions mode
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a first step towards support a no-exceptions mode
</pre>
</div>
</content>
</entry>
<entry>
<title>Move Approx's validity checks out of line into cpp file</title>
<updated>2018-09-03T08:15:51+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2018-09-03T08:15:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=84fa76e9850c08e7d54533f1b9645f63c6b73001'/>
<id>84fa76e9850c08e7d54533f1b9645f63c6b73001</id>
<content type='text'>
This avoids having to include &lt;stdexcept&gt; in the main include path
and speeds up the compilation if Approx is used with multiple
different types.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This avoids having to include &lt;stdexcept&gt; in the main include path
and speeds up the compilation if Approx is used with multiple
different types.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add float/int literal for Approx</title>
<updated>2018-07-15T15:03:12+00:00</updated>
<author>
<name>Henry Schreiner</name>
</author>
<published>2018-05-21T13:42:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=283e2e6d41b181fd1c35cecd94c7b2f8e853d888'/>
<id>283e2e6d41b181fd1c35cecd94c7b2f8e853d888</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduced ReusableStringStream and removed all uses of std::ostringstream from the main path</title>
<updated>2017-11-07T18:01:10+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2017-11-07T18:01:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=56e107561362147dc13f63294a9a5b90b855697b'/>
<id>56e107561362147dc13f63294a9a5b90b855697b</id>
<content type='text'>
ReusableStringStream holds a std::ostringstream internally, but only exposes the ostream interface.
It caches a pool of ostringstreams in a vector which is currently global, but will be made thread-local.

Altogether this should enable both runtime and compile-time benefits. although more work is needed to realise the compile time opportunities.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ReusableStringStream holds a std::ostringstream internally, but only exposes the ostream interface.
It caches a pool of ostringstreams in a vector which is currently global, but will be made thread-local.

Altogether this should enable both runtime and compile-time benefits. although more work is needed to realise the compile time opportunities.
</pre>
</div>
</content>
</entry>
<entry>
<title>Approx cleanup: More tests, INFINITY handling, etc</title>
<updated>2017-11-01T06:30:11+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-11-01T06:30:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=22ac9d2184b3868cccfd635eb631d0eee1529121'/>
<id>22ac9d2184b3868cccfd635eb631d0eee1529121</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Approx rework: default scale == 0, epsilon applies to Approx::value</title>
<updated>2017-10-31T14:43:42+00:00</updated>
<author>
<name>Pfiffikus</name>
</author>
<published>2017-10-26T07:19:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=00af677577973758b3b35e1c94ab4142c45c3f67'/>
<id>00af677577973758b3b35e1c94ab4142c45c3f67</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>enclosed more min/ max in parentheses to default MFC macros</title>
<updated>2017-10-13T12:46:39+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2017-10-12T15:00:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=2eb93f47f7523146b3a10a22034c3525fde92bbe'/>
<id>2eb93f47f7523146b3a10a22034c3525fde92bbe</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Changed all .hpp extensions to .h where there is now a corresponding .cpp</title>
<updated>2017-09-07T10:24:33+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2017-09-07T10:24:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=c5608f0202eb8ffd360e58db081fef248d675a6b'/>
<id>c5608f0202eb8ffd360e58db081fef248d675a6b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove &lt;algorithm&gt; header from the common path</title>
<updated>2017-08-17T18:04:53+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-08-17T13:34:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=597fca3c8971500fe541417c7434e85d9a41b8c2'/>
<id>597fca3c8971500fe541417c7434e85d9a41b8c2</id>
<content type='text'>
It was only used for std::max&lt;double&gt; within Approx, so we now have
::Catch::Detail::max(double, double) that is used instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was only used for std::max&lt;double&gt; within Approx, so we now have
::Catch::Detail::max(double, double) that is used instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Split out non-templated Approx methods into cpp file</title>
<updated>2017-07-19T11:40:00+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-07-19T08:01:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=edbe12276143fb27a7f98c1af0e6f25c8787aae2'/>
<id>edbe12276143fb27a7f98c1af0e6f25c8787aae2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
