822 Commits

Author SHA1 Message Date
Henry Schreiner 40add38b22 fix: support sparse storage with accumulators (#421)
Signed-off-by: Henry Schreiner <henryfs@princeton.edu>
2026-03-26 21:38:50 +01:00
Andrey Semashev 5e9b7b162e Only use console window size if ioctl(TIOCGWINSZ) succeeded. (#418)
This avoids potentially using uninitialized data if ioctl fails. Also, zero-initialize the winsize struct to begin with.
2025-11-28 11:08:55 +01:00
Thomas-Barbier-1A c55b5290af Don't use deprecated form of user-defined literal operator (#408)
* Don't use deprecated form of user-defined literal operator
* add clang warning regarding deprecated literal operator

---------

Co-authored-by: Hans Dembinski <hans.dembinski@gmail.com>
2025-06-05 16:54:54 +02:00
Hans Dembinski 66842660c0 fix some false positive warnings emitted by msvc (#399)
* fix some false positive warnings emitted by msvc
* make find_package for Python3 more specific
2024-04-25 12:51:47 +02:00
Ruggero Turra 90867e24a4 Add collector accumulator (#390)
Co-authored-by: Hans Dembinski <hans.dembinski@gmail.com>
2024-04-25 09:05:40 +02:00
Hans Dembinski cd3e1110cb Updates from #370 (#397)
This PR keeps the useful changes from PR #370, which was never finished.
2024-04-24 17:39:24 +02:00
Hans Dembinski 70b98302a2 Replace detail::span and detail::make_span with implementations in boost::core (#384)
* fix cmake build of benchmarks

* wip

* u

* u

* rename span.hpp to make_span.hpp

* missing file

* also replace make_span
2023-02-19 17:42:01 +01:00
Hans Dembinski 48ff00b642 further doc improvements (#383) 2022-12-26 16:21:31 +01:00
Hans Dembinski 04946089f4 improve docstrings for axes, explain move issue (#382) 2022-12-26 14:41:18 +01:00
Han Jiang 78021d54d8 add parentheses around min and max (#377) 2022-12-24 14:26:14 +01:00
Hans Dembinski 72064c642a increase coverage and fix noexcept (#375) 2022-12-23 01:21:39 +01:00
Hans Dembinski d475bc9b85 Fixes for latest compilers (#373) 2022-12-23 00:58:31 +01:00
Hans Dembinski 25608fe86a fix sub_array and span in C++20 (#368) 2022-10-03 13:57:08 +02:00
Hans Dembinski 1c9077a6e1 Enable pre-commit (#366) 2022-09-28 12:11:50 +02:00
Jay Gohil 10c19df918 Add fraction accumulator (for calculating efficiencies, etc) (#361)
* Added fraction accumulator
* Added binomial proportion interval computers: Wald, Wilson Score, Clopper Pearson, Jeffreys
* Width of intervals for all classes can be set via deviation or confidence_level
* Support valarray in histogram::fill
* Add fraction and count to user guide

Co-authored-by: Hans Dembinski <hans.dembinski@gmail.com>
Co-authored-by: Hans Dembinski <HDembinski@users.noreply.github.com>
2022-09-28 11:18:46 +02:00
Hans Dembinski 7cf67610f8 make iterator_adaptor easier to use (#364) 2022-09-17 18:35:33 +02:00
Hans Dembinski 4699dbc0e8 fix tests for msvc 2022 (#363) 2022-07-28 19:16:27 +02:00
Hans Dembinski 843cacffbf fix indexed crash for histograms with axes of zero size (physical or logical) (#356) 2022-07-20 09:51:16 +02:00
Hans Dembinski 9caf633366 remove deprecated API, as previously announced (#359) 2022-07-19 23:08:38 +02:00
Hans Dembinski d736aab212 Division support for weighted_sum (#351) 2022-02-10 10:36:07 +01:00
Hans Dembinski bf7712f0d7 regular and variable axis are closed intervals if overflow bin is absent (#344) 2021-11-15 09:29:14 +01:00
Hans Dembinski b482598597 cpp17: set axis compile-time options via deduction guide (#340) 2021-11-15 09:29:12 +01:00
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