Commit Graph

161 Commits

Author SHA1 Message Date
fdaa5e1392 assert: split CHECK_LIMIT into INCLUSIVE and INDEX
LIMIT hid an off-by-one bug when tests used end iterators. We rename the
assertion to uncover all uses of the flawed implementation, and split it
into an identical assertion, and one intended to protect against
iterator ends.
2020-09-24 08:03:41 +10:00
457effabf5 coords/ops: add ceil for coords 2020-06-22 12:58:21 +10:00
ef560d8c1e types/description: use the inner_type for descriptions 2020-05-01 11:19:46 +10:00
7261bd7776 coord/traits: expand value_trait to support scalars 2020-03-16 14:13:02 +11:00
49c0b35fe7 coord/ops: add isfinite call for vectors 2020-01-14 14:07:52 +11:00
0624a3ad00 coord: add to_radians for vector 2019-12-18 10:52:10 +11:00
8fc182ca8e preprocessor: use the correct include path for preprocessor.hpp 2019-06-20 11:44:04 +10:00
f4438831a6 build: update the meson build configuration 2019-06-19 17:28:01 +10:00
41edd3cebe types/description: add initial enum support 2019-05-30 10:43:28 +10:00
f6b1f47e23 coord/traits: add value_trait specialisation for vector 2019-05-21 17:44:18 +10:00
8beada1646 debug: split debug headers into components 2019-05-17 12:26:08 +10:00
6bc13544dd types/description: add support for coordinate types 2019-05-17 10:55:49 +10:00
b8af3d0d9e coord/ops: add a modulos function 2019-05-12 14:34:32 +10:00
dccc4fbbf7 coord/ops: std::hash should return a size_t 2019-05-12 07:52:19 +10:00
347b13ee60 coord/comparator: allow delayed and defaulted deduction of arguments 2019-05-12 07:51:42 +10:00
6ae38d7f9e coord/base: take const-ref for supplementary index query
This disambiguates type resolution of literals and other temporaries.
2019-03-22 15:09:19 +11:00
0d9374d3dd coord/base: add indices query using supplemental values 2019-03-22 11:54:29 +11:00
340d873d3a iterator: move each iterator to their own unit 2019-03-18 16:18:27 +11:00
0d27694a51 coord/comparator: add a trivial ordering comparator 2019-03-08 09:37:48 +11:00
3c07f96d34 coord/store: prefer raw arrays to std::array
We don't really gain anything by using std::array and it greatly
simplifies fucking about with GDB pretty printers.
2019-03-06 17:09:26 +11:00
4c29123d4d coord: use std::array for data storage
This allows us to more easily forward array dimensions with some level
of expectation that the data will be packed.
2019-01-31 13:46:53 +11:00
b61d55ee3c build: satiate clang-tidy somewhat 2019-01-03 15:48:34 +11:00
bfe0a92eec preprocessor: build the header out of tree
This avoids unnecessary rebuilds when we have parallel configurations
being built.
2018-10-30 21:41:15 +11:00
e15f687e20 coord;sse: fix type in intrinsic 2018-09-13 14:52:34 +10:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
6dea530f6e coord/ops: remove misplaced include 2018-06-20 13:25:49 +10:00
22b25221b2 coord/base: add std::array conversion operator 2018-06-12 10:54:08 +10:00
cdac2dcbc2 maths: add 'frac' function
Extracts the fractional component from a floating point number. Prefer
to use temporaries that you have on hand over these functions.
2018-05-21 15:06:07 +10:00
3e5c89f643 coord/ops: add lshift 2018-05-04 17:06:18 +10:00
b01173d82b maths: rename limit to clamp 2018-05-03 21:43:48 +10:00
497d3ca970 build: update for gcc-8.1 warnings 2018-05-03 18:32:08 +10:00
2a6ad38e9c coord/traits: add vector-extent result_type 2018-05-03 17:31:41 +10:00
fe88708c50 coord: relax restrictions on is_normalised 2018-04-18 21:43:40 +10:00
9affc28807 coord: make the pow function actually work... 2018-04-17 17:02:08 +10:00
e0f0e3b19b coord: add product function 2018-04-17 17:01:53 +10:00
0f9fb9b515 coord: add general store template and 5-element init 2018-04-17 14:25:04 +10:00
c4eec456a0 coord/base: remove explicit from scalar constructor
we need to create vectors of zeros pretty often and it's pretty verbose
having to continually use the full type name each time.
2018-04-16 16:00:32 +10:00
f830b149b0 coord/ops: add scalar bool overload for any 2018-04-11 18:22:49 +10:00
2d801a1725 coord/base: actually set fill values in constructor 2018-04-11 18:22:25 +10:00
93185775e6 coord/simd: template on arity and type 2018-03-23 17:52:08 +11:00
2d7e3e5d7d build: prefer iosfwd over iostream 2018-03-22 16:11:13 +11:00
341907ac79 coord/simd: add more sse operations 2018-03-20 13:35:10 +11:00
b307ab935d coord/simd: add initial simd tests 2018-03-16 11:10:44 +11:00
12d401b98b tuple/variadic: split into type/value/pack operations 2018-03-15 23:48:21 +11:00
bafe71b3ab coord/ops: add `all' overload for scalar bool 2018-03-15 15:25:18 +11:00
583e4aa26d coord/ops: fix incorrect invoke function name 2018-03-13 15:41:48 +11:00
17816021b9 coord/ops: add std::{cos,sin} overloads for coords 2018-03-13 14:39:38 +11:00
3e9e9bff5a coord/ops: add elementwise apply 2018-03-13 14:39:38 +11:00
16c6a6d627 coord/ops: move `get' query to top for usage later 2018-03-13 14:39:38 +11:00