<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/src/catch2/benchmark/detail/catch_stats.hpp, branch constexpr_approx</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>Make jackknife TU-local to stats.cpp</title>
<updated>2023-09-16T19:29:47+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-09-16T19:29:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=92672591c114b442d3471bba600f6201f2d08b4c'/>
<id>92672591c114b442d3471bba600f6201f2d08b4c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make directCompare TU-local to stats.cpp</title>
<updated>2023-09-16T19:18:44+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-09-16T19:18:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=56fcd584c1a4ca7f9449843e239559e69a084a63'/>
<id>56fcd584c1a4ca7f9449843e239559e69a084a63</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Reduce the number of templates in Benchmarking</title>
<updated>2023-09-08T08:04:31+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-08-31T19:52:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=47a2c969380259e899f471edde84f06a6d687dc9'/>
<id>47a2c969380259e899f471edde84f06a6d687dc9</id>
<content type='text'>
The basic idea was to reduce the number of things dependent on the `Clock`
type. To that end, I replaced `Duration&lt;Clock&gt;` with `IDuration` typedef
for `std::nanoseconds`, and `FloatDuration&lt;Clock&gt;` with `FDuration`
typedef for `Duration&lt;double, std::nano&gt;`. We can generally assume that
any clock's duration can be expressed in nanoseconds, as long as we insert
`duration_cast`s into the right places.

Note that we cannot remove all dependence on `Clock` as a template
arguments, because functions that actually measure the elapsed time have
to use the Clock.

We also changed some template function arguments to pass plain function
pointers, so that the actual implementation can be placed into a cpp file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The basic idea was to reduce the number of things dependent on the `Clock`
type. To that end, I replaced `Duration&lt;Clock&gt;` with `IDuration` typedef
for `std::nanoseconds`, and `FloatDuration&lt;Clock&gt;` with `FDuration`
typedef for `Duration&lt;double, std::nano&gt;`. We can generally assume that
any clock's duration can be expressed in nanoseconds, as long as we insert
`duration_cast`s into the right places.

Note that we cannot remove all dependence on `Clock` as a template
arguments, because functions that actually measure the elapsed time have
to use the Clock.

We also changed some template function arguments to pass plain function
pointers, so that the actual implementation can be placed into a cpp file.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace vector iterator args in benchmarks with ptr args</title>
<updated>2023-09-08T08:04:19+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-08-31T20:04:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9bba07cb8736d1a949a50afc0b37a6611040db78'/>
<id>9bba07cb8736d1a949a50afc0b37a6611040db78</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Internal linkage for outlier_variance</title>
<updated>2023-05-01T11:21:47+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-04-30T22:51:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=51fdbedd1337955bedc02b570bb2a7fb19061f2e'/>
<id>51fdbedd1337955bedc02b570bb2a7fb19061f2e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Reduce compilation costs of benchmarks</title>
<updated>2023-05-01T11:21:41+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-04-10T13:03:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=fe64c28925d31292516ba0a172870e7deb3baad6'/>
<id>fe64c28925d31292516ba0a172870e7deb3baad6</id>
<content type='text'>
We replaced some simple std::algorithm usage by loops, and reduced
header inclusion.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We replaced some simple std::algorithm usage by loops, and reduced
header inclusion.
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up iterator usage in benchmarks</title>
<updated>2023-05-01T11:21:36+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-04-20T20:47:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=7d07efc92b626da9d03223a3b5cfd5f80b7cc377'/>
<id>7d07efc92b626da9d03223a3b5cfd5f80b7cc377</id>
<content type='text'>
Specifically we turned `mean`, `classify_outliers`, `jackknife`,
into concrete functions that take only `const_iterator` from vecs,
instead of generic iterators over anything.

I also changed `resample` to take `const_iterator` instead of
plain `iterator`, and similar for `standard_deviation`, and
`analyse_samples`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Specifically we turned `mean`, `classify_outliers`, `jackknife`,
into concrete functions that take only `const_iterator` from vecs,
instead of generic iterators over anything.

I also changed `resample` to take `const_iterator` instead of
plain `iterator`, and similar for `standard_deviation`, and
`analyse_samples`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix references to license file</title>
<updated>2022-10-28T09:30:15+00:00</updated>
<author>
<name>Lars Toenning</name>
</author>
<published>2022-10-28T09:22:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f1084fb30990fe40c8f5b70034970c7eb4e1da72'/>
<id>f1084fb30990fe40c8f5b70034970c7eb4e1da72</id>
<content type='text'>
The license file was renamed with 6a502cc2f5fedd59b3495b58708f0d6d987ed9e1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The license file was renamed with 6a502cc2f5fedd59b3495b58708f0d6d987ed9e1
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix implicit long to double conversion</title>
<updated>2022-06-06T22:27:37+00:00</updated>
<author>
<name>Joe Noël</name>
</author>
<published>2022-06-06T14:36:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=d0177ee68607e7298869807bfcd20c080512185f'/>
<id>d0177ee68607e7298869807bfcd20c080512185f</id>
<content type='text'>
Raises a compiler warning when compiled with `-Wimplicit-int-float-conversion` using clang.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Raises a compiler warning when compiled with `-Wimplicit-int-float-conversion` using clang.</pre>
</div>
</content>
</entry>
<entry>
<title>Add Wfloat-equal to default-enabled warnings</title>
<updated>2022-05-14T13:47:20+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-05-14T13:37:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=fc3d11b1d1090a5bcbcc9e410a460f9bf6a1f474'/>
<id>fc3d11b1d1090a5bcbcc9e410a460f9bf6a1f474</id>
<content type='text'>
This is kinda messy, because there is no good way to signal to
the compiler that some code uses direct comparison of floating
point numbers intentionally, so instead we have to use diagnostic
pragmas.

We also have to over-suppress the test files, because Clang (and
possibly GCC) still issue warnings from template instantiation
even if the instantion site is under warning suppression, so the
template definition has to be under warning suppression as well.

Closes #2406
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is kinda messy, because there is no good way to signal to
the compiler that some code uses direct comparison of floating
point numbers intentionally, so instead we have to use diagnostic
pragmas.

We also have to over-suppress the test files, because Clang (and
possibly GCC) still issue warnings from template instantiation
even if the instantion site is under warning suppression, so the
template definition has to be under warning suppression as well.

Closes #2406
</pre>
</div>
</content>
</entry>
</feed>
