Commit Graph

3009 Commits

Author SHA1 Message Date
96c80ecea5 comparator: add test for self equality failure 2017-06-29 15:27:16 +10:00
0eaec8ad65 comparator: move pointer comparator code inline 2017-06-19 15:36:57 +10:00
b37d4e9e0a readme: note the supported compiler versions 2017-06-19 15:29:41 +10:00
6065aa9933 comparator: add comparator for indexed compound types
compares each index of the two parameters in sequence, returning true if
the first parameter has the first value that compares less than the
second.
2017-06-19 15:28:10 +10:00
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