Hans Dembinski
be058afcaf
fix for axis::get on a variant of pointers
...
* `axis::get<axis_t>(hist.axis(0))` failed, when hist uses an axis tuple
* added missing test for this case
2019-11-21 00:36:59 +01:00
Hans Dembinski
d0c1ef5b27
Allow some empty axes
2019-11-18 23:20:34 +01:00
Hans Dembinski
016532f011
Histogram fill method ( #54 )
...
huge refactor, various speed improvements, potential for further improvements and parallelization
2019-08-19 23:55:43 +02:00
Hans Dembinski
a06505d877
Get full coverage with tests only
2019-06-08 16:28:56 +02:00
Hans Dembinski
5f3f9d8fd7
Benchmark improvements and scripts to research history
...
* allow benchmarks to run in isolation, new scripts to run historic benchmarks
* make sure variant is never trivial in tests and benchmarks
2019-06-02 19:46:57 +02:00
Hans Dembinski
7a55bf0e29
move throw_exception implementation to test and benchmark folders
2019-05-28 23:15:17 +02:00
Hans Dembinski
ecd142080d
speed improvements for 1d and 2d histograms
...
* rename get_size to axes_rank and move axes buffer to axes.hpp
* added fill experiments
* faster and simpler fill_impl
* faster specializations for linearize_value
2019-05-26 23:51:15 +02:00
Hans Dembinski
8602102014
support -fno-exceptions and -fno-rrti and test this
2019-05-12 22:08:10 +02:00
Hans Dembinski
073dffdf09
More doc improvements
2019-04-28 12:22:49 +02:00
Hans Dembinski
9d25923b82
fix reduce when axis has no reduce support
...
- added is_reducible trait
- throw when axis is not reducible but reduction requested
2019-04-26 23:31:56 +02:00
Hans Dembinski
329fcf6855
Fix missing coverage and allocator-fail logic
...
* fixed allocator-failing code with better mock allocator; 100 % code coverage on all platforms
* fixed and refined use of safe comparison of number types
2019-04-23 23:25:05 +02:00
Hans Dembinski
1bf9dd9dfd
thread-safe storage
...
- new thread-safe accumulators for arithmetic types
- storages have a new flag `has_threading_support` to indicate support for parallel cell access
- histogram automatically synchronises growing axes and storage if necessary
2019-04-14 22:24:34 +02:00
Hans Dembinski
37edc673fa
fix msvc warnings ( #3 )
...
* removes warnings on msvc
* fixes ==, <, > comparison for mixed signed/unsigned types in unlimited_storage
2019-03-21 16:59:05 +01:00
Hans Dembinski
478a06ea30
Option tag ( #167 )
...
replace option system with simpler and future-safe system
2019-03-06 15:25:11 +01:00
Hans Dembinski
2568a68f76
msvc fixes, simplification and bug-fixes of mp_int, more test coverage ( #159 )
...
* fixes broken msvc build
* smaller xml files for testing serialization
* fixing many warnings on msvc
* bug-fixes to mp_int regarding operators and new tests to check their behavior
* don't expect iterable histogram::at to have size method
* build benchmarks in release mode
* test everything by default when b2 is run on project directory
* more test coverage
2019-02-18 10:04:27 +01:00
Hans Dembinski
9abbe46e3d
CI & doc update, removed multiprecision::cpp_int, simpler axis implementation, use_default to set default options
...
* Travis uses b2 and codecov now
* replacing boost::multiprecision with custom implementation to avoid the dependency
* improved axis implementation: `update` is now a normal method
* introduced use_default tag type to set defaults
* whitespace fixes and doc update
2019-02-17 13:37:50 +01:00
Hans Dembinski
4a2e3db0e0
upload edits on docs and minor code fixes ( #152 )
...
* renaming naked to remove_cvref_t
* more static_asserts to check implicit conditions
* use new BOOST_TEST_TRAIT_SAME
* reorganize and add operator tests, fixes for array and map adaptors
* improved map adaptor
* storage does not have to support scaling operator anymore
* doc improvements
2019-02-10 22:45:00 +01:00
Hans Dembinski
53b66cafc8
squash a few warnings on the boost matrix
2019-02-09 17:11:42 +01:00
Hans Dembinski
1b6adadae4
nicer stream for histogram
2019-02-03 21:57:53 +01:00
Hans Dembinski
beda2065a4
nicer type handling
2019-01-31 20:53:03 +01:00
Hans Dembinski
72d9ce635f
axis:replaced operator() with index and operator[] with bin
2019-01-27 20:56:15 +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
d0a59b9830
return iterator to current bin after fill
2019-01-19 14:57:47 +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
e77e9ab2fe
update
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
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
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
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
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
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
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
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
4bc30a74f0
added sum algorithm
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
04ca7a3fee
wip for adding profile support
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
23790f4008
support for vector of non-variant axes
2019-01-11 00:06:25 +01:00