Hans Dembinski
edb27cab57
doc fix [ci skip]
2019-08-20 00:07:42 +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
b99184792d
comparisons simplified
2019-06-11 22:33:53 +02:00
Hans Dembinski
7e40aaf689
internal operators library replaces duplicated code
2019-06-10 16:05:51 +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
bb11ac6015
more noexcept
2019-06-04 10:23:41 +02:00
Hans Dembinski
e04a765b1f
explain comma trick
2019-06-04 10:22:57 +02:00
Hans Dembinski
2239314eed
variant2 instead of detail::variant
2019-06-03 22:14:50 +02:00
Hans Dembinski
8eb9523c13
missing includes for std::string
2019-06-03 20:07:57 +02:00
Hans Dembinski
476cd81497
simpler
2019-06-03 00:09:57 +02:00
Hans Dembinski
82dc190c2a
noexcept for traits::index and traits::update
2019-06-03 00:02:47 +02:00
Hans Dembinski
4102f28c07
simpler is_reducible
2019-06-02 23:59:58 +02:00
Hans Dembinski
830c908055
avoid warning in a simpler way
2019-06-02 23:27:48 +02:00
Hans Dembinski
bd05ec272b
simpler
2019-06-02 22:02:36 +02:00
Hans Dembinski
4e7febfa2c
get_if may not be called if there is more than one match
2019-06-02 21:35:27 +02:00
Hans Dembinski
96926f367f
splitting meta.hpp into parts
2019-05-31 16:46:49 +02:00
Hans Dembinski
237bf234c5
simplications to linearize and benchmarking
2019-05-30 19:36:02 +02:00
Hans Dembinski
7e05d8ff34
assert on preconditions
2019-05-29 01:07: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
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
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
5f937d3665
better docs
2019-05-16 08:58:55 +02:00
Hans Dembinski
18567de9f3
simpler variant
...
* simpler, now correct variant
* replaced reference_wrapper with pointer
2019-05-15 14:55:27 +02:00
Hans Dembinski
89056fc769
removed obsolete file
2019-05-14 00:19:34 +02:00
Hans Dembinski
89bf038f6e
silence conversion warnings
2019-05-14 00:01:38 +02:00
Hans Dembinski
1cb35db5f0
clean-up
2019-05-13 23:21:15 +02:00
Hans Dembinski
edb1a3f7c4
replace with std
2019-05-13 21:19:12 +02:00
Hans Dembinski
edad3d5332
clang-format
2019-05-13 21:18:59 +02:00
Glen Fernandes
376ddeadc4
Simplify BOOST_NO_EXCEPTIONS support and use alloc_construct and alloc_destroy ( #190 )
2019-05-13 08:42:53 +02:00
Hans Dembinski
8602102014
support -fno-exceptions and -fno-rrti and test this
2019-05-12 22:08:10 +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
f830847f07
improved reduce docs
2019-05-12 12:05:04 +02:00
Hans Dembinski
d65d47d082
new slice option, option fusion, more input checks
2019-05-10 00:01:16 +02:00
Hans Dembinski
5ef6a39945
Fix range iterator
...
* InputIterator concept requires that the decrement of a postfix-incremented iterator is valid, now it is
* added detached_accessor to that end
* update benchmark plot, better docs
2019-05-10 00:00:33 +02:00
Hans Dembinski
a31daae74e
minor fixes
2019-05-09 22:57:40 +02:00
Hans Dembinski
6c268109a3
Safer indexed range
...
* defined behavior when .begin() is called more than once
* better documentation about behavior
2019-05-04 07:44:48 +02:00
Hans Dembinski
75312340f2
Construct from any iterable and select proper type
2019-05-03 11:36:06 +02:00
Hans Dembinski
c9951aef3a
simpler code to handle references
2019-05-02 10:35:37 +02:00
Hans Dembinski
f247c36a60
minor corrections of comment and use small letter for variable
2019-05-02 10:19:36 +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
22ec005290
Doc improvements
...
* preprocessor workarounds replaced by xml postprocessing
* better hide what's users shouldn't see
* big doc improvements everywhere
2019-04-27 15:59:50 +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
5c75437db5
project algorithm generalized
...
project now also works with static histogram and iterable arguments
2019-04-26 17:15:13 +02:00
Hans Dembinski
5b6cdc8861
fix for bug in reduce with mixed axis types in std::vector<axis::variant>
2019-04-26 10:22:18 +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
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