Commit Graph

576 Commits

Author SHA1 Message Date
Sébastien Crozet
7f05cc5977 abs needs the Signed trait. 2013-07-10 17:43:45 +00:00
Sébastien Crozet
c37d58f3fb Add Vec0. 2013-07-07 22:34:18 +02:00
Sébastien Crozet
831f561441 Use Clone instead of Copy. 2013-07-05 22:54:42 +00:00
Sébastien Crozet
6f081b70b8 Add sphere sempling trait + Copy becomes Clone 2013-07-04 14:23:08 +00:00
Sébastien Crozet
51fd2bc744 map -> iter().transform 2013-07-02 10:00:55 +00:00
Sébastien Crozet
68d601a642 Basis trait now uses internal iterators to avoid allocations. 2013-07-01 16:33:22 +00:00
Sébastien Crozet
6fd9696253 Fix bug when trying to create a rotation matrix with a zero angle. 2013-06-30 21:19:36 +00:00
Sébastien Crozet
02e22717a4 More rotation sugar. 2013-06-29 19:02:51 +00:00
Sébastien Crozet
f8515f4683 Add rotation wrt center of a matrix. 2013-06-29 18:59:04 +00:00
Sébastien Crozet
50293ca417 Add read-only access to a Rotmat subcomponents. 2013-06-29 18:37:01 +00:00
Sébastien Crozet
364c16ca19 Add read-only accesse to a Transform subcomponents. 2013-06-29 18:35:01 +00:00
Sébastien Crozet
50d424a901 Changed the representation of rotations for 3D matrix. 2013-06-29 15:32:56 +00:00
Sébastien Crozet
429bcbf9c3 Fix Column implementation generating an ICE. 2013-06-29 15:19:21 +00:00
Sébastien Crozet
d3bed841f8 Add Column implementations. 2013-06-29 15:04:38 +00:00
Sébastien Crozet
8e8a87b667 Fixes to work with the new compiler. 2013-06-29 12:06:39 +00:00
Sébastien Crozet
3bb470ac95 Add Column + Homogeneous + Indexable traits.
Column: to access a matrix column.
Homogeneous: to convert a matrix/vector from/to homogenous coordinates.
Indexable: to access a matrix/vector element using indices.
2013-06-29 11:40:31 +00:00
Sébastien Crozet
c58e1ed40d Reorganized files. 2013-06-29 00:34:45 +00:00
Sébastien Crozet
c54eb562ec Refactor code for matrices. 2013-06-28 22:55:09 +00:00
Sébastien Crozet
cd355dfb30 Refactor vec{1, 2, 3} implemenation + add some useful traits. 2013-06-28 21:03:40 +00:00
Sébastien Crozet
8abcdeeedc #[inline(always)] -> #[inline] 2013-06-27 17:40:37 +00:00
Sébastien Crozet
6723693b49 Refined traits for rotation/translation/transformation. 2013-06-27 16:16:07 +00:00
Sébastien Crozet
ffbcf4882a Removed a lot of Copy + made Rotation and Translation more flexible. 2013-06-26 20:56:30 +00:00
Sébastien Crozet
edc5bb616d Removed some useless references. 2013-06-24 21:38:52 +00:00
Sébastien Crozet
870f4b804b Fix some infinite recursion on nvec. 2013-06-23 20:16:15 +00:00
Sébastien Crozet
0a90e6e6d8 all -> iter().all 2013-06-23 16:19:13 +00:00
Sébastien Crozet
8dc9067121 Coding style fix. 2013-06-23 16:08:50 +00:00
Sébastien Crozet
cfd7bac305 Fix to make it work with the new compiler. 2013-06-19 12:26:59 +02:00
Sébastien Crozet
854dda73bf Add implementation of Bounded. 2013-06-15 22:11:33 +00:00
Sébastien Crozet
caee7eb423 workarounds -> traits. All ICE are now compiler errors. 2013-06-15 20:16:44 +00:00
Sébastien Crozet
6e627f3378 Add Ord instances. 2013-06-15 18:06:13 +00:00
Sébastien Crozet
513d4d7b08 Add inlining pragmas. 2013-06-13 16:48:28 +00:00
Sébastien Crozet
4cc5b178c8 Add DeltaTransformVector tait and fix transformation. 2013-06-13 14:44:15 +00:00
Sébastien Crozet
fb20ffdf8b Add automatic implementation of VectorSpace. 2013-06-11 11:03:16 +02:00
Sébastien Crozet
53486fe614 Changed flattening function names. 2013-06-10 09:46:42 +02:00
Sébastien Crozet
4c65f793e8 Add flatten trait. 2013-06-10 00:09:36 +00:00
Sébastien Crozet
c02edb9d09 Used a better type parametter name. 2013-06-09 23:36:47 +00:00
Sébastien Crozet
bd5f1eae88 Codding style fix. 2013-06-09 14:04:54 +00:00
Sébastien Crozet
ffc24de9e0 Removed useless iterator usage. 2013-06-09 12:12:18 +00:00
Sébastien Crozet
965601d4e0 Adapted to new vec iterator api. 2013-06-09 12:09:22 +00:00
Sébastien Crozet
ec87e81426 Relaxed type constraints for transform rotation. 2013-06-08 16:33:49 +00:00
Sébastien Crozet
8a1b81f839 Primitive construction is more idiomatique using new. 2013-06-08 10:09:17 +00:00
Sébastien Crozet
e9948f55d0 Add rotation wrt a point. 2013-06-06 22:57:07 +00:00
Sébastien Crozet
0b8058e88f Adapted for the compiler 'incomming' branch. 2013-06-01 20:50:00 +02:00
Sébastien Crozet
4146385e09 Fix matrix inversion algorithm. 2013-05-31 18:35:48 +02:00
Sébastien Crozet
f264b75ce6 Add dynamically sized matrix. 2013-05-31 11:28:42 +02:00
Sébastien Crozet
335794208d Add dynamically sized vector. 2013-05-31 11:01:07 +02:00
Sébastien Crozet
a77013e4c7 Use automatic ToStr deriving for everything. 2013-05-25 18:30:03 +00:00
Sébastien Crozet
898a87b46c Add SubDot trait and basic implementations. 2013-05-25 13:51:51 +00:00
Sébastien Crozet
2b9dc1d2e3 Fix comment. 2013-05-21 23:20:09 +00:00
Sébastien Crozet
65b175b4a7 Refactored tests using macros. 2013-05-21 23:15:20 +00:00
Sébastien Crozet
3fa933d13f Add comments and adapted to new rust syntax. 2013-05-21 22:46:33 +00:00
Sébastien Crozet
4312daa53c Removed the triginometric trait workaround. 2013-05-20 10:02:02 +00:00
Sébastien Crozet
b2d17300d9 Add delta-transformation implementations. 2013-05-19 19:45:30 +00:00
Sébastien Crozet
f3ed302874 Add delta-transformation. 2013-05-19 19:45:04 +00:00
Sébastien Crozet
ec160e5219 Fix rotation for transform adaptor. 2013-05-19 15:01:38 +00:00
Sébastien Crozet
52a769a431 Add a test for the 2d rotation. 2013-05-19 11:53:19 +00:00
Sébastien Crozet
dc0757b2e5 Add rotation and translation traits. 2013-05-19 11:44:27 +00:00
Sébastien Crozet
a0ada142a6 Removed useless use on the .rc. 2013-05-18 21:56:03 +00:00
Sébastien Crozet
ceed733e25 Functions to build objects dont shadow constructors any more. 2013-05-18 20:03:45 +00:00
Sébastien Crozet
01d37a1b56 Refined ScalaOp trait. 2013-05-18 18:06:36 +00:00
Sébastien Crozet
931f2e2b80 Removed useless loops on basis test. 2013-05-18 17:07:38 +00:00
Sébastien Crozet
890cdb73f2 Add tests and basis generation. 2013-05-18 17:04:03 +00:00
Sébastien Crozet
39707b42dc Add rand for nvec. 2013-05-18 15:03:54 +00:00
Sébastien Crozet
622435f7ad Add Rand for nmat. 2013-05-18 11:38:56 +00:00
Sébastien Crozet
98b484c311 Fix readme for workarounds. 2013-05-17 22:13:07 +00:00
Sébastien Crozet
bc93c44206 Add Rand implementation for everything. 2013-05-18 00:11:59 +00:00
Sébastien Crozet
53131731b3 Add fuzzy_eq implementation for everything. 2013-05-16 22:23:25 +00:00
Sébastien Crozet
7a58f2c66a Add comments for traits. 2013-05-16 21:59:41 +00:00
Sébastien Crozet
699e4c5bb7 Adapted assertions with last rust zero-testing api. 2013-05-16 21:44:05 +00:00
Sébastien Crozet
e11cbb0963 Add one-dimensional primitives. 2013-05-16 21:43:14 +00:00
Sébastien Crozet
d636fdd346 Add matrix adaptors and addapted to the now rust features. 2013-05-16 21:30:39 +00:00
Sébastien Crozet
c7059af99d Fix 2d matrix multiplication and 3d matrix inversion. 2013-05-15 11:51:53 +02:00
Sébastien Crozet
cfe636c11b Replaced an uggly for by a bit less uggly while for the matrix inversion. 2013-05-15 01:10:18 +00:00
Sébastien Crozet
30d82f2408 Add n-dimensional vector and matrix. 2013-05-15 00:18:13 +00:00
Sébastien Crozet
4582492fda Addesome traits and configuration file. 2013-05-14 21:08:29 +00:00
Sébastien Crozet
8b18310c3c Add basic operations. 2013-05-14 11:35:01 +00:00