Commit Graph

103 Commits

Author SHA1 Message Date
0e3fa05f05 build: migrate from ipp files to pure hpp files
ipp files weren't a great way of keeping things clean, and IDEs have a
little trouble dealing with the split configuration. this simplifies
debugging a great deal.
2018-02-28 11:49:13 +11:00
18a7790a2a macro: trivial preprocessor for includes 2018-01-30 12:53:43 +11:00
6f51b82f65 siphash: add initial implementation 2018-01-23 18:57:04 +11:00
b5d8b6bca3 build: temporarily add -ldl unconditionally 2018-01-23 18:52:42 +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
2840810f64 build: remove unnecessary cmake module 2018-01-10 17:51:59 +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
59b21e67dd time: more inline implementation into the header 2017-12-30 13:38:11 +11:00
ce64396da4 posix/socket: add a convenience wrapper for sockets 2017-12-22 18:38:30 +11:00
e437913746 encode/base: add initial base64 experiments 2017-12-22 12:37:04 +11:00
d0d5ae549e uri: extract grammar into contained ragel file
this will allow us to reference the grammar from other grammars, eg http
parsing.
2017-12-20 12:45:05 +11:00
cd69bb684a json: use ragel optimisation flags 2017-12-20 12:29:40 +11:00
77c88438d4 except: move posix/win32 exceptions to own units 2017-12-18 15:46:52 +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
4794e84c13 build: prefer target specific includes and libs 2017-11-22 16:34:02 +11:00
badba6de3b tap: move ipp implementation into hpp/cpp
This makes it easier for CLion to perform syntax highlighting
accurately.
2017-11-02 18:10:56 +11:00
d8bb00c9c3 endian: add float byteswap specialisation 2017-10-12 17:38:40 +11:00
340981dac2 json2: initial import 2017-10-03 17:49:08 +11:00
7ecaaacd93 utf8: add a trivial utf8 decoder 2017-10-02 15:25:59 +11: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
9d5e599246 alloc: seperate out the raw allocators from the adapters 2017-08-29 16:53:11 +10:00
2cb5fd7391 geom/sample: prefer inline impl over ipp files 2017-08-29 12:28:54 +10:00
a91df8895d geom: prefer inline implementation over ipp 2017-08-29 12:19:58 +10:00
eabf93bc2a view: remove ipp file in preference of inline code 2017-08-01 14:16:55 +10:00
f39f7d7362 parse: add throwing native type parsers 2017-07-26 15:26:56 +10:00
3460d5edbe crypto/salsa: add initial skeleton for salsa20 2017-07-11 16:49:49 +10:00
320fe6c378 job/queue: add trivial job queuing system 2017-07-03 17:05:01 +10:00
0eaec8ad65 comparator: move pointer comparator code inline 2017-06-19 15:36:57 +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
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
606a46a128 typeidx: add lightweight runtime type id call 2017-05-29 17:21:11 +10:00
813600e774 ascii: add hex conversion and unit tests 2017-05-22 16:11:31 +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
c57569a4ff cmake: more reliable backtrace strategy discovery 2017-02-01 13:46:33 +11:00
5a25f07f8e hash/crc: adapt implementation from png appendix 2017-01-25 16:12:12 +11:00
845c8dd14d cmake: avoid recursive cmake lists for tests 2017-01-25 15:06:47 +11:00
f665244010 cmake: avoid passing around CFLAGS 2017-01-23 21:48:44 +11:00
395545f43a cmake: add missing exe implementation for win32 2017-01-23 15:09:53 +11:00
59a32aede6 cmake: don't locate addr2line for win32 builds 2017-01-23 15:09:33 +11:00
5d728859e7 cmake: decrement required cmake version (for msys) 2017-01-23 15:09:07 +11:00
164652d89a cmake: try to use a unique target name for tools 2017-01-19 14:23:13 +11:00
bfc74cbc82 build: fix link order for required libs 2017-01-19 13:35:14 +11:00
0bcf9da239 build: add shm lib to cmake 2017-01-19 13:34:49 +11:00
1b644132f0 cmake: bump for caching of values 2017-01-18 21:46:25 +11:00
b5a4b4791d cmake: use CURRENT versions of directories 2017-01-17 21:31:12 +11:00
dd23d4a347 build: cmake tests 2017-01-17 19:20:30 +11:00