Commit Graph

54 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
7e40aaf689
internal operators library replaces duplicated code 2019-06-10 16:05:51 +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
2239314eed
variant2 instead of detail::variant 2019-06-03 22:14:50 +02:00
Hans Dembinski
96926f367f
splitting meta.hpp into parts 2019-05-31 16:46:49 +02:00
Hans Dembinski
e434804508
explicitly guarantee nothrow moves for all builtin axis types
* use preinstalled gcc5 on travis and don't stop on first error anymore
* update axis concept regarding nothrow moves
2019-05-28 22:29:26 +02:00
Hans Dembinski
af188b6476
clean up warnings 2019-05-14 23:02:30 +02:00
Hans Dembinski
a8226955c2
Improve serialization of variant using only public interface and added serialiation for thread_safe<T> 2019-05-12 17:56:45 +02:00
Hans Dembinski
af77b6af07
Decouple tests and benchmarks, turn off warnings for tests with some external boost libs
- Tests and benchmarks now only include the headers they really need.
- Warnings turned off for tests that compile with external boost libs that are not warning free
2019-05-12 13:33:54 +02:00
Hans Dembinski
170199bb9f
replacing boost::variant with detail::variant
- removes large number of outdated indirect boost dependencies
- less limited in number of stored types
2019-04-30 16:27:14 +02:00
Hans Dembinski
073dffdf09
More doc improvements 2019-04-28 12:22:49 +02:00
Hans Dembinski
6b386c9b51
increase coverage
* provide unsafe access to buffer
* factored mp_int out into separate header and renamed to large_int
* refined adding behavior
* more warnings and comeback of coverage variant
* better coverage reporting
2019-04-22 03:33:05 +02:00
Hans Dembinski
ed4935cd93
better build files 2019-04-20 00:00:29 +02:00
Hans Dembinski
02348a74e1
Replace boost::iterator_adaptor with private iterator_adaptor to reduce dependencies 2019-04-19 23:07:23 +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
3d98d6208c move requirements on cxx14 features into test and examples subprojects to not block doc build 2019-03-03 13:13:36 +01:00
Hans Dembinski
468510a443 fix accumulator support 2019-02-24 13:25:54 +01:00
Hans Dembinski
7f102b053d fix appveyor uses b2, fix of serialization test 2019-02-24 10:31:18 +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
39b7afe2bf better serialization tests which avoid having the xml data inline 2019-02-11 22:30:07 +01:00
Hans Dembinski
b7b945a0bc fixing the test in both build systems 2019-02-09 15:56:08 +01:00
Hans Dembinski
718952e589 fixed building tests and examples 2019-02-08 17:11:26 +01:00
Hans Dembinski
ee6051f83c adding defines to test 2019-02-08 16:44:03 +01:00
Hans Dembinski
123e91c312 removing more project ids 2019-02-08 15:52:39 +01:00
Hans Dembinski
918f6199b4 updating test builds 2019-02-08 15:47:36 +01:00
Hans Dembinski
f20abe19fb rename adaptive_storage to unlimited_storage, closes #150 2019-02-06 23:34:58 +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
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
c6e24e4747 refactor 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
6df93a17f0 win fix 2019-01-11 00:06:25 +01:00