65cea4afd1
point: style
2018-01-16 13:29:58 +11:00
09aa86f55f
crypto: remove cryptography primitives
...
This code can now be found in libcruft-crypto. It was removed to prevent
people relying on it, and to improve test iteration times in unoptimised
builds.
2018-01-14 17:13:21 +11:00
681768093e
hash: use a consistency, less flexible, interface
2018-01-13 15:24:12 +11:00
ad02c94511
view: return unsigned types for size
2018-01-10 18:50:02 +11:00
9bb2bdbaba
Merge remote-tracking branch 'origin/master'
2018-01-10 17:19:39 +11:00
2713da45f4
format: rework parser for currying support
2018-01-09 16:28:46 +11:00
2af828e82d
time: add iso8601 parsing
2018-01-01 15:50:48 +11:00
9fbfba580a
maths: allow digits10 for 64 bit integers
2018-01-01 15:46:29 +11:00
4bd693a799
maths: allow any integral exponent for pow()
2018-01-01 15:45:56 +11:00
27a93c0780
traits: add is_contiguous query for containers
2017-12-28 17:50:37 +11:00
dc51fa2ed0
view: char constructor shouldn't include null characters
2017-12-26 17:34:08 +11:00
e437913746
encode/base: add initial base64 experiments
2017-12-22 12:37:04 +11:00
202c22eee8
view: simplify logical comparator implementation
...
we remove some duplicate and specific logical comparator specialisations
and instead rely on a base view/view comparator implementation by way of
make_view.
2017-12-20 12:31:52 +11:00
b4175e4593
uri: add more data fields
...
we now provide more fine grained field extraction from URIs, focusing
primarily on the utility of URLs.
2017-12-15 18:57:10 +11:00
a8088d03cd
matrix: use vector for the row storage
2017-11-24 17:19:32 +11:00
59240ce83a
matrix: move implementation from ipp to hpp
2017-11-24 17:19:32 +11:00
0351313c36
Merge branch 'master' into coord
2017-11-23 17:24:11 +11:00
d3f434b523
coord: make template parameters more flexible
...
The coordinate system was unable to support types that prohibited
redim or retype operations. Additionally, the `tags' type used for
providing named data parameters was unwiedly.
We remove much of the dependance on template template parameters in the
defined operations and instead define these in terms of a template
specialisation of is_coord.
The tag types were replaced with direct specialisation of the `store'
struct by the primary type, and passing this type through use of the
CRTP.
2017-11-22 17:03:00 +11:00
34788756d2
build: don't use './' as an include prefix
...
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
3ad0339474
WIP vector: spherical/cartesian conversion
2017-11-02 18:11:16 +11:00
28ec0bd48e
maths: add forgotten header to test suite
2017-11-02 18:02:53 +11:00
d8bb00c9c3
endian: add float byteswap specialisation
2017-10-12 17:38:40 +11:00
aff4786409
traits: add bodies to test objects for ODR-used symbols
2017-10-11 17:15:47 +11:00
32f3240186
json2: initial 'jsonish' support
2017-10-05 11:44:37 +11:00
340981dac2
json2: initial import
2017-10-03 17:49:08 +11:00
35db5f0a7a
utf8: add forgotten headers
2017-10-02 15:41:20 +11:00
7ecaaacd93
utf8: add a trivial utf8 decoder
2017-10-02 15:25:59 +11:00
220e499681
view: make equality consistent
2017-09-15 15:22:51 +10:00
cfa272a80a
string: allow tokenisation of c arrays
2017-09-15 15:22:29 +10:00
9c5b471b24
iterator: modify to allow iteration over c arrays
2017-09-15 15:21:25 +10:00
4050754ab4
preprocessor: use a script to create map/reduce
...
We need over 300 arguments for some projects and I'm not going to code
that shit by hand.
2017-09-12 14:17:30 +10:00
8e7f23c4dd
traits: add trivial type_traits tests
2017-09-08 14:20:01 +10:00
0e97044adf
allow/raw: rename base as begin
2017-08-31 13:48:33 +10:00
9d5e599246
alloc: seperate out the raw allocators from the adapters
2017-08-29 16:53:11 +10:00
3799135236
coord: add general vector comparison function
2017-08-27 12:32:00 +10:00
9aa0ba8f55
test: use constexpr for test data where possible
2017-08-27 12:28:56 +10:00
3c9dcba2fb
coord/ops: add rshift coord operation
...
shifts each element to the right `num' places and fills the left space
with a constant or elements from another vector.
2017-08-25 13:05:45 +10:00
e9ef2ae316
sarray: add assignment operator for completeness in test
2017-08-24 17:53:46 +10:00
56444b4a50
geom/aabb: add (minimally) more thorough test data
2017-08-24 17:02:18 +10:00
1cea1600d3
geom/aabb: change contract/expand semantics to mirror region
2017-08-24 17:01:16 +10:00
f77cdabaee
geom/aabb: dont use mutating function naming convention
2017-08-24 16:47:02 +10:00
cd1bb730f2
geom/aabb: rename AABB to aabb
2017-08-24 16:43:54 +10:00
359702fb86
geom/aabb: remove mutating operators
2017-08-24 16:25:57 +10:00
6e32ad84a7
coord: use consistent naming for point coverage tests
...
use inclusive for tests that include all borders, and exclusive for
tests that do not accept the bottom right borders.
2017-08-24 15:56:58 +10:00
efb719b822
coord/base: add indices method
2017-08-24 14:39:54 +10:00
84963aacf8
coord/ops: make 'all' and 'any' constexpr
2017-08-24 14:39:54 +10:00
14718594c9
coord: add tests for vec/num/num overload of util::limit
2017-08-24 12:50:17 +10:00
2576061b26
ray: extract make member function as free function
...
for consistency with other make_foo functions. to be replaced with
deduction guides in the future.
2017-08-22 15:46:49 +10:00
a016e98b12
region: add make_range for regions
...
introduces an object that provides iterators suitable for row-major
scanning of points covering a region object. mostly a wrapper for the
equivalent extent_range.
2017-08-21 18:48:52 +10:00
31d2e6bfd8
region: remove duplicate point/region coverage tests
2017-08-11 15:15:44 +10:00