Commit Graph

630 Commits

Author SHA1 Message Date
Hans Dembinski
ac47484483 simper and slightly faster adaptive_storage 2019-01-12 23:37:31 +01:00
Hans Dembinski
5ba3c694b0 fix 2019-01-12 21:40:11 +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
2e4ad7a5df enable growing axis support at compile-time only when needed 2019-01-11 23:33:30 +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
e77e9ab2fe update 2019-01-11 00:06:26 +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
76dddd6d95 removing debris 2019-01-11 00:06:26 +01:00
Hans Dembinski
e80ae946e6 full iterator support 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
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
20e4711c85 testing and plotting iteration performance 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
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
1f814cecd9 better benchmark 2019-01-11 00:06:26 +01:00
Hans Dembinski
94a3364c83 better test of indexed range adaptor and new benchmark for indexed 2019-01-11 00:06:26 +01:00
Hans Dembinski
ab8201eca1 fixes for complaints by cppcheck 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
8013048c71 restore axis_size command to track size of axis types 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
b7dd2865cc use correct size for buffer if size is known at compile-time 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
7ad5ea180d removed superfluous include 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
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
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
49ebd1c3ce doc fix 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
bf7170c9a1 fix ci 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
521b43778a refactoring of make_histogram factories 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
04ca7a3fee wip for adding profile support 2019-01-11 00:06:25 +01:00
Hans Dembinski
15e6a44466 better warning fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
faede986fd 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
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
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
2131875ea7 simpler 2019-01-11 00:06:25 +01:00
Hans Dembinski
8c4c502c00 nicer comments 2019-01-11 00:06:25 +01:00
Hans Dembinski
07b95ae579 win fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
1ccd5375e2 missing file 2019-01-11 00:06:25 +01:00
Hans Dembinski
ae5a539336 win 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
2e4a77123a todo note 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
92d062ceb9 more testing 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
2164ea85b3 refactoring 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
6df93a17f0 win fix 2019-01-11 00:06:25 +01:00
Hans Dembinski
1c7d28ca9b factoring out test code 2019-01-11 00:06:25 +01:00
Hans Dembinski
949775a9f4 try win fix 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
5b32131fd5 win fix 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
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
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
5187b50656 fixed 2019-01-11 00:06:25 +01:00
Hans Dembinski
7b44f83ed1 WIP, added tests of failing behavior 2019-01-11 00:06:25 +01:00
Mateusz Łoskot
58b1b31bdc Fix prototype of tracing_allocator::deallocate
Align the parameter types with std::allocator::deallocate prototype.
Otherwise, compilation using MSVC 19.15.26729 fails due to
unresolved conversion of the first argument from T* const to T*&
2019-01-11 00:06:25 +01:00
Hans Dembinski
b808a913f9 whitespace 2018-09-16 18:50:06 +02:00
Mateusz Łoskot
03e5150e0b Compile and link histogram speed test by default 2018-09-16 01:10:14 +02:00
Hans Dembinski
60f351b688 fix 2018-09-16 00:03:35 +02:00
Mateusz Łoskot
25a9d80f8e Add adaptive_storage_serialization_test.cpp to test/Jamfile
Refine dependency on Boost.Serialization in test/Jamfile.
Rename Jamfile.v2 files to Jamfile - the historic suffix
is no longer relevant.
2018-09-15 23:41:46 +02:00
Mateusz Łoskot
07b4b410ce Add run-fail tests to test/Jamfile for Boost.Build
Refactor test/Jamfile to manually list all tests.
Add top-level Jamfile with common compilation settings.
2018-09-15 23:01:35 +02:00
Hans Dembinski
ac0e503436 adapted test 2018-09-15 22:40:47 +02:00
Hans Dembinski
633159dbc8 fix for issue 72, allocator not used for cpp_int 2018-09-15 19:50:46 +02:00
Hans Dembinski
8694655993 fix 2018-09-15 15:29:40 +02:00
Hans Dembinski
f7bd1a3b22 different convention for expected to fail tests 2018-09-15 14:11:50 +02:00
Hans Dembinski
654b5a2be6 removing all python 2018-09-15 13:29:34 +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
d2a95786f2 throwing out static_axes and dynamic_axes aliases 2018-08-24 10:51:58 +02:00
Hans Dembinski
539cb57f27 bit more coverage 2018-08-23 22:47:14 +02:00
Hans Dembinski
7da8d1d7ff fixing test on windows 2018-08-23 22:41:49 +02:00
Hans Dembinski
9cf5b96478 fix warnings about comparison of signed and unsigned 2018-08-23 13:07:26 +02:00
Hans Dembinski
d817764136 allocator support for category axis 2018-08-22 14:55:44 +02:00
Hans Dembinski
68a41de1e7 fixing more tests 2018-08-22 13:06:39 +02:00
Hans Dembinski
6517467aa2 fixing more tests 2018-08-22 13:04:11 +02:00
Hans Dembinski
4e6004af06 fixing a few tests 2018-08-22 12:43:00 +02:00
Hans Dembinski
f1c59deb04 make axis::variable allocator aware 2018-08-21 18:45:52 +02:00
Hans Dembinski
8216af927e fixing compilation of histogram_test, removed redundant code in make_*_histogram variants, more control over types allowed by make_dynamic_histogram* 2018-08-21 12:37:17 +02:00
Hans Dembinski
affe12e4cd init, WIP, compilation broken 2018-08-16 00:37:18 +02:00
Hans Dembinski
9c15c580a5 use std::size_t instead of int for axis indices, use asserts to make sure that arguments for reduce_to are proper, added missing copyright statements 2018-08-14 23:27:42 +02:00
Hans Dembinski
6fd8bd4e1d eliminate msvc warning 2018-08-13 21:33:03 +02:00
Hans Dembinski
7832cca461 more coverage 2018-08-13 20:58:06 +02:00
Hans Dembinski
07c11ddb91 removing utility header everywhere 2018-08-13 14:50:52 +02:00
Hans Dembinski
904d05f55b fix of speed_cpp and ignore some warnings in release mode 2018-08-13 01:44:58 +02:00
Hans Dembinski
d4b1715451 all tests pass 2018-08-13 01:24:41 +02:00
Hans Dembinski
be5d706769 unified histogram template 2018-08-12 22:25:32 +02:00
Hans Dembinski
9c41fa84ff fixed test for adapative storage 2018-08-06 00:38:30 +02:00
Hans Dembinski
109a7183ab WIP: everything compiles but most of histogram class is broken 2018-08-06 00:31:45 +02:00
Hans Dembinski
a84f469944 superficial adaptation of axis types, still need to use allocator internally 2018-08-05 15:56:58 +02:00
Hans Dembinski
31a0c2b8c0 and corresponding test with cleanup 2018-08-05 13:33:31 +02:00
Hans Dembinski
93301685a5 superfluous 2018-08-04 12:17:12 +02:00
Hans Dembinski
bdcb1025bc switching back to std::vector to fix tests, not worth the trouble 2018-08-03 22:34:36 +02:00
Hans Dembinski
9a2d4c4165 partial fix 2018-08-03 15:54:02 +02:00
Hans Dembinski
d30f269b3f suppress warning on msvc 2018-08-01 01:13:35 +02:00
Hans Dembinski
c8bc743c2c fix 2018-08-01 00:32:19 +02:00
Hans Dembinski
107f971508 fix 2018-08-01 00:18:16 +02:00
Hans Dembinski
e8bd056d8e fixed all tests 2018-07-31 22:30:03 +02:00
Hans Dembinski
b473391493 everything works up to serialization 2018-07-29 17:15:41 +02:00
Hans Dembinski
4584fda1df work in progress 2018-07-29 15:01:41 +02:00
Hans Dembinski
8c0f521e58 more coverage 2018-07-22 23:27:00 +02:00
Hans Dembinski
15c44e9856 fix 2018-07-22 19:05:52 +02:00
Hans Dembinski
72ee4a4f53 fix 2018-07-22 18:56:38 +02:00
Hans Dembinski
55118d329c fix 2018-07-22 18:33:25 +02:00
Hans Dembinski
c67329ffb4 more coverage 2018-07-22 17:30:49 +02:00
Hans Dembinski
701221daee less warnings on MSVC 2018-07-22 16:29:08 +02:00
Hans Dembinski
8dd0458250 axes behave consistent now: oflow bin added for category axis, NaN always ends up in oflow bin for all axes 2018-07-22 12:13:14 +02:00
Hans Dembinski
d4dbae92f5 clang-format everything 2018-07-21 17:27:18 +02:00
Hans Dembinski
47d4d85301 use static_cast_visitor to simplify class implementation, removed custom axis::cast, use standard static_cast instead 2018-07-21 16:19:33 +02:00
Hans Dembinski
841ba80229 remove redundant tests and definitions 2018-07-21 16:17:36 +02:00
Hans Dembinski
cb9e6696b6 missing files 2018-07-19 23:50:48 +02:00
Hans Dembinski
f5d1c0a00d internal refactoring and a bug fix 2018-07-19 23:48:48 +02:00
Hans Dembinski
2198ff883f clang format everything with new house style 2018-07-19 22:19:01 +02:00
Hans Dembinski
42326254f8 Merge branch 'develop' of github.com:HDembinski/histogram into develop 2018-07-19 00:25:32 +02:00
Hans Dembinski
427fc5c9a1 refactoring of axes class hierarchy, implemented common base type optimization for axis::any 2018-07-19 00:25:13 +02:00
Hans Dembinski
0fd4b3dd6e removing platform-dependent tests 2018-07-18 13:37:59 +02:00
Hans Dembinski
6ff37c06f8 renamed bincount method to size, removed inline where it is not needed, added inline for free functions, made histogram iterator light-weight, put index cache into histogram class 2018-07-16 00:34:01 +02:00
Hans Dembinski
13db98a65b minor code refactoring, better performance for dynamic histogram without inline 2018-07-15 22:29:50 +02:00
Hans Dembinski
c8352f1e50 additional test 2018-07-15 16:49:51 +02:00
Hans Dembinski
bb1518141d more coverage 2018-07-14 19:39:52 +02:00
Hans Dembinski
391c2d6e83 more coverage 2018-07-14 19:20:09 +02:00
Hans Dembinski
d83fe99cfc renamed axis.hpp to types.hpp 2018-07-14 18:10:44 +02:00
Hans Dembinski
bca4892d62 cleanup 2018-07-14 17:22:13 +02:00
Hans Dembinski
aed4255fc0 clang format 2018-07-14 16:59:22 +02:00
Hans Dembinski
422f4b32c0 fix for clang 2018-07-14 16:26:37 +02:00
Hans Dembinski
f62c927e88 fixing travis 2018-07-14 16:16:04 +02:00
Hans Dembinski
ceb095c840 fixing msvc 2018-07-14 15:58:31 +02:00
Hans Dembinski
6a6bf76100 fixing benchmarks, simplified build 2018-07-14 15:51:07 +02:00
Hans Dembinski
bb9289c258 refactoring completed, all tests pass 2018-07-14 15:27:08 +02:00
Hans Dembinski
052585b488 work in progress, everything compiles again 2018-07-14 01:37:34 +02:00
Hans Dembinski
e1fa2fa644 work in progress 2018-07-13 23:21:04 +02:00
Hans Dembinski
c7bca32b59 cleanup 2018-07-13 01:35:34 +02:00
Hans Dembinski
39a3d1ad69 restored and tested for_each 2018-07-13 01:24:16 +02:00
Hans Dembinski
b5d2b36a25 work in progress: axis_test and detail_test working 2018-07-13 00:41:20 +02:00
Hans Dembinski
06d6635684 better coverage, more consistent exceptions, better handling of transforms 2018-07-11 22:41:42 +02:00
Hans Dembinski
473e47dc94 adapt to new interface 2018-07-11 10:22:47 +02:00
Hans Dembinski
da5f42b3da support for operator[] 2018-07-08 19:12:13 +02:00
Hans Dembinski
b9a35f7b4f renamed method bin to method at 2018-07-05 09:10:04 +02:00
Hans Dembinski
6c5b56d1bc more coverage 2018-07-05 01:13:18 +02:00
Hans Dembinski
dfafc863fe more coverage 2018-07-05 01:05:30 +02:00
Hans Dembinski
43dbc112b3 fix python tests 2018-07-04 23:51:42 +02:00
Hans Dembinski
d03bf52ffa fix bug 2018-07-04 21:43:58 +02:00
Hans Dembinski
8d25563438 increase test coverage, simplify testing of python stuff, add support for tests which intentionally trigger an assert 2018-07-04 21:34:34 +02:00
Hans Dembinski
5027bc48c4 removing obsolete header and fix test 2018-07-04 00:30:02 +02:00
Hans Dembinski
5837e8d0c6 fix travis 2018-07-03 09:09:05 +02:00
Hans Dembinski
f9203a1159 fixed build, removed implicit conversion of weight_counter to double, make serialization really optional 2018-07-03 00:08:34 +02:00
Hans Dembinski
56ffce6223 fix of build system and some gcc warnings 2018-07-02 21:21:46 +02:00
Hans Dembinski
316789b765 fixed python tests, make debug build by default, started to reduce template dependencies 2018-07-02 13:08:07 +02:00
Hans Dembinski
cfd47c4c11 fixing most of the python errors 2018-07-02 01:01:04 +02:00
Hans Dembinski
5fc67137e4 issue 45: use operator() to fill; issue 44: removed sum(), use std::for_each or std::accumulate instead; added support for stl containers as fill and index arguments 2018-07-01 21:41:09 +02:00
Hans Dembinski
e6c9d717c0 replacing bin method with operator() 2018-03-28 16:51:53 +02:00
Hans Dembinski
dac1a0c0be clang format 2018-03-28 13:22:10 +02:00
Hans Dembinski
23378345e7 STL support, making weight_counter implicitly convertible to RealType so that stl algorithms work with iterators 2018-03-28 12:05:10 +02:00
Hans Dembinski
95076ace3c lightweight alternative to vector 2018-03-18 22:22:51 +01:00