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
02348a74e1
Replace boost::iterator_adaptor with private iterator_adaptor to reduce dependencies
2019-04-19 23:07:23 +02:00
Hans Dembinski
7b88f02f0e
fix for threading bug
2019-04-16 23:01:00 +02:00
Hans Dembinski
45a4ae1e19
simplify
2019-04-16 22:31:24 +02:00
Hans Dembinski
eb95a8975d
simplified traits, new try_cast, moved static_if to extra header
2019-04-16 22:00:31 +02:00
Hans Dembinski
47dda5edfc
remove double implementation
2019-04-16 20:01:58 +02:00
Hans Dembinski
77f366b7c1
explicit zero-ing
2019-04-15 00:46:50 +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
23fd6f27d1
hot-fix for variant warning
2019-04-14 14:34:10 +02:00
Hans Dembinski
7301d6a4c2
optimization for static axes with same axis type
2019-03-21 16:59:24 +01: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
43f88383ac
bug-fix growing and non-growing axis in variant ( #4 )
2019-03-20 22:39:03 +01: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
d1d5e37788
make metadata_type private to be consistent with any axis
2019-03-18 15:53:26 +01:00
Hans Dembinski
c4a3d7da4a
fix naming error extend -> extent
2019-03-18 15:52:19 +01:00
Hans Dembinski
c4f9779524
axis::variant uses composition instead of inheritance ( #171 )
...
... to avoid problems with unwanted calls to the constructor of boost::variant
2019-03-14 10:30:25 +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
5dd50985ae
Concepts ( #166 )
...
* concept docs rewritten, adapting to tabular style as in Beast and cppreference.com
* update the readme with correct links and text
* removed necessity to add `storage_tag` member type to storage classes
2019-03-05 01:52:01 +01:00
Hans Dembinski
94c1563ae7
improved wording, make using namespace consistent, fixed missing section about 2d axes
2019-02-24 23:20:25 +01:00
Hans Dembinski
ff97700470
* finishing the user guide
...
* get master badges back
2019-02-24 22:14:30 +01:00
Hans Dembinski
468510a443
fix accumulator support
2019-02-24 13:25:54 +01:00
Hans Dembinski
503541b2d4
decltype(auto) doesnt work on older compilers
2019-02-23 22:44:45 +01:00
Hans Dembinski
9561eb8b12
simplifying variant implementation
2019-02-23 22:25:54 +01:00
Hans Dembinski
2a92ecb9a1
use use_default from core instead of custom type
2019-02-23 21:34:24 +01:00
Hans Dembinski
6af776020f
fix
2019-02-22 00:21:16 +01:00
Hans Dembinski
266e1a69f2
Feature/operators ( #162 )
...
* better operators for mp_int, unlimited_storage::reference, map_impl::reference, copying code from boost.operators
* treat warnings as errors on travis
* make appveyor build feature branches
2019-02-20 09:15:14 +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
3b110fc2a5
tabs to space, replace non-ascii [ci skip]
2019-02-11 22:30:41 +01:00
Hans Dembinski
e1837c6d40
avoid allocator<void> warning [ci skip]
2019-02-11 21:22:40 +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
a2dcbdccd9
doc improvements
2019-02-07 22:57:08 +01:00
Hans Dembinski
1aeeddd6a8
be more self-documenting [ci skip]
2019-02-06 23:53:45 +01:00
Hans Dembinski
f20abe19fb
rename adaptive_storage to unlimited_storage, closes #150
2019-02-06 23:34:58 +01:00
Hans Dembinski
df4fefac18
histogram supports add, sub, mul, div
2019-02-06 00:29:22 +01:00
Hans Dembinski
6decac4755
fix ci
2019-02-05 13:00:56 +01:00
Hans Dembinski
017fa5a3a6
fix ci
2019-02-05 09:41:33 +01:00
Hans Dembinski
6cd4e59ed4
remove warnings by making conversion explicit
2019-02-05 09:34:11 +01:00
Hans Dembinski
5a5730e9cd
more asserts
2019-02-05 00:26:56 +01:00
Hans Dembinski
c1bc7cbed8
getting rid of buffer.hpp, simplified adaptive_storage, make buffer is never in invalid state because of throw
2019-02-05 00:25:24 +01:00
Hans Dembinski
5c0c5f59b4
protect against invalid state after exception
2019-02-04 02:10:22 +01:00
Hans Dembinski
0b6763391e
no unnamed namespace in header allowed
2019-02-04 02:10:03 +01:00
Hans Dembinski
d1f5156b7c
test for overflow
2019-02-04 01:58:07 +01:00
Hans Dembinski
075fccc614
better name
2019-02-04 01:28:34 +01:00
Hans Dembinski
a2d7202547
more docu [ci skip]
2019-02-04 01:28:23 +01:00
Hans Dembinski
6d9861ebc2
simpler
2019-02-04 01:28:12 +01:00
Hans Dembinski
31d3f8cf49
doc improved [ci skip]
2019-02-04 01:04:22 +01:00
Hans Dembinski
c8fe13d2fa
better serialization test
2019-02-04 00:57:20 +01:00
Hans Dembinski
1f7537700c
make deserialization exception-safe
2019-02-03 22:30:18 +01:00
Hans Dembinski
1b6adadae4
nicer stream for histogram
2019-02-03 21:57:53 +01:00
Hans Dembinski
24429164a9
iosfwd instead of ostream header
2019-02-03 21:33:26 +01:00
Hans Dembinski
59ae6d7ca1
properly handle axis with allocators
2019-02-03 21:28:17 +01:00
Hans Dembinski
7d2d718c2d
better docs [ci skip]
2019-02-03 21:09:40 +01:00
Hans Dembinski
4048586be1
nicer docs, move attribute.hpp to details
2019-02-03 20:36:49 +01:00
Hans Dembinski
f1bc45e72f
doc improvement [ci skip]
2019-02-03 20:12:09 +01:00
Hans Dembinski
7978ddef03
test and bug-fix of subtraction
2019-02-03 19:01:03 +01:00
Hans Dembinski
5657d31c38
make histogram and all builtin storages subtractable
2019-02-03 17:14:29 +01:00
Hans Dembinski
beda2065a4
nicer type handling
2019-01-31 20:53:03 +01:00
Hans Dembinski
fa211299f7
tell about no-overflow-guarantee and its loss, closes #120
2019-01-31 20:42:35 +01:00
Hans Dembinski
72d9ce635f
axis:replaced operator() with index and operator[] with bin
2019-01-27 20:56:15 +01:00
Hans Dembinski
8cc4ff26a9
fix comment [ci skip]
2019-01-27 19:48:43 +01:00
Hans Dembinski
0bb5c1b3f4
faster indexed iteration, replaced boost::container::X with std::X
2019-01-27 19:46:46 +01:00
Hans Dembinski
451f36c774
simple
2019-01-27 16:46:42 +01:00
Hans Dembinski
7035d687e3
move implementation into implementation file
2019-01-27 11:31:01 +01:00
Hans Dembinski
8d90019a53
remove obsolete
2019-01-27 11:30:28 +01:00
Hans Dembinski
ed5af698bc
use std::enable_if_t for check, to get better error messages
2019-01-24 21:35:17 +01:00
Hans Dembinski
47b8a0734d
CI fix
2019-01-24 20:53:33 +01:00
Hans Dembinski
5396998eb7
improved stdlib compat, fixed bug in reference
2019-01-24 00:16:38 +01:00
Hans Dembinski
2a4ed0b5f9
improve reference docs
2019-01-22 23:05:53 +01:00
Hans Dembinski
fd0b7dea8d
better reference docu
2019-01-22 22:14:38 +01:00
Hans Dembinski
a412b53f12
fix
2019-01-22 20:48:07 +01:00
Hans Dembinski
0c052f5d62
better docs
2019-01-20 23:28:28 +01:00
Hans Dembinski
6bc32d0ea6
nicer
2019-01-20 22:56:38 +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
b6f454f493
enable underflow and overflow for growing axis where possible
2019-01-19 23:19:04 +01:00
Hans Dembinski
d0a59b9830
return iterator to current bin after fill
2019-01-19 14:57:47 +01:00
Hans Dembinski
9d22f3791c
implemented ctor with step size for regular axis, closes #88
2019-01-19 13:21:42 +01:00
Hans Dembinski
6da0059eed
signal intend
2019-01-19 12:33:49 +01:00
Hans Dembinski
c826c1f824
cosmetics
2019-01-19 12:33:31 +01:00
Hans Dembinski
30cf2fe97e
nicer
2019-01-17 22:26:59 +01:00
Hans Dembinski
f8ebf85a05
accessor [] to index and indices
2019-01-17 21:56:02 +01:00
Hans Dembinski
07b91f013f
more pointer an array interface
2019-01-17 08:08:03 +01:00
Hans Dembinski
bc6ee8f89e
switch second indexed argument to enum class and use use_default everywhere
2019-01-16 22:00:59 +01:00
Hans Dembinski
56c3d5bc40
fix ci
2019-01-16 20:48:11 +01:00
Hans Dembinski
acb5b7ba1e
fix CI
2019-01-16 20:36:31 +01:00
Hans Dembinski
2a7f9cdf61
support for growing variable axis
2019-01-16 09:16:56 +01:00
Hans Dembinski
6c74da60ed
regular axis growable; removed axis::base; replaced int with index_type
2019-01-16 00:52:41 +01:00
Hans Dembinski
cadc27135f
make category growable and add missing deduction guides
2019-01-15 00:13:04 +01:00
Hans Dembinski
4108c54869
replacing custom SFINAE with mp11::mp_valid
2019-01-14 22:00:53 +01:00
Hans Dembinski
3ed77e7287
nicer way of injecting optional interface
2019-01-14 22:00:33 +01:00
Hans Dembinski
f1ac913246
better solution for adding optional update method when axis has growth
2019-01-13 23:18:39 +01:00
Hans Dembinski
8e9dd85837
wip: growing axis for axis::integer
2019-01-13 22:14:53 +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
ac47484483
simper and slightly faster adaptive_storage
2019-01-12 23:37:31 +01:00
Hans Dembinski
4ad531fd77
shorter
2019-01-12 22:49:43 +01:00
Hans Dembinski
6158a9a8bc
fix
2019-01-12 22:04:17 +01:00
Hans Dembinski
5ba3c694b0
fix
2019-01-12 21:40:11 +01:00
Hans Dembinski
1a04ecc4a0
add comment
2019-01-12 21:00:58 +01:00
Hans Dembinski
3179ac3420
fix
2019-01-12 20:58:55 +01:00
Hans Dembinski
cdc1fc442f
fix
2019-01-12 20:51:30 +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
d926077705
nicer naming of internal functions and explicitly initialize shifts,
2019-01-11 23:56:18 +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
bd381dbe76
gcc fix
2019-01-11 00:47:18 +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
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
e80ae946e6
full iterator support
2019-01-11 00:06:26 +01:00
Hans Dembinski
dd0943a4b0
not necessary
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
ca815dd231
remove obsolete comment
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
a510b7dc93
no need for serialize method in histogram anymore
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
Henry Fredrick Schreiner
d75b2dc207
Small typo fix
2019-01-11 00:06:26 +01:00
Henry Fredrick Schreiner
0d481a8938
Fix for duplicate symbol linking error
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
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
9783a329c4
BOOST_THROW_EXCEPTION
2019-01-11 00:06:26 +01:00
Hans Dembinski
5d98adcdef
fix
2019-01-11 00:06:26 +01:00
Hans Dembinski
e2987d528e
added nodiscard
2019-01-11 00:06:26 +01:00
Hans Dembinski
be16b0f39f
fix
2019-01-11 00:06:26 +01:00
Hans Dembinski
fbf9707874
fix
2019-01-11 00:06:26 +01:00
Hans Dembinski
dc1f4ad47c
fix
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
d512bf469f
simpler
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
14649920b7
better placement
2019-01-11 00:06:26 +01:00
Hans Dembinski
e40757b9de
clean up
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
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
09f58022c0
eliminate some warnings about conversions
2019-01-11 00:06:26 +01:00