Commit Graph

2403 Commits

Author SHA1 Message Date
77c7d87d60 region: remove incorrect union accessors
the union accessors x,y,w,h were predicated on the dimension being 2.
for higher/lower dimensions this resulted in the incorrect variable
being returned.

rather than do something fancy with unions and coord storage type for
access to the underlying data we force the user to acknowledge the split
storage of point/extent.

unfortunately we have pretty shitty names for the components as a
result.
2016-10-25 19:59:53 +11:00
249f8adfed region: forward is_valid to component point and extent 2016-10-25 19:59:06 +11:00
17423ca1c7 extent: instantiate is_valid for more types 2016-10-25 19:58:38 +11:00
7121415c5f point: add is_valid specialisation 2016-10-25 19:58:19 +11:00
919c635f63 coord/base: assert we are using arithmetic types 2016-10-25 19:57:37 +11:00
1662856e82 io: use size_t result for mapped_file::size 2016-10-25 19:57:13 +11:00
c04b153242 m4/nc: bump for sanitizer options 2016-10-25 17:50:11 +11:00
1b5ad41b5d io: use intmax for size to match mmap output 2016-10-25 17:50:11 +11:00
6781f7a361 cast: allow trunc_cast to same type
this makes templated code slightly easier to write
2016-10-25 17:50:11 +11:00
e5d44d0c6d coord: instantiate signed types 2016-10-25 17:50:11 +11:00
9546526c1f region: remove extent_t/point_t distinction
it's too problematic to retain signedness distinctions between base
points and region extents. just use the same types, but retain the
named typedefs for compatibility.
2016-10-25 17:50:11 +11:00
ec78216813 coord: prefer int/unsigned to intmax/size_t 2016-10-25 17:46:36 +11:00
0d9d6317fc quaternion: add second optimised vector rotate
The original code was supposed to be from a stackexchange derivation,
but it clearly doesnt match the link.
2016-10-18 16:45:57 +11:00
3a4b711467 quaternion: add assignment-multiply operator 2016-10-18 16:45:38 +11:00
e549f3d554 matrix: move identity and zeroes into constexpr funcs 2016-10-17 22:34:53 +11:00
e96ef7af32 quaternion: move out of coord infrastructure 2016-10-17 22:30:16 +11:00
b5b7ae3a9a quaternion: use consistent order for naive impl 2016-10-17 18:58:45 +11:00
df27f5f89e quaternion: add naive from_to implementation 2016-10-17 18:58:41 +11:00
1582af98e6 quaterion: orthogonalise up before use in look 2016-10-17 18:56:10 +11:00
607aaceb29 matrix: fix transposed matrix in look_at 2016-10-17 16:51:26 +11:00
9cff1e9c85 test/affine: add trivial origin rotation test 2016-10-17 16:51:06 +11:00
b927c8b8e7 vector: make cross function constexpr 2016-10-17 16:49:26 +11:00
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