Commit graph

537 commits

Author SHA1 Message Date
Brendan Zabarauskas
17975b798d De-traitify types, fix tests 2013-06-11 09:02:25 +10:00
Brendan Zabarauskas
3721167cdc Fix std imports 2013-06-06 12:38:23 +10:00
Brendan Zabarauskas
288c49b474 Remove broken macros 2013-06-06 12:38:03 +10:00
Brendan Zabarauskas
d352577356 Use /// style doc comments 2013-06-01 12:57:29 +10:00
Brendan Zabarauskas
f443203d4a Create elem and elem_mut methods for accessing matrix elements 2013-06-01 11:56:11 +10:00
Brendan Zabarauskas
a485920354 Fix constructors, tests now pass (YAYAY!)
YAYYYYYYYYAYAYAYAYAYAYAY

*jumps for joy*
2013-06-01 11:07:25 +10:00
Brendan Zabarauskas
36039228b6 Don't use index operator in tests 2013-06-01 09:12:30 +10:00
Brendan Zabarauskas
a913be0373 Delete old files 2013-06-01 08:01:20 +10:00
Brendan Zabarauskas
d3bfcc194e Add license/copyright notices to source files 2013-06-01 08:01:01 +10:00
Brendan Zabarauskas
e630faf239 Remove index operator impls to prevent copying
We could re-implement this once the Index trait has been improved
2013-05-31 21:42:46 +10:00
Brendan Zabarauskas
86241f69cb Fix multiple borrow errors 2013-05-24 07:55:23 +10:00
Brendan Zabarauskas
f800a0ae04 Fixes for core->std and changes to use 2013-05-24 07:05:25 +10:00
Brendan Zabarauskas
0361be55c5 Simplify index methods 2013-05-22 17:01:52 +10:00
Brendan Zabarauskas
11d6d0259a Use #[cfg(test)] instead of #[test]. 2013-05-22 16:46:27 +10:00
Brendan Zabarauskas
0c1af624a7 Remove usages of the <-> operator 2013-05-22 15:44:54 +10:00
Brendan Zabarauskas
ebf6a9529d Use the new ApproxEq trait in core 2013-05-08 01:00:06 +10:00
Brendan Zabarauskas
0cb3314bf8 Use the new core::num traits and remove numeric dependency 2013-05-06 13:52:22 +10:00
Brendan Zabarauskas
a6acab93c3 Simplify trait bounds
Requires the latest version of numeric
2013-04-15 07:09:43 +10:00
Brendan Zabarauskas
aad2d62f37 Make lifetimes explicit, as required in latest updates to rust 2013-04-15 06:43:21 +10:00
Brendan Zabarauskas
887544b0b2 Fix ortho 2013-04-07 23:18:32 +10:00
Brendan Zabarauskas
a57935ccea Clean up 'orthographic' function and rename to 'ortho' 2013-04-07 23:04:54 +10:00
Mikko Perttunen
4293d9aa1b Add function projection::orthographic. 2013-04-07 13:06:26 +03:00
Mikko Perttunen
5cf091656d Fix projection::perspective. 2013-04-07 12:55:03 +03:00
Brendan Zabarauskas
9116917607 Make trait names more succinct 2013-04-02 16:12:13 +11:00
Brendan Zabarauskas
4614930ad3 Formatting 2013-04-02 15:01:38 +11:00
Brendan Zabarauskas
c906578c69 Remove NumCast type parameters
The NumCast type parameter is no longer needed as it is a constraint of numeric::Number
2013-04-02 11:59:33 +11:00
Brendan Zabarauskas
d2885fea52 Remove unnecessary imports 2013-04-02 11:57:58 +11:00
Brendan Zabarauskas
449705b760 Use core::num::{Zero, One, NumCast} traits for 'zero', 'one' and 'cast' methods 2013-04-02 11:25:05 +11:00
Brendan Zabarauskas
25c70a7e87 Create zip macros for automating repetitive code 2013-04-01 07:35:09 +11:00
Brendan Zabarauskas
e5879db08c Use macro for generating wrapper impls 2013-03-31 22:02:36 +11:00
Brendan Zabarauskas
69615bee12 Fix unit test build 2013-03-31 22:01:50 +11:00
Brendan Zabarauskas
85e8677c9c Combine vec*.rs and mat*.rs files into two respective modules
I hate to do this as I find huge long files annoying, but it'll help work around some weird export bugs.
2013-03-31 17:27:59 +11:00
Brendan Zabarauskas
a1f0980688 Remove imports from top of files 2013-03-30 23:36:34 +11:00
Brendan Zabarauskas
dfa4339912 Remove unused imports 2013-03-30 11:42:55 +11:00
Brendan Zabarauskas
4b61cca057 Capitalise rustic type aliases 2013-03-30 11:22:59 +11:00
Brendan Zabarauskas
9f7d10a580 Convert type alias comments to doc comments 2013-03-30 11:22:32 +11:00
Brendan Zabarauskas
a601881dd5 Add rustpkg support 2013-03-30 09:54:05 +11:00
Brendan Zabarauskas
c6c92dc3e3 Merge each mutable trait with its respective immutable trait 2013-03-29 22:51:34 +11:00
Brendan Zabarauskas
fdb8a73555 Remove usages of 'to_unsafe_ptr' 2013-03-29 22:09:15 +11:00
Brendan Zabarauskas
1c51fba5a6 Fix tests 2013-03-29 18:48:01 +11:00
Brendan Zabarauskas
4cefbf763c Re-fix index operators 2013-03-29 13:47:19 +11:00
Luqman Aden
6b0711fe63 Unused imports. 2013-03-28 18:39:29 -07:00
Luqman Aden
062a5126e4 Workaround conflicting loans when using util::swap. 2013-03-28 18:39:29 -07:00
Luqman Aden
a467bf7032 Update index impls. 2013-03-28 18:39:29 -07:00
Brendan Zabarauskas
fbb484408b Fix some conflicting loans 2013-03-29 12:04:59 +11:00
Brendan Zabarauskas
3869c24ec8 Remove unnecessary dereference-references 2013-03-29 10:42:54 +11:00
Brendan Zabarauskas
e8c6e78cf4 Fix unused variable errors 2013-03-29 10:39:19 +11:00
Brendan Zabarauskas
8989881365 Fix cargo cult syntax 2013-03-29 10:37:25 +11:00
Brendan Zabarauskas
39ad5169f2 Make anonymous impls public 2013-03-29 10:32:23 +11:00
Brendan Zabarauskas
9e8666c53f Fix lifetime issues 2013-03-29 10:29:20 +11:00
Brendan Zabarauskas
c6816207e0 Remove unused imports 2013-03-29 09:50:51 +11:00
Brendan Zabarauskas
1342d52bfa Fix index operator overloads 2013-03-29 09:14:20 +11:00
Brendan Zabarauskas
ce0a6bcd02 Add 'self lifetimes 2013-03-29 09:10:55 +11:00
Brendan Zabarauskas
61bf32d1e9 Update to deriving(Eq) attribute syntax 2013-03-28 21:56:38 +11:00
Brendan Zabarauskas
faffdf8273 Remove test_rot module 2013-03-28 21:54:50 +11:00
Brendan Zabarauskas
1c09618aa4 Convert asserts to syntax extension form 2013-03-28 21:54:25 +11:00
Brendan Zabarauskas
ad4ee9c436 Update lifetime notation 2013-03-28 21:39:19 +11:00
Brendan Zabarauskas
2c2b7a71d0 Remove instances of 'static' 2013-03-28 21:37:25 +11:00
Brendan Zabarauskas
27603dd6bd Remove instances of 'pure' 2013-03-28 21:35:51 +11:00
Brian Heylin
8b94369a38 updated syntax and added type bounds, scope ownership issues remain 2013-03-28 10:45:43 +01:00
Luqman Aden
97acf34dbb Update to new impl Trait for Type syntax. 2013-02-17 03:16:41 -05:00
Brendan Zabarauskas
5929ba09cb Import vector traits 2013-02-10 09:42:41 +11:00
Brendan Zabarauskas
ff185b373c Update FuzzyEq impls 2013-02-10 09:42:06 +11:00
Brendan Zabarauskas
238e034e07 Use explicit self for fuzzy_eq 2013-02-07 08:31:52 +11:00
Brendan Zabarauskas
c0fb48f861 Use capitalised Self type 2013-02-07 08:28:48 +11:00
Brendan Zabarauskas
fdff434325 Update uses of fail to macro calls 2013-02-07 08:26:33 +11:00
Brendan Zabarauskas
9c3f2e8774 Remove rot module def and rot::Rotation import 2013-01-29 21:24:08 +11:00
Brendan Zabarauskas
c89053f6ee Use capitalised Self type 2013-01-29 21:23:22 +11:00
Brendan Zabarauskas
58cfe4d32c Remove whitespace 2013-01-29 20:27:07 +11:00
Brendan Zabarauskas
d7f5efadbd Remove anonymous impls on types and transfer functionality to traits
Unfortunately this causes Rust's type inference to struggle, but this is a problem with the rust compiler and hopefully this will improve over time. Users are encouraged to use the type aliases and static method wrappers included with each module.
2013-01-29 20:26:48 +11:00
Brendan Zabarauskas
683ac4ad62 Re-define test mod names to remove the 'test_' prefix 2013-01-29 16:33:09 +11:00
Brendan Zabarauskas
0a4e19ba1e Move GLSL type aliases to vec, mat and quat mods 2013-01-29 12:13:44 +11:00
Brendan Zabarauskas
030af2a842 Add more static method wrappers for gltypes 2013-01-29 11:49:38 +11:00
Brendan Zabarauskas
153e5366c8 Remove FIXMEs 2013-01-29 11:48:41 +11:00
Brendan Zabarauskas
017791023d Impl 'new' constructors from VectorN traits 2013-01-28 10:33:02 +11:00
Brendan Zabarauskas
8f4e1e39d2 Use Matrix::{identity,zero} functions instead of MatN::{identity,zero} 2013-01-28 10:03:46 +11:00
Brendan Zabarauskas
ba64b42932 Fix tests 2013-01-28 10:02:40 +11:00
Brendan Zabarauskas
9b69ea222c Add vector constants for axis units 2013-01-28 09:50:49 +11:00
Brendan Zabarauskas
ddc617c925 Updates due to changes in numeric-rs 2013-01-28 09:22:15 +11:00
Brendan Zabarauskas
bee43bf004 Fix type inference issue 2013-01-26 08:43:44 +11:00
Brendan Zabarauskas
759baea596 Fix imports 2013-01-26 08:41:23 +11:00
Brendan Zabarauskas
8818c9ffbf Create separate ToHomogeneous trait 2013-01-02 16:59:24 +10:00
Brendan Zabarauskas
a16a41daad Change 'Approx' to 'Round' to reflect changes in numeric library 2012-12-31 12:29:47 +10:00
Brendan Zabarauskas
d39963b048 Remove unnecessary module specification 2012-12-31 12:25:23 +10:00
Brendan Zabarauskas
1295f574b2 Add to_homogeneous conversion method 2012-12-31 12:24:14 +10:00
Brendan Zabarauskas
73548ab1cb Made usages of Number::one and Number::zero prettier 2012-12-30 15:26:01 +10:00
Brendan Zabarauskas
a8da96eda4 Reduce the number of times normalize is called 2012-12-28 19:48:39 +10:00
Brendan Zabarauskas
cc465910de Redefine identity and zero methods as wrappers for Matrix::identity and Matrix::zero 2012-12-28 18:55:43 +10:00
Brendan Zabarauskas
aae354e3a6 Add component-wise vec/vec multiplication and division methods 2012-12-28 18:47:10 +10:00
Brendan Zabarauskas
bd91c24de0 Complete method implementations 2012-12-28 17:12:24 +10:00
Brendan Zabarauskas
0b55dc2105 Add methods in the Mat3 and Quat anonymous impls in preparation for implementing Rotation
rot::Rotation won't be able to be implemented until https://github.com/mozilla/rust/issues/4306 is fixed.
2012-12-28 16:41:21 +10:00
Brendan Zabarauskas
5c9d882efe Remove Quaternion trait 2012-12-28 13:47:34 +10:00
Brendan Zabarauskas
f4b6bf5572 Comment edits 2012-12-28 13:38:36 +10:00
Brendan Zabarauskas
6485ff070e Add Rotation trait
This will eventually be implemented on Mat3 and Quat
2012-12-28 13:37:18 +10:00
Brendan Zabarauskas
16e06c3855 Add is_zero method to Vector trait 2012-12-24 13:46:25 +10:00
Brendan Zabarauskas
dd973d2e49 Remove deprecated moves 2012-12-21 14:08:43 +10:00
Brendan Zabarauskas
65e301d52d Use #[deriving_eq] instead of Eq 2012-12-20 15:18:23 +10:00
Erick Tryzelaar
0af1594db4 Fix paths for rust 0.5. 2012-12-19 19:53:41 -08:00
Brendan Zabarauskas
f4a8e5b99f Add fuzzy_eq tests 2012-12-18 13:48:02 +10:00
Brendan Zabarauskas
7cf15d7f10 Minor formatting improvements in frustum function 2012-12-18 12:27:56 +10:00
Brendan Zabarauskas
896c7845e4 Fix license meta 2012-12-18 12:26:35 +10:00
Brendan Zabarauskas
02577eab7a Create vector-specific traits for common and exponential functions 2012-12-17 19:25:06 +10:00
Brendan Zabarauskas
a95405fde7 Fix imports from numeric 2012-12-17 17:25:41 +10:00
Brendan Zabarauskas
04e7ab0dfb Use traits from numeric library in funs module 2012-12-17 16:09:56 +10:00
Brendan Zabarauskas
49c27ad4f1 Comments 2012-12-17 16:09:00 +10:00
Brendan Zabarauskas
85047f58b6 Divide RelationalVector into OrdinalVector and EquableVector 2012-12-17 15:35:03 +10:00
Brendan Zabarauskas
5eff2e4992 Move relational vector traits to vec modules 2012-12-16 15:19:38 +10:00
Brendan Zabarauskas
ff336f0791 Switch to using numeric-rs for numeric type traits 2012-12-16 15:05:04 +10:00
Brendan Zabarauskas
00e2543b22 Fix imports 2012-12-16 09:57:42 +10:00
Brendan Zabarauskas
cfc1107d00 Fix exports 2012-12-16 09:38:55 +10:00
Brendan Zabarauskas
e939b5eb95 Long lines 2012-12-16 08:30:44 +10:00
Brendan Zabarauskas
645981efbf Add more rotation matrix constructors 2012-12-15 16:12:16 +10:00
Brendan Zabarauskas
563aa9495e Remove from_mat constructors
We already have the to_mat conversion methods, so these are redundant
2012-12-14 18:37:02 +10:00
Brendan Zabarauskas
9820436633 Remove random text
8^[
2012-12-14 16:31:07 +10:00
Brendan Zabarauskas
b51e66b19a Remove ToQuat trait 2012-12-14 16:22:45 +10:00
Brendan Zabarauskas
6c4c2fc1c8 Add more Quaternion unit tests. 2012-12-14 16:05:18 +10:00
Brendan Zabarauskas
889736bd61 Add identity and zero static methods to Quat's impl 2012-12-14 16:04:46 +10:00
Brendan Zabarauskas
5ce765367a Split up vec and mat modules 2012-12-13 23:01:42 +10:00
Brendan Zabarauskas
3d31797d8d Add angle calculation method to vectors, improve vector unit tests 2012-12-13 22:01:55 +10:00
Brendan Zabarauskas
965bade82c add normalize_to and normalize_self_to methods 2012-12-13 19:21:50 +10:00
Brendan Zabarauskas
7f14c6784b Move color module to new git repository 2012-12-13 16:57:09 +10:00
Brendan Zabarauskas
b429d91fcf Remove num::cast::cast function and num::cast::NumCast::from method 2012-12-13 11:10:53 +10:00
Brendan Zabarauskas
bc9104fdb5 Implement FuzzyEq for Angle and Color types 2012-12-12 14:19:19 +10:00
Brendan Zabarauskas
3a3034b7b6 Fix typo 2012-12-12 13:25:01 +10:00
Brendan Zabarauskas
a43c630ee9 Make from_float accept a generic Float argument 2012-12-12 13:24:38 +10:00
Brendan Zabarauskas
5aef15d9d7 Remove to_float method from Float trait
Conflicts with num::NumConv::to_float
2012-12-12 13:20:32 +10:00
Brendan Zabarauskas
1b24495c09 Remove Dimensional and ToPtr traits 2012-12-12 11:29:35 +10:00
Brendan Zabarauskas
3abc1df753 Rename kinds module to types 2012-12-12 09:55:42 +10:00
Brendan Zabarauskas
8e88baf06e Add methods to Signed and Float traits 2012-12-12 09:50:45 +10:00
Brendan Zabarauskas
1fbe5203e1 Remove comment and nested unsafe block 2012-12-10 11:47:36 +10:00
Brendan Zabarauskas
c8f3f1919a Unmark Mat4 inverse method as unsafe 2012-12-10 10:48:02 +10:00
Brendan Zabarauskas
e39f02ccf7 Fix to_int conflict 2012-12-10 10:40:32 +10:00
Brendan Zabarauskas
b6049b28e2 Remove comma separated inheritance lists 2012-12-10 10:38:41 +10:00
Brendan Zabarauskas
1a55784c81 Merge branch 'master' of https://github.com/luqmana/lmath-rs 2012-12-10 10:32:29 +10:00
Brendan Zabarauskas
9d03050ed1 Add size_of and bits methods 2012-12-08 21:15:52 +10:00
Brendan Zabarauskas
4d48591e80 Documentation 2012-12-08 21:14:33 +10:00
Brendan Zabarauskas
6169ef0ee3 Use Float::pi() instead of f64::consts::pi 2012-12-08 21:12:37 +10:00
Brendan Zabarauskas
5d7b3cfba4 Remove cast method 2012-12-08 21:11:08 +10:00
Brendan Zabarauskas
2e0521f4e5 Remove Euler type 2012-12-08 21:10:42 +10:00
Brendan Zabarauskas
4bd14e4d50 Make slerp method implementation a little easier to understand 2012-12-08 12:59:37 +10:00
Brendan Zabarauskas
b4fbb9c76a Remove Rotation struct and methods 2012-12-08 12:59:10 +10:00
Luqman Aden
d74cdb0dfa 4x4 matrix inversion now uses the mutable self operators. 2012-12-07 19:09:03 -05:00
Luqman Aden
fb59c90b88 More explicit self. 2012-12-07 19:00:50 -05:00
Brendan Zabarauskas
9669b7bccc Fix to_mat3 method 2012-12-07 14:16:28 +10:00
Brendan Zabarauskas
079199c275 Remove default_eq module 2012-12-07 02:19:48 +10:00
Brendan Zabarauskas
4a0cf79a85 Rix rotation to mat3 conversion 2012-12-06 11:11:08 +10:00
Brendan Zabarauskas
c442cf148e Fix some silly mistakes 2012-12-05 20:03:39 +10:00
Brendan Zabarauskas
bdb8605bd5 Remove convert_channel method 2012-12-05 20:03:04 +10:00
Brendan Zabarauskas
2efb96de16 Add todo, remove fixme 2012-12-05 18:10:51 +10:00
Brendan Zabarauskas
bb4154199b More documentation updates 2012-12-05 18:09:53 +10:00