Commit Graph

745 Commits

Author SHA1 Message Date
Hans Dembinski
1b6adadae4 nicer stream for histogram 2019-02-03 21:57:53 +01:00
Hans Dembinski
24429164a9 iosfwd instead of ostream header 2019-02-03 21:33:26 +01:00
Hans Dembinski
59ae6d7ca1 properly handle axis with allocators 2019-02-03 21:28:17 +01:00
Hans Dembinski
7d2d718c2d better docs [ci skip] 2019-02-03 21:09:40 +01:00
Hans Dembinski
4048586be1 nicer docs, move attribute.hpp to details 2019-02-03 20:36:49 +01:00
Hans Dembinski
f1bc45e72f doc improvement [ci skip] 2019-02-03 20:12:09 +01:00
Hans Dembinski
7978ddef03 test and bug-fix of subtraction 2019-02-03 19:01:03 +01:00
Hans Dembinski
5657d31c38 make histogram and all builtin storages subtractable 2019-02-03 17:14:29 +01:00
Hans Dembinski
beda2065a4 nicer type handling 2019-01-31 20:53:03 +01:00
Hans Dembinski
fa211299f7 tell about no-overflow-guarantee and its loss, closes #120 2019-01-31 20:42:35 +01:00
Hans Dembinski
72d9ce635f axis:replaced operator() with index and operator[] with bin 2019-01-27 20:56:15 +01:00
Hans Dembinski
8cc4ff26a9 fix comment [ci skip] 2019-01-27 19:48:43 +01:00
Hans Dembinski
0bb5c1b3f4 faster indexed iteration, replaced boost::container::X with std::X 2019-01-27 19:46:46 +01:00
Hans Dembinski
451f36c774 simple 2019-01-27 16:46:42 +01:00
Hans Dembinski
7035d687e3 move implementation into implementation file 2019-01-27 11:31:01 +01:00
Hans Dembinski
8d90019a53 remove obsolete 2019-01-27 11:30:28 +01:00
Hans Dembinski
ed5af698bc use std::enable_if_t for check, to get better error messages 2019-01-24 21:35:17 +01:00
Hans Dembinski
47b8a0734d CI fix 2019-01-24 20:53:33 +01:00
Hans Dembinski
5396998eb7 improved stdlib compat, fixed bug in reference 2019-01-24 00:16:38 +01:00
Hans Dembinski
2a4ed0b5f9 improve reference docs 2019-01-22 23:05:53 +01:00
Hans Dembinski
fd0b7dea8d better reference docu 2019-01-22 22:14:38 +01:00
Hans Dembinski
a412b53f12 fix 2019-01-22 20:48:07 +01:00
Hans Dembinski
0c052f5d62 better docs 2019-01-20 23:28:28 +01:00
Hans Dembinski
6bc32d0ea6 nicer 2019-01-20 22:56:38 +01:00
Hans Dembinski
2ea4051e62 big clean-up of reference docu, fix for axis::variant<const Ts&...>, renamed operator_ostream header to ostream 2019-01-20 22:48:39 +01:00
Hans Dembinski
b6f454f493 enable underflow and overflow for growing axis where possible 2019-01-19 23:19:04 +01:00
Hans Dembinski
d0a59b9830 return iterator to current bin after fill 2019-01-19 14:57:47 +01:00
Hans Dembinski
9d22f3791c implemented ctor with step size for regular axis, closes #88 2019-01-19 13:21:42 +01:00
Hans Dembinski
6da0059eed signal intend 2019-01-19 12:33:49 +01:00
Hans Dembinski
c826c1f824 cosmetics 2019-01-19 12:33:31 +01:00
Hans Dembinski
30cf2fe97e nicer 2019-01-17 22:26:59 +01:00
Hans Dembinski
f8ebf85a05 accessor [] to index and indices 2019-01-17 21:56:02 +01:00
Hans Dembinski
07b91f013f more pointer an array interface 2019-01-17 08:08:03 +01:00
Hans Dembinski
bc6ee8f89e switch second indexed argument to enum class and use use_default everywhere 2019-01-16 22:00:59 +01:00
Hans Dembinski
56c3d5bc40 fix ci 2019-01-16 20:48:11 +01:00
Hans Dembinski
acb5b7ba1e fix CI 2019-01-16 20:36:31 +01:00
Hans Dembinski
2a7f9cdf61 support for growing variable axis 2019-01-16 09:16:56 +01:00
Hans Dembinski
6c74da60ed regular axis growable; removed axis::base; replaced int with index_type 2019-01-16 00:52:41 +01:00
Hans Dembinski
cadc27135f make category growable and add missing deduction guides 2019-01-15 00:13:04 +01:00
Hans Dembinski
4108c54869 replacing custom SFINAE with mp11::mp_valid 2019-01-14 22:00:53 +01:00
Hans Dembinski
3ed77e7287 nicer way of injecting optional interface 2019-01-14 22:00:33 +01:00
Hans Dembinski
f1ac913246 better solution for adding optional update method when axis has growth 2019-01-13 23:18:39 +01:00
Hans Dembinski
8e9dd85837 wip: growing axis for axis::integer 2019-01-13 22:14:53 +01:00
Hans Dembinski
0479c512e3 rename option_type to option, new growth option, new utiltity functions test and join 2019-01-13 14:25:34 +01:00
Hans Dembinski
ac47484483 simper and slightly faster adaptive_storage 2019-01-12 23:37:31 +01:00
Hans Dembinski
4ad531fd77 shorter 2019-01-12 22:49:43 +01:00
Hans Dembinski
6158a9a8bc fix 2019-01-12 22:04:17 +01:00
Hans Dembinski
5ba3c694b0 fix 2019-01-12 21:40:11 +01:00
Hans Dembinski
1a04ecc4a0 add comment 2019-01-12 21:00:58 +01:00
Hans Dembinski
3179ac3420 fix 2019-01-12 20:58:55 +01:00
Hans Dembinski
cdc1fc442f fix 2019-01-12 20:51:30 +01:00
Hans Dembinski
3cec3edb9c working test: simpler variant visit, simpler linearize functions, extended traits; get_if for std compliance 2019-01-12 20:42:45 +01:00
Hans Dembinski
d926077705 nicer naming of internal functions and explicitly initialize shifts, 2019-01-11 23:56:18 +01:00
Hans Dembinski
2e4ad7a5df enable growing axis support at compile-time only when needed 2019-01-11 23:33:30 +01:00
Hans Dembinski
bd381dbe76 gcc fix 2019-01-11 00:47:18 +01:00
Hans Dembinski
54eb52d80d wip: growing axis for static 1d working 2019-01-11 00:38:34 +01:00
Hans Dembinski
7be6dd27f6 wip, support for growing axes 2019-01-11 00:11:34 +01:00
Hans Dembinski
b0b1f9065e exact comparison for references 2019-01-11 00:06:26 +01:00
Hans Dembinski
347ac33d2c make accessor writeable 2019-01-11 00:06:26 +01:00
Hans Dembinski
608a89fef3 fix travis 2019-01-11 00:06:26 +01:00
Hans Dembinski
e80ae946e6 full iterator support 2019-01-11 00:06:26 +01:00
Hans Dembinski
dd0943a4b0 not necessary 2019-01-11 00:06:26 +01:00
Hans Dembinski
188bf8ecbe Introduce grid type and derive histogram from grid 2019-01-11 00:06:26 +01:00
Hans Dembinski
37ac219921 added profile example and improved interface of mean and weighted_mean 2019-01-11 00:06:26 +01:00
Hans Dembinski
ca815dd231 remove obsolete comment 2019-01-11 00:06:26 +01:00
Hans Dembinski
2d5fb32b88 improved support and testing of axes over boost::units 2019-01-11 00:06:26 +01:00
Hans Dembinski
68ce22a323 deduction guides for histogram class 2019-01-11 00:06:26 +01:00
Hans Dembinski
d96f749a52 deduction guides for histogram 2019-01-11 00:06:26 +01:00
Hans Dembinski
12a79e5197 regular axis with unit can now also use transforms 2019-01-11 00:06:26 +01:00
Hans Dembinski
cbdd77f629 getting rid of value_bin_view, since we dont need to use bins as indices anymore 2019-01-11 00:06:26 +01:00
Hans Dembinski
a510b7dc93 no need for serialize method in histogram anymore 2019-01-11 00:06:26 +01:00
Hans Dembinski
c4c2476012 use indexed in reduce and project, making index_mapper obsolete 2019-01-11 00:06:26 +01:00
Hans Dembinski
168e41dc83 change the iteration order from 0...N-1 overflow underflow to underflow 0 ... N -1 overflow, move axis allocators at the end of template argument 2019-01-11 00:06:26 +01:00
Hans Dembinski
74d1b95d72 fixing deduction guide testing; better error when google benchmark is not found 2019-01-11 00:06:26 +01:00
Hans Dembinski
81abaa23eb fix for travis 2019-01-11 00:06:26 +01:00
Henry Fredrick Schreiner
d75b2dc207 Small typo fix 2019-01-11 00:06:26 +01:00
Henry Fredrick Schreiner
0d481a8938 Fix for duplicate symbol linking error 2019-01-11 00:06:26 +01:00
Hans Dembinski
fb7ca0a0ef added deduction guides for axis types; removed circular axis implementation, implemented circular option for regular, integer, and variable axis; simplified transform spec; added axis::allocator alias 2019-01-11 00:06:26 +01:00
Hans Dembinski
5752fd8f87 axis benchmark and simpler circular index calculation 2019-01-11 00:06:26 +01:00
Hans Dembinski
d6c7e81515 faster indexing when iterating over all bins 2019-01-11 00:06:26 +01:00
Hans Dembinski
f21d396179 better value access and fixes for CI builds 2019-01-11 00:06:26 +01:00
Hans Dembinski
1e0dcc72fb switch to int everywhere 2019-01-11 00:06:26 +01:00
Hans Dembinski
84641d0f41 added option for indexed to skip extra bins (new default); avoid mp11 in interface; use int as return type for axis::size() 2019-01-11 00:06:26 +01:00
Hans Dembinski
9783a329c4 BOOST_THROW_EXCEPTION 2019-01-11 00:06:26 +01:00
Hans Dembinski
5d98adcdef fix 2019-01-11 00:06:26 +01:00
Hans Dembinski
e2987d528e added nodiscard 2019-01-11 00:06:26 +01:00
Hans Dembinski
be16b0f39f fix 2019-01-11 00:06:26 +01:00
Hans Dembinski
fbf9707874 fix 2019-01-11 00:06:26 +01:00
Hans Dembinski
dc1f4ad47c fix 2019-01-11 00:06:26 +01:00
Hans Dembinski
a4fe842b4a added density method to indexed proxy, hide details of axes_buffer 2019-01-11 00:06:26 +01:00
Hans Dembinski
31c762b359 new interface for proxy returned by indexed, new test and fixes for boost.range support 2019-01-11 00:06:26 +01:00
Hans Dembinski
d512bf469f simpler 2019-01-11 00:06:26 +01:00
Hans Dembinski
b7dd2865cc use correct size for buffer if size is known at compile-time 2019-01-11 00:06:26 +01:00
Hans Dembinski
14649920b7 better placement 2019-01-11 00:06:26 +01:00
Hans Dembinski
e40757b9de clean up 2019-01-11 00:06:26 +01:00
Hans Dembinski
00cd2e866e changed axis::option_type to compile-time option, replaced fancy histogram iterator with indexed range adaptor, cleanup of various headers 2019-01-11 00:06:26 +01:00
Hans Dembinski
db8fe44e9e added support for variable axis 2019-01-11 00:06:26 +01:00
Hans Dembinski
82186969f3 added support for circular axis 2019-01-11 00:06:26 +01:00
Hans Dembinski
4533bd9fd4 added reduce algorithm to shrink and rebin, fixed bug in polymorphic_bin in the process, to-do: add more axis support for shrink and rebin 2019-01-11 00:06:26 +01:00
Hans Dembinski
09f58022c0 eliminate some warnings about conversions 2019-01-11 00:06:26 +01:00
Hans Dembinski
bac1490525 fix 2019-01-11 00:06:26 +01:00
Hans Dembinski
cfc037dc4e remove obsolete array includes and enable deactivated serialization tests 2019-01-11 00:06:26 +01:00
Hans Dembinski
3076fc21b9 define maximum capacity for internal buffers 2019-01-11 00:06:26 +01:00
Hans Dembinski
3b429d889c fix 2019-01-11 00:06:26 +01:00
Hans Dembinski
3661b238b6 clean up of accumuators, use consistent naming, make sure that sum accumulator can be used as RealType in weighted_sum 2019-01-11 00:06:26 +01:00
Hans Dembinski
855653ed14 fix win 2019-01-11 00:06:26 +01:00
Hans Dembinski
692f8082c8 fix win 2019-01-11 00:06:26 +01:00
Hans Dembinski
8ec2daed87 rewrote accumulators to use more numerically stable algorithms, do not propagate weight_type down to the accumuator anymore, added neumaier summation, simplified interface of weight accumulator 2019-01-11 00:06:26 +01:00
Hans Dembinski
c0009761f9 fix ci 2019-01-11 00:06:26 +01:00
Hans Dembinski
4d3f9afb74 new example with histogram thats filled in parallel 2019-01-11 00:06:26 +01:00
Hans Dembinski
4bc30a74f0 added sum algorithm 2019-01-11 00:06:25 +01:00
Hans Dembinski
04acab427d lifted condition that indices must be rising 2019-01-11 00:06:25 +01:00
Hans Dembinski
3020e72b53 moved reduce_to to project, closes issue 77 2019-01-11 00:06:25 +01:00
Hans Dembinski
0736a5e14a added unsafe access 2019-01-11 00:06:25 +01:00
Hans Dembinski
521b43778a refactoring of make_histogram factories 2019-01-11 00:06:25 +01:00
Hans Dembinski
46780f1a51 protect against programming error 2019-01-11 00:06:25 +01:00
Hans Dembinski
a6cb396704 more tests 2019-01-11 00:06:25 +01:00
Hans Dembinski
b82aa3b632 first working accumulator support 2019-01-11 00:06:25 +01:00
Hans Dembinski
773539f59b generalization of has_method_value_with_..., removed obsolete classify_container 2019-01-11 00:06:25 +01:00
Hans Dembinski
ec3e8d68da no need for a trait 2019-01-11 00:06:25 +01:00
Hans Dembinski
04ca7a3fee wip for adding profile support 2019-01-11 00:06:25 +01:00
Hans Dembinski
7f5188a81d fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
3b17374ac7 simpler 2019-01-11 00:06:25 +01:00
Hans Dembinski
cf8c7a1168 avoid warnings on travis with gcc-5 2019-01-11 00:06:25 +01:00
Hans Dembinski
1041aefa7a better warning handling 2019-01-11 00:06:25 +01:00
Hans Dembinski
b743458053 prefer struct over function 2019-01-11 00:06:25 +01:00
Hans Dembinski
0eb4262499 remove more warnings 2019-01-11 00:06:25 +01:00
Hans Dembinski
dce8d16f0d fix windows 2019-01-11 00:06:25 +01:00
Hans Dembinski
faede986fd fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
9a082b26e2 attempt to fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
d3d4f17ddb silence some warnings 2019-01-11 00:06:25 +01:00
Hans Dembinski
b808de8154 support for axis types which accept multiple arguments 2019-01-11 00:06:25 +01:00
Hans Dembinski
8546683a4f fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
4cc4cf0955 fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
3c25dbdecf fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
7491d4e470 try again to remove the warning 2019-01-11 00:06:25 +01:00
Hans Dembinski
a2cb137b93 fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
888c8bbf3e fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
0b18bd6f0d removed handling of dynamic containers passed via operator() to obtain better non-surprising solution for tuples passed to 1d histogram, weights can be passed at the beginning or end again of the call to histogram::operator() 2019-01-11 00:06:25 +01:00
Hans Dembinski
6b90cdb77b simpler 2019-01-11 00:06:25 +01:00
Hans Dembinski
ed4da69965 added tests for dynamic axis access 2019-01-11 00:06:25 +01:00
Hans Dembinski
69bfe0f7df support for runtime index access of axis on static histogram 2019-01-11 00:06:25 +01:00
Hans Dembinski
23790f4008 support for vector of non-variant axes 2019-01-11 00:06:25 +01:00
Hans Dembinski
693bb0d1d9 now also support vector of plain axis types 2019-01-11 00:06:25 +01:00
Hans Dembinski
7b99e6037d simpler 2019-01-11 00:06:25 +01:00
Hans Dembinski
4aa8b4faf5 simpler 2019-01-11 00:06:25 +01:00
Hans Dembinski
98f78c6179 simpler 2019-01-11 00:06:25 +01:00
Hans Dembinski
90b19b0324 simpler 2019-01-11 00:06:25 +01:00
Hans Dembinski
57870cf7dd simpler 2019-01-11 00:06:25 +01:00
Hans Dembinski
2b839497c2 simpler 2019-01-11 00:06:25 +01:00
Hans Dembinski
7253624add remove debris 2019-01-11 00:06:25 +01:00
Hans Dembinski
2131875ea7 simpler 2019-01-11 00:06:25 +01:00
Hans Dembinski
2e6f5a93a7 fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
f0c87418b1 fixed serialization and benchmark 2019-01-11 00:06:25 +01:00
Hans Dembinski
e20243e9d4 preliminary fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
fb80067aa5 added support for boost::accumulators, reintroduced add method to storage interface 2019-01-11 00:06:25 +01:00
Hans Dembinski
d326514ac8 all tests pass for adapted vector and array, map still failing 2019-01-11 00:06:25 +01:00
Hans Dembinski
61be24b94d working version 2019-01-11 00:06:25 +01:00
Hans Dembinski
a17a6c677c wip, histogram_test fails 2019-01-11 00:06:25 +01:00
Hans Dembinski
c6e24e4747 refactor 2019-01-11 00:06:25 +01:00
Hans Dembinski
77fc9405b7 fix warning 2019-01-11 00:06:25 +01:00
Hans Dembinski
47a245ded8 fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
450f80cb8a generialization of axis::variant 2019-01-11 00:06:25 +01:00
Hans Dembinski
390fe636a2 more noexcept and fixed iterator_value_type 2019-01-11 00:06:25 +01:00
Hans Dembinski
876b951931 suppress pragma warning and ignore failing test on msvc 2019-01-11 00:06:25 +01:00
Hans Dembinski
2212870fba test for quantity transform 2019-01-11 00:06:25 +01:00
Hans Dembinski
62622c6639 silence warning 2019-01-11 00:06:25 +01:00
Hans Dembinski
b8d158e94e refactoring axis types into separate functions, make them use compressed_pair instead of crappy custom empty base optimization 2019-01-11 00:06:25 +01:00
Hans Dembinski
22745ca571 fix win 2019-01-11 00:06:25 +01:00
Hans Dembinski
f605fe3f50 fix win 2019-01-11 00:06:25 +01:00
Hans Dembinski
d434a755bf fix win 2019-01-11 00:06:25 +01:00
Hans Dembinski
259c4fe34d fix win 2019-01-11 00:06:25 +01:00
Hans Dembinski
3721f1fa30 ws 2019-01-11 00:06:25 +01:00
Hans Dembinski
3fc67b07cd fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
97f39a40c8 fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
e0b7070276 fixing serialization 2019-01-11 00:06:25 +01:00
Hans Dembinski
3b60fd9102 replaced overload with static_if 2019-01-11 00:06:25 +01:00
Hans Dembinski
6664a8684c all tests without streamers passing, need to fix streamers 2019-01-11 00:06:25 +01:00
Hans Dembinski
c221d07b42 wip, histogram_test compiles 2019-01-11 00:06:25 +01:00
Hans Dembinski
c02e7b0f22 wip, axis_test passes 2019-01-11 00:06:25 +01:00
Hans Dembinski
7822c87f4f fixed axis_test 2019-01-11 00:06:25 +01:00
Hans Dembinski
793ef884df wip: fixing tests, removed weight_counter from adaptive_storage, storage scaling with double 2019-01-11 00:06:25 +01:00
Hans Dembinski
c237b97e94 wip: overhauled axis types, axis::any -> axis::variant, axis::traits provide features 2019-01-11 00:06:25 +01:00
Hans Dembinski
5187b50656 fixed 2019-01-11 00:06:25 +01:00
Hans Dembinski
5973df2e1e move trans instead of copy, use internal to compute min_ and delta_ 2019-01-11 00:06:25 +01:00
Hans Dembinski
75ccfe9f3e missing header 2018-09-16 18:50:27 +02:00
Hans Dembinski
c4c5e9c5df fix 2018-09-16 00:21:12 +02:00
Hans Dembinski
1d99bc93ee fix 2018-09-16 00:06:33 +02:00
Hans Dembinski
5baee1d381 win-fix 2018-09-15 23:51:49 +02:00
Hans Dembinski
9544436fd1 fix win 2018-09-15 23:17:55 +02:00
Hans Dembinski
5e266efb91 missing doxygen doc 2018-09-15 22:55:27 +02:00
Hans Dembinski
bf8c9b4162 scale type must be configurable and storages as backends should be structs 2018-09-15 22:40:31 +02:00
Hans Dembinski
2473a70f0b fix win 2018-09-15 20:50:11 +02:00
Hans Dembinski
3b807f9714 fix 2018-09-15 20:32:32 +02:00
Hans Dembinski
83149c17c9 fix 2018-09-15 20:03:00 +02:00
Hans Dembinski
633159dbc8 fix for issue 72, allocator not used for cpp_int 2018-09-15 19:50:46 +02:00
Mateusz Łoskot
ae4f87ceff
Fix include guards without leading underscore
Remove leading undescore from the macro names, make them legal C++.
2018-09-14 23:10:14 +02:00
Hans Dembinski
76aa64c861 add static assert for allocator condition 2018-09-02 16:41:38 +02:00
Hans Dembinski
40d7bd94b0 fix for issue 70 2018-09-02 16:21:20 +02:00
Hans Dembinski
0dea9e15b3 fix for issue 70 2018-09-02 16:21:14 +02:00