Commit Graph

630 Commits

Author SHA1 Message Date
Hans Dembinski
e415be10cd
fix for fill segfault
old code allowed to pass sequences of length 1 with sequence of length N > 1, which is invalid
2019-11-21 12:35:37 +01:00
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
b1988cd75d
make serialize a member function for null_type 2019-11-21 00:24:32 +01:00
Hans Dembinski
e093ecd4b0
Fixes fill from strings and variant of value types and containers of value types 2019-11-21 00:23:10 +01:00
Hans Dembinski
d0c1ef5b27
Allow some empty axes 2019-11-18 23:20:34 +01:00
Hans Dembinski
b7fc900e3b Better error messages when fill arguments do not match accumulator requirements 2019-11-06 00:19:41 +01:00
Hans Dembinski
f56337177d
Fix sample argument bug
fixes: a weight could pass as sample and vice versa
2019-10-31 01:45:02 +01:00
Hans Dembinski
3923472642
bug fix of indexed for array storage 2019-10-30 09:26:54 +01:00
Hans Dembinski
9669df7432
reduced usage of ostringstream in exceptions 2019-10-28 20:08:37 +01:00
Hans Dembinski
3b18d9075b
Better deduction guides for axis types and histogram 2019-10-27 17:27:26 +01:00
Henry Schreiner
bf7a97ae8b Adding empty(hist, cov) (#245) 2019-10-27 09:42:24 +01:00
Hans Dembinski
4c1caf3462
removing callable_traits
* replacing callable_traits with private implementation
2019-10-26 13:12:45 +02:00
Hans Dembinski
c8b8c4d502
Fix accumulator issues (#72)
* add weighted_mean::sum_of_weights_squared
* sum of default constructed mean and weighted_mean is now equal to default constructed object
* thread-safe returns a reference to self in operators just like the other accumulators
2019-10-26 11:12:29 +02:00
Hans Dembinski
ebabd550a0
Replace detail::compressed_pair with boost::core::empty_value 2019-10-24 21:47:17 +02:00
Hans Dembinski
5e24146062
re-introduce optimizing array_wrapper for serialization 2019-10-22 23:35:36 +01:00
Hans Dembinski
c22e69c4f1
Build system fixes
- CMake: make compile-fail tests fail for the right reasons not because of missing headers
- CMake: run check_odr_test.py
- B2: actually run check_odr_test.py and check_build_system.py
2019-10-22 23:32:27 +01:00
Hans Dembinski
758c38e566
more testing for category axis 2019-10-22 19:23:04 +01:00
Hans Dembinski
9dd4a04a10
Separate serialization code from Boost.Serialization 2019-10-20 21:40:02 +01:00
Hans Dembinski
94857351cc
fix shrink when value is not exactly equal to bin edge 2019-10-19 19:04:13 +01:00
Hans Dembinski
307b65b7ab
Fix warnings in boost test matrix
* should fix warnings for gcc-6, clang-3.8 to 4.0, msvc-14.1 and 14.2
* should fix errors for clang-6 with cxxstd=17, clang-8 with cxxstd=2a
2019-10-19 15:14:10 +01:00
Hans Dembinski
b12898a366
Throw if user tries to make histogram with too many axes 2019-10-17 15:48:23 +02:00
Hans Dembinski
5a893c467c
fix compile issues on clang with cxxstd=latest
added tests of clang with cxxstd=latest to detect issue
2019-10-17 12:31:40 +02:00
Hans Dembinski
30899cb45d
Merged upgraded display.hpp code into histogram/ostream.hpp
supports all axis bin types and gracefully handles histograms with accumulators
2019-10-17 00:58:37 +02:00
Hans Dembinski
98926dbbb5
CI update, reduce reliance on Travis
* Appveyor now tests gcc-9 and clang with sanitizers
* Travis tests apple-clang on macOS and gcc-5, gcc-8 on linux and produces coverage report
2019-10-12 19:05:00 +02:00
Hans Dembinski
05c1bbfac1
Improve odr test (#59)
* rename link test to odr test and check odr test completeness
* added convenience header for algorithm
* added minimal docs for axis.hpp, accumulators.hpp, algorithm.hpp
* temporarily remove display.hpp (will return in another patch)
2019-10-12 15:12:53 +02:00
Henry Schreiner
493a195a54 Fixing missing inline, adding link test (#231) 2019-10-08 10:10:23 +02:00
Hans Dembinski
92a873c746
Faster linearize (#230)
* introduce offset for faster linearization of non-growing axes
* added traits::is_inclusive and constexpr bool inclusive() methods for builtin axes
* bug fixes for fill method when weight array is used with non-inclusive axis and when growing axes are used
* bug fix of axis::options::test(...)
* coverage tested with gcc-8, updated CONTRIBUTING.md with coverage info
2019-10-06 23:03:45 +02:00
Hans Dembinski
0101f698bb
check build system (#228)
make sure that all implemented tests are actually run
2019-09-29 13:33:20 +02:00
Hans Dembinski
ffe3e4d68c
assert on and test invalid combinations of axis options (#227) 2019-09-29 12:56:11 +02:00
pb
892cc9c4d7 ASCII output for 1D histograms (#201) 2019-09-28 16:41:00 +02:00
Hans Dembinski
b4298d6857
faster axis integer value method (#220) 2019-09-27 01:09:25 +02:00
Hans Dembinski
6b767cc2aa
update axis::traits (#217)
* added traits:::is_continuous, traits::value_type
* use of static_options on qualified types is now invalid
2019-09-24 23:05:03 +01:00
Hans Dembinski
c5c251fdbf
return copy instead of reference for scalar types (#218) 2019-09-24 22:41:49 +01:00
Hans Dembinski
937732c88e
fixes for C++20 (#215) 2019-09-12 21:26:16 +02:00
Hans Dembinski
0d893d4eff
adding weight support for mean accumulator (#212)
changed type of sum to RealType for mean and added serialization tests for builtin accumulators
2019-09-12 08:08:39 +02:00
Hans Dembinski
af04e75edc
Fix project bug (#207)
fix for a seg fault, when there are too many passed indices
2019-08-25 19:01:09 +02: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
df647cf959
update copyright (#55)
* add missing copyright notices
* workaround for xml_iarchive bug to handle XML with comments
* fixing min/max according to boost guidelines
2019-08-19 16:53:27 +02:00
Hans Dembinski
6df7625740 added axis::rank 2019-08-07 11:20:32 +02:00
Hans Dembinski
ac79060944
fix axis::traits::update 2019-07-12 09:58:48 +02:00
Hans Dembinski
3a510aba6d extended comment to explain the issue 2019-06-10 16:53:04 +02:00
Hans Dembinski
7e40aaf689
internal operators library replaces duplicated code 2019-06-10 16:05:51 +02:00
Hans Dembinski
a06505d877
Get full coverage with tests only 2019-06-08 16:28:56 +02:00
Hans Dembinski
e7a2051c2c
simpler xml path setting and persistent serialization tests for unlimited_storage 2019-06-07 14:25:49 +02:00
Hans Dembinski
1de7cf8bad define restricted environment and make tests compile in it 2019-06-07 13:41:31 +02:00
Hans Dembinski
8260deaa1d
Forward iterators for indexed range
* add tests of stdlib algorithms that use forward iterators
* make accessor non-copyable, implicitly convertible to value, assign pass-through, add comparison operators
* updated docs
2019-06-06 23:04:27 +02:00
Hans Dembinski
2239314eed
variant2 instead of detail::variant 2019-06-03 22:14:50 +02:00
Hans Dembinski
885a8b93e5 copy version check from boost.assert and update version 2019-06-03 22:00:15 +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
96926f367f
splitting meta.hpp into parts 2019-05-31 16:46:49 +02:00