18 Commits

Author SHA1 Message Date
Hans Dembinski
c1b51ad640
fix inclusive() in integer axis (#320)
It was possible to trigger this bug, which triggered an assertion in debug mode. In release mode, it would have probably caused a segfault.
2021-04-24 12:24:47 +02:00
Hans Dembinski
e8b61bf483
Flexible category add (#118)
- added axis::traits::continuous to match axis::traits::is_continuous
- axes now return mutable metadata even when constant
- histograms with discrete growing axis can be added
- use multi_index in histogram interface
2020-05-20 02:42:53 +02:00
Hans Dembinski
82d9314302 reducible category axis and general reduce upgrade
* reducible category axis
* new axis::trait is_ordered and ordered()
* reduce accepts positional commands now
* renamed (old symbols still there, but deprecated)
  - static_is_inclusive -> is_inclusive
  - static_options -> get_options
  - reduce_option -> reduce_command
* reduce commands are now structs derived from reduce_command base instead of functions
* simplified TMP code in axis::traits 
* updated and improved docs for reduce
2020-01-06 01:37:52 +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
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
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
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
a06505d877
Get full coverage with tests only 2019-06-08 16:28:56 +02:00
Hans Dembinski
96926f367f
splitting meta.hpp into parts 2019-05-31 16:46:49 +02:00
Hans Dembinski
7a55bf0e29 move throw_exception implementation to test and benchmark folders 2019-05-28 23:15:17 +02:00
Hans Dembinski
8602102014
support -fno-exceptions and -fno-rrti and test this 2019-05-12 22:08:10 +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
11c9da8f33 Add axis traits docs (#1)
add missing doxygen docs for axis::traits and more tests of axis::traits
2019-03-18 16:05:08 +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
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
c3966a52c2
doc and coverage updates 2019-02-11 20:28:41 +01:00
Hans Dembinski
8e9dd85837 wip: growing axis for axis::integer 2019-01-13 22:14:53 +01:00