Commit Graph

3605 Commits

Author SHA1 Message Date
046a369f55 coord: don't use kahan summation for sum(coord)
Our kahan summation algorithm has issues with infinities so we just
avoid using it in coordinates where speed and simplicity are more
important.
2017-06-16 17:38:55 +10:00
061088467f coord: add structured bindings support 2017-06-15 16:32:40 +10:00
3faa64a02b sarray: add make_sarray function for arrays 2017-06-15 13:19:50 +10:00
82a319f3d0 sarray: add iterator based constructor 2017-06-15 13:19:39 +10:00
ca63485d12 sarray: add a simple static storage/dynamic size array 2017-06-14 17:45:43 +10:00
b15914cf9a iterator: add make_indices, zip, and izip 2017-06-13 17:01:06 +10:00
16171c03ef tuple: better document the 'ignore' function 2017-06-13 17:01:06 +10:00
c02a1a1a3c variadic: add accessor for the first template pack parameter 2017-06-13 17:01:06 +10:00
e019270a1f variadic: use make_index_sequence from the stdlib 2017-06-13 14:47:58 +10:00
2bc7e3e449 point: work around GCC ICE in test case
GCC experiences an ICE when comparing the components of a redim'd to
lower dimension point. The test case is too complex to reasonably reduce
and submit for fixing/workaround so we add a bit more explicit work here
for this test case only.
2017-06-13 14:19:27 +10:00
089caff53e maths: take references for generic types in almost_equal 2017-06-13 14:18:53 +10:00
f50c77425d maths: make almost_equal constexper for integers 2017-06-13 14:18:32 +10:00
ae40b163e5 coord: prefer cbegin/cend where possible 2017-06-13 14:18:00 +10:00
a59f6ffc69 build: remove explicit constexpr instantiations
GCC7 no longer requires these instantiations, and in fact produces a
warning/error in these cases. So we remove them.
2017-06-08 15:49:25 +10:00
2a69ccb571 cmake: bump for warning reduction 2017-06-05 17:07:37 +10:00
606a46a128 typeidx: add lightweight runtime type id call 2017-05-29 17:21:11 +10:00
998c0171e8 pascal: instantiations for signed lengths 2017-05-29 17:20:43 +10:00
08b57c9716 point: add docstrings for distance metrics 2017-05-24 15:15:40 +10:00
da00e77e7e maths: add signed overloads for renormalise 2017-05-24 15:15:25 +10:00
25e19b5810 build: use explicit constructors 2017-05-23 12:50:51 +10:00
30fa4a378d colour: add html-style colour parsing 2017-05-22 16:20:21 +10:00
813600e774 ascii: add hex conversion and unit tests 2017-05-22 16:11:31 +10:00
7fc5eb3b17 log: remove duplicate listings for severity levels 2017-05-22 13:56:19 +10:00
9471b9eae7 test: ensure all tests return a useful status code
These tests were all assumed to execute correctly because CTest is not
capable of parsing the TAP output and instead relies entirely on status
codes.
2017-05-22 13:55:21 +10:00
8dac175558 algo/sort: don't std::forward args we're going to reuse 2017-05-19 15:23:10 +10:00
1200b1a038 algo/sort: assert we're operating on random iterators 2017-05-19 15:22:44 +10:00
92727ff351 algo/sort: work around gcc lamba param aliasing bug 2017-05-18 18:38:40 +10:00
1ad3e0bde0 algo/sort: add SOA sorting helper
sort::soa applies a permutation to multiple value arrays such that the
first value array is sorted
2017-05-18 18:24:48 +10:00
f0dd072d16 tuple: add debugging 'ignore' function
used to pass off parameter packs when debugging to avoid unused argument
warnings.
2017-05-18 18:21:25 +10:00
167aae1d1e debug: fully qualify almost_equal namespace 2017-05-18 18:20:19 +10:00
42971b34b9 cmake: bump for LTO fixes 2017-05-16 17:14:24 +10:00
7a8e1ddb6f introspection: change constexpr arrays to const
clang doesn't much like non-literal types as constexpr. We can live with
them as const values for the time being, so lets do that to avoid too
much code churn.
2017-05-16 17:12:14 +10:00
dca8b174c6 build: add forgotten clang/gcc7 headers 2017-05-16 17:12:14 +10:00
530c9852ef cmake: bump for GCC LTO fixes 2017-05-12 15:59:11 +10:00
6d6c5c0cfc hash/crc: use relative include paths
We can't use system include paths for our headers because we are
probably not installed just yet..
2017-05-12 15:56:41 +10:00
300a3f77d9 build: remove autotools support 2017-03-23 15:16:58 +11:00
514430c614 build: remove autotools support 2017-03-23 15:01:09 +11:00
4f398620ab view: add make_cview function for pointers 2017-03-23 14:36:56 +11:00
b67a99ee4e coord: add arity query function 2017-03-23 14:36:39 +11:00
436df2952f view: add make_view specialisations for std::string 2017-03-17 18:06:02 +11:00
cf36b5e1f9 bump cmake 2017-03-06 21:42:49 +11:00
4306a94379 matrix: add assignment-multiplication operator 2017-03-06 21:36:04 +11:00
7c036243da preprocessor: expand argument count for MAP 2017-03-06 18:40:13 +11:00
54b26e9f60 view: add two-iterator make_view call 2017-02-21 21:20:15 +11:00
6ba88a1048 pascal: parameterise on size type 2017-02-21 21:19:58 +11:00
a56d1e339a matrix: parameterise on rows+cols+type 2017-02-21 21:19:28 +11:00
7786d32ba5 view: add inequality operator 2017-02-20 18:10:26 +11:00
09de734185 posix/fd: label write/read calls with warn_unused 2017-02-20 18:10:04 +11:00
d21f6c6911 tap: temporarily remove c++17 nested namespaces
This improves analysis under CLion 2016.x
2017-02-20 18:09:23 +11:00
f4093cb3d5 hash/crc: document template parameters 2017-02-20 18:01:40 +11:00