Commit Graph

3144 Commits

Author SHA1 Message Date
61ee601df1 bitwise: use lookup table for byte reverse
When used across large buffers an iterative reverse scheme is lesss
efficient. The small cache cost for single reverses is good enough to
just eat here.
2014-09-01 16:23:46 +10:00
34f5036616 build: ignore built matrix test 2014-08-22 19:08:34 +10:00
c9fae9f23a io: rename mapped_file end/begin to cend/cbegin 2014-08-22 19:07:22 +10:00
a6cc1e1e9d vector: add instantiations for 4 element vectors 2014-08-19 20:46:37 +10:00
ea5f90dbf2 matrix: move ostream operator into util namespace 2014-08-19 20:46:15 +10:00
22dcf46c61 matrix: add various scalar operators 2014-08-19 20:46:00 +10:00
3ab2e8ed57 matrix: add analytical 4x4 inverse 2014-08-19 20:45:28 +10:00
c086e2c9d7 test: move maths-matrix test to maths dir 2014-08-18 22:16:50 +10:00
39617fb471 test: move maths namespace checks into own dir 2014-08-18 22:16:50 +10:00
523d5efd05 test: build tests against static libraries 2014-08-18 22:16:50 +10:00
f6894fabc8 whitespace 2014-08-18 22:16:50 +10:00
2f5ecd46c7 options: move bool value getter into cpp
Keeping the bool valueoption getter in the header was causing duplicate
definitions in the built static library.
2014-08-18 22:12:11 +10:00
d845cc6c39 coord: give names for 4 valued coord parts 2014-08-18 22:12:11 +10:00
26ee9b608b build: set appropriate LTO options 2014-08-12 15:59:00 +10:00
2eaf2ee73c maths: add limit function for min/max'ing 2014-08-02 21:13:51 +10:00
5e1aad2f15 maths: allow min to operate on multiple types 2014-08-02 21:13:31 +10:00
62f11a87dc build: remove overly verbose warnings 2014-08-01 21:39:45 +10:00
233251b2c8 vector: workaround internal compiler error for gcc 2014-08-01 21:39:13 +10:00
8a400f7fe9 test: add stringid to gitignore 2014-08-01 21:37:31 +10:00
226500cb83 test: hack to make json.test executable 2014-08-01 21:37:04 +10:00
935b1fe2e9 maths: allow differing arg typs in round_up 2014-08-01 20:44:58 +10:00
51b119f0fc io: move identer ostream to util namespace 2014-08-01 20:43:51 +10:00
a3dcdeb7a3 endian: add convenience selectable convertor 2014-07-31 18:52:57 +10:00
14fd62a64a pascal: begin/end should be const 2014-07-29 02:20:24 +10:00
503f5e2eff io: require access flags for mapped_file 2014-07-29 02:20:02 +10:00
4ea033c5a3 build: disable warnings problematic for gcc 2014-07-23 15:53:38 +10:00
3cd95af9c0 pascal: add signed array instantiations 2014-07-23 15:53:18 +10:00
34b40ddcc7 endian: add signed byte swapping 2014-07-23 15:52:56 +10:00
4216369e86 maths: correct divisor in divup 2014-07-15 19:52:09 +10:00
5820b75764 types: add is_lossless_cast trait query 2014-07-15 19:51:42 +10:00
cb1824a387 types: include referenced header 2014-07-15 19:51:23 +10:00
d738fc4a0e matrix: instantiate template in host namespace
Fixes warnings under clang
2014-07-15 19:50:49 +10:00
67d567b5c3 stream: add stream bit printing object
Allows one to print a given number of bits from an integral value easily
using streams.
2014-07-15 19:50:08 +10:00
d78df821bf bitwise: add bit reverse operation 2014-07-15 19:49:29 +10:00
1a461eddf0 io: give mapped_file begin/end accessors 2014-07-15 19:48:59 +10:00
f559f3d912 io: use more appropriate exceptions in fd_ref 2014-07-15 19:48:34 +10:00
8df51f7830 io: use rvalue-ref for indented ostream operator 2014-07-15 19:48:00 +10:00
a9af10ec42 io: give fd_ref a flags argument 2014-07-15 19:47:15 +10:00
fba15db34b endian: complete reimplementation
Old implementation was overly verbose. We can just rely on gcc builtins as
we can't actually build on anything else anyway.
2014-07-15 19:44:39 +10:00
b18353f546 build: disable some warnings under clang 2014-07-15 19:43:17 +10:00
400ce47891 rational: instantiation should be in namespace 2014-07-07 15:21:17 +10:00
d10491efbd pascal: add simple pascal string/array types 2014-07-07 15:21:17 +10:00
39caa4c365 build: add 'undefined' sanitizer for debug 2014-07-07 15:21:17 +10:00
f46c090c72 io: allow mutable memory for mapped_file 2014-07-07 15:21:17 +10:00
5c862400a4 types: add first, returns first true argument 2014-07-07 15:21:17 +10:00
c9e46f986e matrix: parameterise on element type 2014-07-07 15:21:17 +10:00
6e2a78fc3b maths: matrix.is_magic should check for integers 2014-07-07 15:21:17 +10:00
5c030bf0ea maths: exactly_equal should take two typenames 2014-07-07 15:21:17 +10:00
08f8d35799 whitespace errors 2014-07-07 15:21:17 +10:00
763cb667af rational: add initial stub class 2014-07-02 15:49:27 +10:00