Brendan Zabarauskas
8bca8757c2
Add hsv conversion tests
2013-07-10 20:13:50 +10:00
Brendan Zabarauskas
49b9b85079
Add yuv and ycbcr skeleton modules
2013-07-10 15:51:05 +10:00
Brendan Zabarauskas
053586c8e2
Add point conversion methods for vec2 and vec3 types
2013-07-10 14:18:44 +10:00
Brendan Zabarauskas
e12f561930
Add channel and color normalization methods
2013-07-10 14:16:16 +10:00
Brendan Zabarauskas
58c3233fe3
Impl Color trait
2013-07-10 12:59:02 +10:00
Brendan Zabarauskas
a3f997e763
Make Channel::from private
2013-07-10 10:59:23 +10:00
Brendan Zabarauskas
290287a0b9
Add skeleton hex conversions
2013-07-10 10:58:55 +10:00
Brendan Zabarauskas
8adad636d1
Add RGBA and HSVA impls
2013-07-10 10:57:37 +10:00
Brendan Zabarauskas
7e70e826f2
Add generic to_channel method
2013-07-10 10:37:59 +10:00
Brendan Zabarauskas
c4728af209
Add channel tests
2013-07-10 00:06:14 +10:00
Brendan Zabarauskas
23e21ac1b3
Improve trait bounds
2013-07-09 23:10:59 +10:00
Brendan Zabarauskas
d65aa944b9
Simplify color::channel traits
2013-07-09 22:50:20 +10:00
Brendan Zabarauskas
49715e6479
Merge some color modules
2013-07-09 21:28:23 +10:00
Brendan Zabarauskas
29a99cea51
Reduce transmute ugliness
2013-07-09 21:17:04 +10:00
Brendan Zabarauskas
452decd3e2
Use upper case identifiers for static constants
2013-07-09 17:32:24 +10:00
Brendan Zabarauskas
128e645a20
Relax type bounds
2013-07-09 17:05:19 +10:00
Brendan Zabarauskas
b9369247bf
Remove free standing color conversion functions
2013-07-09 16:53:24 +10:00
Brendan Zabarauskas
afaa3af501
Re-export FrustumPoints from world module
2013-07-09 16:44:15 +10:00
Brendan Zabarauskas
5c3197a7fc
Rename Plane to Plane3 for consistency with other types
2013-07-09 16:43:33 +10:00
Brendan Zabarauskas
2ca90cb750
Fix color channel conversions
2013-07-09 16:42:19 +10:00
Brendan Zabarauskas
a5d4fc1ed4
Make point into standalone struct as opposed to a newtype struct
2013-07-08 18:17:36 +10:00
Brendan Zabarauskas
5b5d1f38b3
Add octree and quadtree mods (not yet implemented)
2013-07-08 17:48:11 +10:00
Brendan Zabarauskas
999782945c
Add color module
2013-07-08 17:39:33 +10:00
Brendan Zabarauskas
6925c5eaad
Add skeleton noise module
2013-07-08 17:04:48 +10:00
Brendan Zabarauskas
c0a5b29af1
Move files into submodules
2013-07-08 17:02:04 +10:00
Brendan Zabarauskas
288afe0898
Remove dimensional HOFs
2013-07-08 13:20:34 +10:00
Brendan Zabarauskas
c91b0747b3
Untangle mat macros
2013-07-04 10:59:21 +10:00
Brendan Zabarauskas
1819846a4c
Untangle vec macros
2013-07-01 13:25:45 +10:00
Brendan Zabarauskas
b7530c3512
Fix lifetime error
2013-07-01 11:39:13 +10:00
maikklein
d43629e2b9
fixes += operator etc
2013-06-30 18:28:39 +02:00
Brendan Zabarauskas
6fb6d57175
Use the Clone trait instead of Copy and switch from the copy keyword to calling the clone method.
...
impl_approx! is broken with a borrow issue. The library does not compile yet. Sorry!
2013-06-29 16:38:55 +10:00
maikklein
c36cb6e555
explicit copy
2013-06-29 02:26:26 +02:00
maikklein
547ac400fd
explicit copy
2013-06-29 02:25:07 +02:00
Brendan Zabarauskas
6cfb244b41
Merge vector and matrix source files
2013-06-16 18:03:14 +10:00
Brendan Zabarauskas
9d99347bbf
Add types from cgmath
2013-06-16 17:34:09 +10:00
Brendan Zabarauskas
11e1623dad
Rename macros file
2013-06-16 17:32:48 +10:00
Brendan Zabarauskas
f5ba7a7982
Remove duplicate Dimensional trait definition
2013-06-16 15:37:30 +10:00
Brendan Zabarauskas
a4c7332e2b
Move Dimensional trait and dimensional macros into separate files
2013-06-16 15:34:59 +10:00
Brendan Zabarauskas
f20eca5cc5
Use macros and higher-order functions to reduce code repetition
2013-06-16 15:21:32 +10:00
maikklein
8673cd6701
Fixing vec2.perp_dot and vec3.angle
2013-06-16 02:08:16 +02:00
Brendan Zabarauskas
e82ac511a5
Use higher order functions to reduce code repetition in some methods
2013-06-12 15:49:54 +10:00
Brendan Zabarauskas
b727dd2bf5
Implement Dimensional trait
2013-06-12 12:57:58 +10:00
Brendan Zabarauskas
5cb98d09cf
Add conversion traits
2013-06-12 11:30:18 +10:00
Brendan Zabarauskas
b2e7f2e4b1
Some constructors and functions don't need T:Copy
2013-06-12 11:15:12 +10:00
Brendan Zabarauskas
feb4ae2a00
Move tests into source files
2013-06-12 11:02:11 +10:00
Brendan Zabarauskas
f226ab2262
Re-organise modules
2013-06-12 10:02:39 +10:00
Brendan Zabarauskas
21ae345adc
Be more selective about inlining, #[inline(always)] -> #[inline] for functions other than map
2013-06-12 07:50:16 +10:00
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
Brendan Zabarauskas
c3512ecd57
Add methods for mutable colors
2012-12-05 15:42:01 +10:00
Brendan Zabarauskas
48f581f1f4
Document color conversions for the Color
trait
2012-12-05 15:41:35 +10:00
Brendan Zabarauskas
e2b134d51f
Add mut matrix methods
2012-12-05 13:49:59 +10:00
Brendan Zabarauskas
8acc8f6943
Improve mathematical terminology
2012-12-05 12:10:05 +10:00
Brendan Zabarauskas
b15c20c7fc
Update documentation, add vector type parameter to quaternion
2012-12-05 11:51:18 +10:00
Brendan Zabarauskas
63f9cd38b7
Update documentation, rename quaternion length
methods to magnitude
...
Although `magnitude` conflicts with the `length` in the vector implementations, it seems to be more in keeping with the correct mathematical terminology.
2012-12-05 11:38:30 +10:00
Brendan Zabarauskas
b8521f289c
Rename cast
module to conv
and NumCast
trait to NumConv
...
These names will be more appropriate once the cast function has been completely phased out.
2012-12-05 10:33:27 +10:00
Brendan Zabarauskas
e2857c6e7e
Create and implement MutableGeometricVector
trait
2012-12-05 08:21:40 +10:00
Brendan Zabarauskas
ea17c63200
Add cross_self
method
2012-12-05 01:34:41 +10:00
Brendan Zabarauskas
9012589f5f
Create and implement MutableNumericVector
trait
2012-12-04 23:32:34 +10:00
Brendan Zabarauskas
7e4a7e180b
Fix to_ptr
method impls
2012-12-04 21:43:10 +10:00
Brendan Zabarauskas
a1fcfff9ed
Move methods operating on &mut self
to a separate trait
2012-12-04 21:42:32 +10:00
Brendan Zabarauskas
6c14df7fda
Move methods operating on &mut self
to a separate trait
2012-12-04 21:42:24 +10:00
Brendan Zabarauskas
0b9af30b38
Add swap methods
2012-12-04 17:58:03 +10:00
Brendan Zabarauskas
969e57591d
Fix to_ptr
method impls and use in the index
methods where appropriate
2012-12-04 17:50:15 +10:00
Brendan Zabarauskas
f9778adf17
Document future intentions regarding the cast
function.
2012-12-04 14:56:06 +10:00
Brendan Zabarauskas
54953a8f01
Find more trouble spots where Number::from causes ICEs
2012-12-04 14:41:21 +10:00
Brendan Zabarauskas
2ba45477a5
Change the orientation of the matrix diagrams in the doc comments
2012-12-04 14:34:09 +10:00
Brendan Zabarauskas
660c423d46
Update trait names
2012-12-04 14:07:44 +10:00
Brendan Zabarauskas
07bed0a9c1
Add to_identity and to_zero methods
2012-12-04 12:51:38 +10:00
Brendan Zabarauskas
c7571e4d50
Remove rhs module
2012-12-04 12:51:14 +10:00
Brendan Zabarauskas
d9c3edbeee
Add return value description to the doc comment of inverse
2012-12-04 11:56:10 +10:00
Brendan Zabarauskas
492fdc3b2b
Formatting
2012-12-04 11:41:23 +10:00
Brendan Zabarauskas
60f17d846e
Rename functions and inherit Number trait
2012-12-04 11:41:06 +10:00
Brendan Zabarauskas
91fd819b79
Add comments an rename some functions
2012-12-04 11:38:59 +10:00
Brendan Zabarauskas
d4c7abab84
Add documentation comments to Number trait and impls
2012-12-04 11:38:33 +10:00
Brendan Zabarauskas
0c47707436
Comment out Number::from(0) to prevent internal compiler error
2012-12-04 11:25:25 +10:00
Brendan Zabarauskas
1125a94ec8
Add comments for matrix constructors and identity functions
2012-12-04 10:58:19 +10:00
Brendan Zabarauskas
bc3e338c25
Improve documentation
2012-12-04 08:31:26 +10:00
Brendan Zabarauskas
9e23c06281
Remove number cast
2012-12-04 08:24:03 +10:00
Brendan Zabarauskas
53fc6d15ab
Remove default eq implementations and use fuzzy_eq instead
2012-12-04 08:23:13 +10:00
Brendan Zabarauskas
4fcd71be8e
Rename invert
method to inverse
2012-12-04 08:12:22 +10:00
Brendan Zabarauskas
b2de264caf
Rename parameter from other
to vec
2012-12-04 08:06:00 +10:00
Brendan Zabarauskas
9563455b47
Add documentation for Vector traits
2012-12-04 02:32:40 +10:00
Brendan Zabarauskas
fdbc3ed139
Use explicit self
2012-12-03 16:37:19 +10:00
Brendan Zabarauskas
f266d54654
Use Number::from instead of cast
2012-12-03 16:28:32 +10:00
Brendan Zabarauskas
248242dda5
Add and use Number::from static method
2012-12-03 16:19:53 +10:00
Brendan Zabarauskas
ddc7559153
Remove zero and one methods from NumCast
2012-12-03 15:39:32 +10:00
Brendan Zabarauskas
e62e914035
Use explicit self
2012-12-03 15:25:34 +10:00
Brendan Zabarauskas
566fffdac6
Use Float type bound for rgb/hsv conversions
2012-12-03 13:14:25 +10:00
Brendan Zabarauskas
e1ed642f76
Restore boolean vectors in gltypes module and relational traits
...
I forgot that these would be useful for the AABB struct that will be implemented in the future.
2012-12-03 11:24:24 +10:00
Brendan Zabarauskas
ecc91acbbe
Rename num::ext
module to num::kinds
2012-12-03 11:12:57 +10:00
Brendan Zabarauskas
7b3ae88c57
Use num::ext traits to simplify trait bounds
2012-12-03 11:10:14 +10:00
Brendan Zabarauskas
3d293dce5a
Rename det
method to determinant
2012-12-03 11:08:36 +10:00
Brendan Zabarauskas
668186a2e2
Merge matrix traits, simplify gltypes, remove relational functions
...
Let's try to simplify this thing!
2012-12-03 08:15:40 +10:00
Brendan Zabarauskas
9595449b71
Formatting
2012-12-02 23:16:38 +10:00
Brendan Zabarauskas
005daf46e4
Remove consts mod reference
2012-12-02 23:16:26 +10:00
Brendan Zabarauskas
5de6fbe5bb
Move methods from FloatConsts into Float trait and remove num::consts
2012-12-02 16:59:03 +10:00
Brendan Zabarauskas
edca099681
Comment pi constants
2012-12-02 16:25:23 +10:00
Brendan Zabarauskas
3a48006ba7
Use absolute values for radian constants
2012-12-02 16:18:39 +10:00
Brendan Zabarauskas
90802b1713
Fix angle wrapping
2012-12-02 15:39:49 +10:00
Brendan Zabarauskas
2b931aee21
Add zero constant
2012-12-02 15:36:10 +10:00
Brendan Zabarauskas
4515c9f7e0
Remove unwrap operators
2012-12-01 22:55:14 +10:00
Brendan Zabarauskas
4ce43ff18e
Add temporary fixes for weird type mismatch errors
2012-12-01 22:49:24 +10:00
Brendan Zabarauskas
0adbbd478b
Implement explicit self for DefaultEq trait
2012-12-01 15:05:11 +10:00
Brendan Zabarauskas
1d4825e005
Move to_ptr method into new ToPtr trait
2012-12-01 14:55:45 +10:00
Brendan Zabarauskas
2ad204a424
Add missing trait bounds
2012-12-01 14:19:37 +10:00
Brendan Zabarauskas
10f8570441
Divide up trait implementations
2012-12-01 14:19:21 +10:00
Brendan Zabarauskas
7316fa4397
Make NumCast trait public
2012-12-01 13:40:16 +10:00
Luqman Aden
e837ab52f3
Explicitly specify paths in crate.
2012-11-30 19:17:30 -05:00
Brendan Zabarauskas
6c4ead0990
Add color type aliases
2012-11-30 22:47:40 +10:00
Brendan Zabarauskas
390240ba03
Add color module
2012-11-30 22:46:44 +10:00
Brendan Zabarauskas
7d559c09e2
Add opposite method
2012-11-30 22:28:58 +10:00
Brendan Zabarauskas
f352cd68b4
Make projection functions public (woops!)
2012-11-30 15:15:11 +10:00
Brendan Zabarauskas
03a1c4581d
Improve channel conversions
2012-11-30 15:12:38 +10:00
Brendan Zabarauskas
6d3620c9d7
Implement explicit self in trait methods
2012-11-30 13:13:20 +10:00
Brendan Zabarauskas
ea074faef5
Merge MinMax and Clamp traits together to form Extent trait
2012-11-29 22:19:42 +10:00
Brendan Zabarauskas
2e1e6ca0a0
Use ==
instead of default_eq
2012-11-29 21:30:40 +10:00
Brendan Zabarauskas
126c5f4501
Improve constant names
2012-11-29 18:29:08 +10:00
Brendan Zabarauskas
9b05325a31
Implement ToStr for angle types
2012-11-29 16:31:14 +10:00
Brendan Zabarauskas
eeaf6cb3c1
Change fovy parameter to accept a generic angle
2012-11-29 15:59:45 +10:00
Brendan Zabarauskas
93d228f2f9
Remove apparently unnecessary Copy bounds
2012-11-29 15:49:43 +10:00
Brendan Zabarauskas
60388118d2
Implement common functions for angle types
2012-11-29 15:39:55 +10:00
Brendan Zabarauskas
8e7ae0d4ae
Remove enum unwrapping
2012-11-29 13:50:15 +10:00
Brendan Zabarauskas
f44d2aa540
Use ==
instead of default_eq
2012-11-29 13:49:57 +10:00
Brendan Zabarauskas
49d055a3dc
Update operator overloads to use explicit self
2012-11-29 13:14:42 +10:00
Brendan Zabarauskas
64761478dd
Formatting
2012-11-29 11:17:36 +10:00
Brendan Zabarauskas
26a22e0cc7
Implement wrap method
2012-11-29 11:16:28 +10:00
Brendan Zabarauskas
4ea08253a7
Remove is_col_major and is_square methods
2012-11-29 08:49:31 +10:00
Brendan Zabarauskas
ba132fc2a8
Set functions to inline
2012-11-28 18:01:33 +10:00
Brendan Zabarauskas
9b1e984564
Add channel module
2012-11-28 17:50:26 +10:00
Brendan Zabarauskas
22a0ad4093
Remove TypeConsts trait
2012-11-28 14:18:29 +10:00
Brendan Zabarauskas
e6ca5297dc
Add skeleton tests with TODO comments
2012-11-27 12:40:05 +10:00
Brendan Zabarauskas
953301c38f
Add skeleton wrap method
2012-11-27 12:36:34 +10:00
Brendan Zabarauskas
e274d884b9
Add inline attributes
2012-11-27 12:35:53 +10:00
Brendan Zabarauskas
ca40caee81
Separate operator overload implementations
2012-11-27 12:35:29 +10:00
Brendan Zabarauskas
d7d1c786fb
Add angle constants
2012-11-27 12:34:15 +10:00
Brendan Zabarauskas
4600d80ce3
Add GLSL aliases for Angle, Rotation and Euler types
2012-11-27 09:55:51 +10:00
Brendan Zabarauskas
f7008b8f3b
Implement inverse trigonometry functions for vector types
2012-11-27 09:54:09 +10:00
Brendan Zabarauskas
2cb00d8c0e
Add Rotation constructor, reorganise feilds
2012-11-27 09:48:01 +10:00
Brendan Zabarauskas
44fa552950
Update comment documentation
2012-11-26 22:45:55 +10:00
Brendan Zabarauskas
a59a701efa
Formatting
2012-11-26 17:31:26 +10:00
Brendan Zabarauskas
c3071b6260
Move axial rotation conversions to angle module
2012-11-26 17:31:02 +10:00
Brendan Zabarauskas
11b5b12d0a
Reorganise funs module to mirror chapter 8 of the GLSL spec
2012-11-26 16:48:46 +10:00
Brendan Zabarauskas
7bc7565f56
Implement Eq and Ord on angle types
2012-11-26 16:23:34 +10:00
Brendan Zabarauskas
c3e43b9b9b
Fix operator overloads
2012-11-26 16:04:32 +10:00
Brendan Zabarauskas
13fef22fc9
Update module comment and organisation
2012-11-26 16:03:35 +10:00
Brendan Zabarauskas
57d24153f1
Add rhs module
2012-11-26 14:52:44 +10:00
Brendan Zabarauskas
512b024350
Remove returns
2012-11-26 11:52:48 +10:00
Brendan Zabarauskas
e004fa8edd
Add degrees and radians tests
2012-11-26 11:22:49 +10:00
Brendan Zabarauskas
5ebc44bdb1
Add abs and sign tests
2012-11-26 10:45:31 +10:00
Brendan Zabarauskas
351c0f91ff
Implement Trig and Hyp for vector types
2012-11-26 05:37:12 +10:00
Brendan Zabarauskas
5393e9a1f6
Divide Angle enum into separate Radians and Degrees types
2012-11-26 04:28:41 +10:00
Brendan Zabarauskas
eda42604b7
Use Angle type with triganomic functions
2012-11-26 03:44:24 +10:00
Brendan Zabarauskas
035d9e751a
Implement operator overloads for Angle type
2012-11-26 03:43:48 +10:00
Brendan Zabarauskas
287fae7114
Add angle module
2012-11-26 02:26:01 +10:00
Brendan Zabarauskas
10f2b9b0b1
Remove generic type from pow method
2012-11-26 00:49:26 +10:00
Brendan Zabarauskas
b06c4c1459
Add smooth and smooth_step methods
2012-11-26 00:41:27 +10:00
Brendan Zabarauskas
89f5c6c3e7
Remove *_v methods
2012-11-26 00:08:35 +10:00
Brendan Zabarauskas
911eb6bbc1
Add dim, size_of, rows, and cols static methods to appropriate type aliases
2012-11-25 23:32:52 +10:00
Brendan Zabarauskas
b753d27ac8
Remove useless import
2012-11-25 22:21:27 +10:00
Brendan Zabarauskas
af2ca2be45
Add size_of static method
2012-11-25 22:05:47 +10:00
Brendan Zabarauskas
7ce41e6e9e
Add extent function unit tests
2012-11-25 21:27:49 +10:00
Brendan Zabarauskas
b6f6c37ce3
Add trait implementations for vector structs
2012-11-25 21:26:40 +10:00
Brendan Zabarauskas
167ca9a84d
Divide funs::common up into separate modules
2012-11-22 11:09:04 +10:00
Brendan Zabarauskas
c6a7018aec
Merge branch 'refs/heads/luqmana-master'
2012-11-22 10:46:47 +10:00
Brendan Zabarauskas
161860c7dc
Update deprecated addr_of calls to the newer to_unsafe_ptr
2012-11-22 10:39:47 +10:00
Brendan Zabarauskas
bb63eb39b5
Fix capitalization of matrix conversion methods
2012-11-22 10:39:47 +10:00
Luqman Aden
ad27c97d76
Added standard inner (dot) product for matricies.
2012-11-21 18:24:43 -05:00
Luqman Aden
a4c2bacc46
Added trace function.
2012-11-21 17:49:11 -05:00
Luqman Aden
118fcdf7e3
Doing transpose twice is equivalent to not doing it at all.
2012-11-21 16:03:33 -05:00
Brendan Zabarauskas
0c21294a53
Add from_value matrix constructor wrappers
2012-11-22 06:59:37 +10:00
Brendan Zabarauskas
1e0d410eb6
Minor comment update
2012-11-22 06:58:42 +10:00
Brendan Zabarauskas
3874cccde8
Further refine the organisation of the matrix traits
2012-11-21 18:35:26 +10:00
Brendan Zabarauskas
e2013002b5
Rename NumericMatrix_NxN to NumericMatrixNxN
2012-11-21 18:08:08 +10:00
Brendan Zabarauskas
e892f4db37
Add from_value gltype vector tests
2012-11-21 15:15:55 +10:00
Brendan Zabarauskas
85444f1980
Add example to gltypes module comment. Simplify other comments in gltypes module
2012-11-21 15:07:57 +10:00
Brendan Zabarauskas
e13732f2ec
Add description to gltypes module
2012-11-21 14:52:16 +10:00
Brendan Zabarauskas
6472eac775
Add unit tests for gltypes module
2012-11-21 14:33:20 +10:00
Brendan Zabarauskas
473dbfb3a2
Comment formatting
2012-11-21 14:08:36 +10:00
Brendan Zabarauskas
2463a3244c
Change quaternion type from four scalars (wxyz), to a scalar and vec3 (sv)
2012-11-21 14:01:21 +10:00
Brendan Zabarauskas
8a9668c39c
Change quaternion constructors to static methods
2012-11-21 11:56:39 +10:00
Brendan Zabarauskas
525c3f9354
Change matrix constructors to static methods
2012-11-20 22:27:17 +10:00
Brendan Zabarauskas
a030f4cf19
Add comments
2012-11-20 21:37:10 +10:00
Brendan Zabarauskas
16e687c25e
Rename MatrixN traits
2012-11-20 21:32:20 +10:00
Brendan Zabarauskas
8eab1d86f2
Make matN alias definitions dependent on their respective matNxN alias
2012-11-20 19:23:11 +10:00
Brendan Zabarauskas
b6cc803ecf
Formatting
2012-11-20 19:09:33 +10:00
Brendan Zabarauskas
0482e268ae
Switch matrix zero and identity functions to static methods
2012-11-20 19:06:49 +10:00
Brendan Zabarauskas
a06d2cff54
Make vector constructors static functions
2012-11-20 17:58:24 +10:00
Brendan Zabarauskas
59abaf7f87
Add zero and identity static methods
2012-11-20 16:57:32 +10:00
Brendan Zabarauskas
d7fb5fdd6b
Remove TODO comments
2012-11-20 15:40:36 +10:00
Brendan Zabarauskas
3aad63bf2c
Remove math module
2012-11-20 15:36:29 +10:00
Brendan Zabarauskas
491a82ec28
Implement DefaultEq for matrix, vector and quaternion types
2012-11-20 15:35:06 +10:00
Brendan Zabarauskas
be6ee9a7f4
Create an extension trait for bool
2012-11-20 12:57:56 +10:00
Brendan Zabarauskas
211e9deee3
Inherit TypeConst and DefaultEq for base types
2012-11-20 12:57:08 +10:00
Brendan Zabarauskas
05cb44dd60
Add TypeConsts trait
2012-11-20 12:55:45 +10:00
Brendan Zabarauskas
ef18db9f28
Add default_eq module
2012-11-20 12:55:02 +10:00
Brendan Zabarauskas
2d47523736
Rename gl module to gltypes, add to cratefile
2012-11-16 16:55:20 +10:00
Brendan Zabarauskas
0736136165
Add hack to get around the "expected item" error
2012-11-16 16:53:53 +10:00
Brendan Zabarauskas
f6966abf21
Fix cmath function calls
2012-11-16 16:23:02 +10:00
Brendan Zabarauskas
b8498b827b
Move OpenGL type aliases to separate module
2012-11-16 16:21:44 +10:00
Brendan Zabarauskas
d85c968620
Remove Eq from dimensional trait
2012-11-15 13:16:44 +10:00
Brendan Zabarauskas
788420b33f
Rename modules to short, idiomatic names
2012-11-15 12:23:39 +10:00