Commit Graph

1831 Commits

Author SHA1 Message Date
c4bb04dee7 build: add posix forward decl 2016-10-14 18:01:16 +11:00
1d53c32de0 quaternion: add trivial from_to tests 2016-10-12 23:03:33 +11:00
db076ad6f4 quaternion: update look, from_to, rotate 2016-10-12 23:03:33 +11:00
1af6ed4ca8 matrix: fix look_at multiply ordering 2016-10-12 23:03:33 +11:00
2c6011394f coord/ops: assert when normalising zero coords 2016-10-12 22:58:13 +11:00
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
be6ca2e1d2 build: workaround unknown warning warning in clang 2016-10-11 21:44:25 +11:00
2015e71f64 build: workaround enum-to-int cast warnings in LOG calls 2016-10-11 21:44:04 +11:00
68fa98e70e build: workaround gcc synthesis constructor cast warnings 2016-10-11 21:43:28 +11:00
98350fedab build: silence unused var/func warnings 2016-10-11 21:43:07 +11:00
5a810010fe posix/fd: add lseek member function 2016-10-11 20:58:31 +11:00
4196702b38 posix/fd: add read and write member functions 2016-10-11 20:58:19 +11:00
cf7fda382a vector: normalise result of from_euler 2016-10-11 20:57:17 +11:00
2d31cf9537 matrix: add tranposition test case 2016-10-11 20:57:03 +11:00
a1666a179b matrix: remove a divide in look_at 2016-10-11 20:56:41 +11:00
ced088f6b8 matrix: instantiate free function transposition 2016-10-11 20:51:49 +11:00
82d60dca3c pkg-config: remove erroneous boost build flags 2016-10-11 20:51:19 +11:00
972b409160 alloc: duplicate methods with optional args 2016-10-10 20:59:26 +11:00
2c4f6f5526 alloc/aligned: rename Successor to ChildT 2016-10-10 19:26:40 +11:00
3dc31a9d10 alloc/aligned: add allocator with forced alignment 2016-10-10 18:19:09 +11:00
e7bf2330ed alloc: use nested namespace decl 2016-10-10 17:58:59 +11:00
254a63ca90 exe: split into platform units 2016-10-10 16:23:07 +11:00
e80c3c959c io: return path object from path_error accessor 2016-10-08 17:28:06 +11:00
c711d7e0f5 build: prefer std::thread over boost::thread 2016-10-08 17:22:21 +11:00
598c5d4e48 change const char paths to std::filesystem::path 2016-10-08 17:18:18 +11:00
48364cd227 build: use experimental::fs over boost::fs 2016-10-07 19:48:42 +11:00
ea5c3befe4 posix/fd: default open mode to 0666 2016-10-07 18:15:07 +11:00
51c8ee84ca posix/fd: add std::string overloads for paths 2016-10-07 18:14:56 +11:00
98732179a7 io: add std::string overload to slurp 2016-10-07 18:08:41 +11:00
a78ed2b879 matrix: check that the look_at up vector is normalised 2016-10-07 17:33:03 +11:00
2e54950b1a strongdef: delete default constructor
generally we use this for identifiers, and allowing the user to express
arbitrary values from default construction isn't a great idea.
2016-10-07 17:33:03 +11:00
08249f530e posix/map: add missing empty method 2016-10-02 16:39:47 +11:00
b949b90dd7 posix/fd: add more comments 2016-10-02 16:34:40 +11:00
4608c65c84 posix/map: start extracting pure mmap class 2016-10-02 16:18:41 +11:00
152a55ad78 Merge remote-tracking branch 'origin/master' 2016-10-02 16:13:31 +11:00
790728d3b1 posix/fd: extract file descriptor into own unit 2016-10-02 15:50:13 +11:00
26bab4db71 debug: revert DEBUG_ONLY name change
DEBUG_ONLY is visible to other projects. Changing it to have internal
scope introduces too many build failures currently.
2016-09-28 17:24:01 +10:00
66f0bbc025 extent: make area and diameter constexpr 2016-09-28 17:21:02 +10:00
657a407d0e debug: respecte NDEBUG for CHECK macros 2016-09-28 17:20:46 +10:00
fad44bd1f7 format: allow %! specifier for all types
If we allow the %! specifier for all types it greatly simplifies
handling of format strings in templated code, or code with non-trivial
typedefs.
2016-09-27 15:23:33 +10:00
b7d141322c coord/ops: add logical or, and logical and for bools 2016-09-23 13:39:13 +10:00
109d47e971 coord/ops: generalise vectors hypot function 2016-09-23 13:27:44 +10:00
70689fd449 colour: correct the component count of colour1u 2016-09-23 13:27:21 +10:00
ff86357b83 coord/ops: use full types for is_coord
rather than passing the template class we pass the fully specified
template; ie point<3,float> rather than point.

this makes it dramatically easier to use is_coord in foreign code at the
cost of making the library code slightly more verbose. we no longer have
to obtain a typedef for the root coord class somehow.
2016-09-22 16:20:32 +10:00
ede9b75bad vector: fix hypot implementation 2016-09-21 22:24:02 +10:00
7db82e4b22 coord/base: add cbegin and cend members 2016-09-21 22:23:20 +10:00
2b946510e5 coord/ops: correct last iterators for util::all and util::any 2016-09-21 22:22:52 +10:00
4544a594c3 vector: add hypot function
calculates the root of the sum of the squares. much like std::hypot, but
of arbitrary dimension.
2016-09-21 17:13:25 +10:00
d9713fe8b7 json/tree: fix signed min, unsigned max constraints
signed/unsigned casting issues prevented correct comparisons with the
min/max constraints. account for the source type's range before doing the
comparison.
2016-09-20 16:02:08 +10:00
94e60d8cd2 quaternion: add conjugation function 2016-09-15 21:41:54 +10:00