Commit Graph

800 Commits

Author SHA1 Message Date
Hans Dembinski
1f1eda5c97 added comment about proven usefulness of this optimization 2021-11-15 09:28:35 +01:00
Hans Dembinski
b7e69a0cf9 improved doxygen docs 2021-11-15 09:28:23 +01:00
Hans Dembinski
f6577ec473 deprecate accumulators::sum::small and ::large as workaround for bug in windows.h (#343) 2021-11-15 08:18:05 +01:00
Hans Dembinski
6cc4601b87 Fix bug in 1D histogram::fill when axis is growing and argument is single value (#334) 2021-09-26 18:31:35 +02:00
Hans Dembinski
4a10c2c11b Fix and test for missing count division (#329) 2021-08-19 14:22:41 +02:00
Hans Dembinski
90a58d03ee fix scaling for count and update CI (#328) 2021-06-27 16:58:14 +02:00
Hans Dembinski
6cde30a366 deprecate accumulators::thread_safe, replace with optionally thread-safe accumulators::count (#326) 2021-05-17 22:20:47 +02:00
Hans Dembinski
2d9623d7ff Generalize indexed; allow interation over user-provided rectangular range (#321) 2021-04-24 22:37:42 +02:00
Hans Dembinski
c1b51ad640 fix inclusive() in integer axis (#320)
It was possible to trigger this bug, which triggered an assertion in debug mode. In release mode, it would have probably caused a segfault.
2021-04-24 12:24:47 +02:00
Hans Dembinski
d60f96ded6 ostream improvements: support more accumulators, unicode plots (#317) 2021-04-23 20:15:12 +02:00
Hans Dembinski
c80ab0ca34 add method to get effective count for weighted accumulators (#312)
following the discussion around boost-histogram's interface (Python wrapper)
2021-04-23 15:06:05 +02:00
Hans Dembinski
14fdb6fb56 Support floating point numbers in thread_safe accumulator, don't inherit from std::atomic (#315)
* don't inherit from std::atomic anymore
* support float and double
* added .value() method for consistency
2021-04-23 15:04:23 +02:00
Hans Dembinski
5d671b4ffc update internal detect code, add is_explicitly_convertible and is_complete (#316) 2021-04-23 14:58:54 +02:00
Hans Dembinski
f0e9e77a33 fixing bug in detection of weight support in user-defined accumulators (#314)
* Also fixed the accumulator concept spec, which was wrong
2021-03-18 12:58:12 +01:00
Hans Dembinski
f9920135c5 fix weighted_mean::operator+= and add missing noexcept to operator*= (#311) 2021-03-17 11:53:10 +01:00
Hans Dembinski
18b544c6ad add detail::square (#309) 2021-03-16 19:26:52 +01:00
Hans Dembinski
de33fc74a4 Fix variance calculation in accumulators::mean::operator+= (#308) 2021-03-16 13:17:40 +01:00
Hans Dembinski
5bd5bfb978 Bug-fix for one-sided cropping and clarify how cropping works (#302) 2020-12-07 15:12:20 +01:00
Hans Dembinski
ebe9010db8 bug-fix: handling of special values in ctor and in value method #301
* Fixed: Passing nan to the ctor of axis::variable failed to throw std::invalid_argument
* Fixed: axis::variable{{0, 1, inf}}.value(1) was nan, because interpolation would compute 0 * inf
2020-11-10 22:18:32 +01:00
Hans Dembinski
3f9e9c3dc8 Document undefined behavior of accumulator::mean and accumulator::weighted_mean (#298) 2020-11-01 23:38:50 +01:00
Hans Dembinski
9a37827066 test and fix for gcc-5 (#129) 2020-11-01 19:34:55 +01:00
Hans Dembinski
0840102bfe Workaround for gcc bug, fix for static global variable and function in header, fix of c++20 warning 2020-11-01 17:10:11 +01:00
Hans Dembinski
2f91f037b9 Replace travis and fix several warnings (#128)
* fix iteration warning
* fix c++20 warning of deprecated volatile ops
* fix warning of using naked throw
2020-10-31 20:40:11 +01:00
Hans Dembinski
6e78037c43 fix gcc warning -Wtautological-compare in options.hpp (#293) 2020-10-30 23:24:03 +01:00
Hans Dembinski
93348cf672 Add doxygen docs to boolean axis 2020-07-25 14:35:46 +02:00
Henry Schreiner
302c72dc72 fix: Boolean axes missing options() method (#283) 2020-07-05 08:45:18 +02:00
Hans Dembinski
5e60e86d3c rename binary to boolean (#126) 2020-06-24 23:50:25 +02:00
Hans Dembinski
4736fe761f remove mp_valid and simplify metaprogramming 2020-06-10 21:56:12 +02:00
Hans Dembinski
a819ef53bf remove boost.assert and cleanup boost.config 2020-06-08 00:41:12 +02:00
Hans Dembinski
5253358988 add binary axis 2020-06-06 23:45:12 +02:00
Hans Dembinski
1be4c4b3f2 faster for identical axes (#121) 2020-05-27 23:28:24 +02:00
Hans Dembinski
751e597384 Fixes bug in histogram::opertor+=, which ignored flow bin entries 2020-05-24 14:44:48 +02:00
Hans Dembinski
e8b61bf483 Flexible category add (#118)
- added axis::traits::continuous to match axis::traits::is_continuous
- axes now return mutable metadata even when constant
- histograms with discrete growing axis can be added
- use multi_index in histogram interface
2020-05-20 02:42:53 +02:00
Hans Dembinski
6d87576f1d fixing copy-pasted typo if ostream file descriptions 2020-04-14 17:08:46 +02:00
Hans Dembinski
45d927ac80 missing doxy for sample_type 2020-04-14 17:08:08 +02:00
Hans Dembinski
830f238534 reverting to standalone docs and some doc fixes 2020-03-23 19:12:51 +01:00
Hans Dembinski
e77fb53578 missing include 2020-03-23 15:44:47 +01:00
Hans Dembinski
9382f57f9a fix for scaling operator bug and accumulator_traits bug and new tests for these bugs 2020-03-11 00:49:05 +01:00
Hans Dembinski
38d9118c29 move reduce_command into separate header 2020-03-10 18:47:51 +01:00
Hans Dembinski
82a22250aa new docu section about histogram usage in APIs 2020-03-10 13:34:44 +01:00
Hans Dembinski
48226f606e revert to functions to generate reduce commands 2020-03-09 22:48:28 +01:00
Hans Dembinski
e751503536 Better documentation on usage of Boost.Accumulators and simplified accumulator_traits 2020-03-09 20:48:50 +01:00
Hans Dembinski
371323a65e remove the warnings workaround for variant2 2020-03-09 16:28:31 +01:00
Hans Dembinski
0583e6598d small interface fix and adaptations to current boost develop 2020-01-31 23:58:33 +01:00
Hans Dembinski
3e882bce26 add crop command for reduce 2020-01-31 21:41:32 +01:00
Hans Dembinski
82d9314302 reducible category axis and general reduce upgrade
* reducible category axis
* new axis::trait is_ordered and ordered()
* reduce accepts positional commands now
* renamed (old symbols still there, but deprecated)
  - static_is_inclusive -> is_inclusive
  - static_options -> get_options
  - reduce_option -> reduce_command
* reduce commands are now structs derived from reduce_command base instead of functions
* simplified TMP code in axis::traits 
* updated and improved docs for reduce
2020-01-06 01:37:52 +01:00
Hans Dembinski
9aef54cf70 Extended custom accumulator section in user guide and added count accumulator 2020-01-03 19:40:41 +01:00
Hans Dembinski
9fb9b5fe31 Reduce template usage in accumulators and add method documentation 2020-01-03 12:57:59 +01:00
Hans Dembinski
e1cd2a911c add value method to accumulator::sum 2020-01-03 12:15:27 +01:00
Hans Dembinski
270f6a1afb algorithm::sum gains coverage arg and improved documentation 2020-01-03 11:07:21 +01:00