e22f4a9001
types/sized: update bits types to follow a more current style
2020-10-22 11:27:25 +10:00
5a7613d3f3
coord/comparator: convert to use std::weak_ordering
...
This allows more flexibility in some client code (eg, calling this to
sort compound objects like region).
2020-10-21 14:03:08 +10:00
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