Brendan Zabarauskas
2dc0a4a43f
Rename SquareMatrix::one to identity
...
Fixes #260
2015-12-06 19:36:38 +11:00
Brendan Zabarauskas
5b2b10d65f
Rename Array::swap_elems to Array::swap_elements
2015-11-14 22:05:44 +11:00
Brendan Zabarauskas
70dbef1eb1
Rename Array1 to Array
2015-11-14 22:02:17 +11:00
Brendan Zabarauskas
ab24f3f8fe
Make Matrix trait work for matrices of arbritrary dimensions
2015-11-14 22:02:17 +11:00
Brendan Zabarauskas
178272da3d
Make lots of methods take vectors and points by value
2015-11-09 20:18:02 +11:00
Brendan Zabarauskas
7af4ebb28d
Add some by-value operator overloads
...
Working towards #247
2015-11-08 17:45:33 +11:00
Brendan Zabarauskas
89e656b1f6
Add comments noting rust bugs
2015-11-03 15:40:52 +11:00
Brendan Zabarauskas
cda76e3bbb
Remove type parameters from Matrix trait
2015-11-03 15:32:17 +11:00
Brendan Zabarauskas
25aea84e0d
Make scalar an an associated type on Vector
2015-11-03 14:30:59 +11:00
Brendan Zabarauskas
a434f18ba4
Make array type parameters associated types
2015-11-03 14:15:11 +11:00
Brendan Zabarauskas
0584bcac64
Make epsilon an associated type on ApproxEq
2015-11-03 14:00:39 +11:00
Brendan Zabarauskas
9e53629459
Clean up index operator usages
2015-10-04 12:58:53 +11:00
Brendan Zabarauskas
b168c03174
Rename identity
to one
...
Zero is the additive identity, so this disambiguates it
2015-10-01 18:56:31 +10:00
Brendan Zabarauskas
af38e8a8be
Rename comp_{add, mul} to {sum, product}
2015-10-01 18:52:55 +10:00
Brendan Zabarauskas
d9675f7c7e
Formatting
2015-09-30 20:47:38 +10:00
Brendan Zabarauskas
e845fd9b8c
Reduce scope of dot_matrix4! macro
2015-09-30 20:06:17 +10:00
Brendan Zabarauskas
902215b532
Implement binary operators for matrices
...
We can't yet remove the operator methods, due to rust-lang/rust#20671
2015-09-30 19:01:30 +10:00
Brendan Zabarauskas
5023b6c01e
Consistently use associated functions throughout codebase
2015-09-30 09:32:25 +10:00
Colin Sherratt
5dd8bc7ef3
Merge pull request #233 from bjz/remove-map-method
...
Remove {Array1, Array2}::map method
2015-09-29 02:22:51 -04:00
Brendan Zabarauskas
4be95bcb7d
Remove {Array1, Array2}::map method
...
This doesn't seem to be used anywhere - not sure how useful it is. It isn't really a proper `map` anyway, because it mutates `self`.
2015-09-29 09:47:57 +10:00
Brendan Zabarauskas
3ea0b3c5b2
Move some methods onto the Matrix trait
...
Now we can call them like `Matrix4::identity()`! Yay!
2015-09-29 09:34:41 +10:00
Brendan Zabarauskas
aff340dc1e
Add range index operators
2015-09-21 07:56:03 +10:00
Brendan Zabarauskas
0ce28fbe10
Remove FixedArray trait in favour of std::convert
...
Fixes #225
2015-09-21 06:49:33 +10:00
Tim Neumann
0469935161
fix rfc 1214 fallout
2015-09-12 13:07:22 +02:00
Pierre Krieger
1a6dc52e51
Remove ToQuaternion
2015-05-06 16:27:03 +02:00
Pierre Krieger
8ab8d7551d
Replace ToMatrix* by Into
2015-05-06 16:27:02 +02:00
Dzmitry Malyshau
16302ffa20
Fixed the num crate
2015-04-24 23:28:31 -04:00
Pierre Krieger
d560242ed4
Allow writing matrix * scalar
2015-04-19 15:45:13 +02:00
Dzmitry Malyshau
498df01729
Fixed all the warnings, compile issues, and tests
2015-04-04 22:31:18 -04:00
Dzmitry Malyshau
8db429acae
Using rust-lang/num
2015-04-04 21:19:11 -04:00
Dzmitry Malyshau
94d428d23e
Fixed the Neg disaster
2015-04-04 20:15:00 -04:00
Dzmitry Malyshau
05c4147cec
Fixed Index implementations
2015-03-25 21:58:33 -04:00
Jonathan Neuschäfer
bc8a47fb8d
use if
/else if
/else
instead of match ()
...
It looks more idiomatic.
2015-03-18 18:21:39 +01:00
Jonathan Neuschäfer
4c527f8334
s/AUTHORS file/Cargo.toml file/
2015-03-18 17:51:03 +01:00
Colin Sherratt
64fedca8e9
Manually add rand trait
2015-03-14 22:54:02 -04:00
Pierre Krieger
8895654f92
Remove dependencies to rand and rand_macros
...
Conflicts:
src/cgmath.rs
2015-03-14 22:07:15 -04:00
Colin Sherratt
74707ed8d2
fix closure syntax
2015-03-01 13:28:38 -05:00
Ben Foppa
562dfeb7a6
Add #[must_use] on functions with in-place variants.
2015-02-22 16:33:16 -05:00
Colin Sherratt
778a3c13aa
use the new rand_macros crate
2015-02-08 13:25:42 -05:00
Colin Sherratt
e712bdee7c
fmt::Show to fmt::Debug
2015-02-08 13:19:32 -05:00
Hyeon Kim
23fbac94e7
Update rust
...
`Output` is not a member of trait `IndexMut` anymore.
2015-02-09 02:50:35 +09:00
Colin Sherratt
e064ea0e59
int to isize
2015-01-09 16:28:33 -07:00
Colin Sherratt
c0ce271e39
Updated to latest rustc
2015-01-09 15:06:45 -07:00
Colin Sherratt
c7270a9077
Update to latest rustc
2015-01-07 15:34:42 -07:00
Colin Sherratt
d6bb64fd65
Update for associated types changes
2015-01-04 18:56:01 -07:00
Connorcpu
22c2fe4755
Updated to rust nightly
2015-01-03 13:29:26 -08:00
Colin Sherratt
4bb12d6859
Switch to rustc_serialize
2014-12-26 16:18:29 -05:00
Jakob Fries
968adcd2cb
Update to match latest Neg trait.
2014-12-21 18:28:59 +01:00
Connorcpu
43cfdd94ec
Fixed macros with missing semicolons
2014-12-19 09:48:59 -08:00
Colin Sherratt
b0187ddeaa
Update to match the latest std::ops::* traits
2014-12-17 02:16:13 -05:00
Jameson Ernst
5726e6c7dc
Add deriving Copy to all structs that would previously be inferred to be Copy
...
Remove use of deprecated Equiv trait
Remove unsed attributes
2014-12-12 17:06:52 -08:00
Eduard Bopp
9f8580eeca
Replace deprecated std::num traits
...
These traits are akin to the deprecated standard library traits (Zero, One,
Primitive) to keep everything running as before. However, for the long term a
better algebraic abstraction should be used/provided.
2014-11-20 16:28:02 +01:00
Sébastien Crozet
0bbefed4bc
Improve the benchmark suite.
...
As a side effect, this adds `Rand` deriving to the benchmarked strucures.
2014-11-07 16:23:10 +01:00
Tomaka17
4fcfde13de
fail! -> panic!
2014-10-30 10:11:33 +01:00
Tomaka17
1b5da61ccb
Update for rustc 0e784e168 2014-09-16 23:26:11 +0000
2014-09-18 16:19:26 +02:00
bachm
825f5f2975
deriving Encodable, Decodable for all structs
2014-08-23 14:34:33 +02:00
Brendan Zabarauskas
3ff1eb583f
Add fixed-length array conversions
...
Closes #111
`FixedArray::from_fixed` cannot yet be implemented due to rust-lang/rust#16418
2014-08-11 21:10:38 +10:00
Brendan Zabarauskas
f93963919a
Transition codebase to the new method names
2014-08-11 18:55:14 +10:00
Brendan Zabarauskas
325ebad75e
Use more self-explanatory names for indexing methods
2014-08-11 17:02:25 +10:00
Brendan Zabarauskas
8999d88216
Remove deprecated functions from array traits
2014-08-11 16:54:39 +10:00
Vyacheslav Zeronov
535b5aa01f
Added Matrix3::from_diagonal
...
Useful for creation of scale matrices.
2014-08-08 13:46:25 +06:00
Aaron Jacobs
bfc8efff80
Fixes Matrix2::from_angle invocation and adds a test for the feature.
...
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-08-05 22:28:03 -07:00
Brendan Zabarauskas
1e1f60379e
Deprecate element and column accessors in favour of index operators
...
Also removes some unnecessary `clone` calls.
2014-07-30 04:06:31 +10:00
Brendan Zabarauskas
61a6810324
Merge pull request #96 from atheriel/vecmap
...
Add a map() method for vectors.
2014-07-05 19:24:12 -07:00
Aaron Jacobs
d58fac1117
Use pointers for the column map.
...
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-04 17:37:24 -07:00
HeroesGrave
047dbefd6f
remove lifetime notations causing errors
2014-07-05 12:15:10 +12:00
Aaron Jacobs
b0f706a96e
Adds map() to Array1, and provides implementations for Vectors,
...
Points, Matrices, and Quaternions.
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-02 21:34:26 -07:00
Colin Sherratt
1cf9f8d4ef
- added translate to Matrix
...
- fixed spaces and tabs
2014-06-28 16:53:05 -04:00
Erick Tryzelaar
1c5b6f0b7a
Update to compile with rust (9f8149e)
2014-06-25 21:26:15 -07:00
Corey Richardson
c9bdf838a5
Update for Cargo
2014-06-23 23:49:29 -07:00
Brendan Zabarauskas
8199cbe742
Create Dimensional trait
2012-11-15 12:22:41 +10:00
Brendan Zabarauskas
90ee516370
Move numeric-specific modules to num module, clean up imports
2012-11-15 10:31:35 +10:00
Brendan Zabarauskas
aada68c23e
Add mat3_from_rotation function
2012-11-14 18:23:15 +10:00
Brendan Zabarauskas
bfe1a272ec
Rename type parameters
2012-11-14 14:53:13 +10:00
Brendan Zabarauskas
342817610d
Move add_m and sub_m methods
2012-11-14 14:00:26 +10:00
Brendan Zabarauskas
e582e5edf5
Move to_ptr methods
2012-11-14 11:55:54 +10:00
Brendan Zabarauskas
07df95313e
Move index overload methods into main Vector/Matrix impls
2012-11-14 10:28:56 +10:00
Brendan Zabarauskas
37d3bcd495
Inherit Neg and move neg method into appropriate impls
2012-11-14 10:20:36 +10:00
Brendan Zabarauskas
7492677366
Begin taking advantage of trait inheritance
2012-11-13 11:44:44 +10:00
Brendan Zabarauskas
16ba5ccb9b
Use abs function
2012-11-12 11:52:32 +10:00
Brendan Zabarauskas
1a60dfa095
Idiomatic range loops
2012-11-12 11:41:28 +10:00
Brendan Zabarauskas
a3e4d090d6
Replace from_int
function calls with cast
for consistency
2012-11-11 13:43:37 +10:00
Brendan Zabarauskas
de72215d05
Rename SquareMatrix to NumericMatrix_NxN
2012-11-08 13:30:00 +10:00
Luqman Aden
e904f91105
Determinant is only defined for square matricies.
2012-11-07 22:04:11 -05:00
Luqman Aden
520ba818e6
Fix determinant/inver for 2x2.
2012-11-07 21:52:16 -05:00
Luqman Aden
a76378e83e
Big oops, not all 2x2 matricies are upper/lower triangular.
2012-11-07 21:37:41 -05:00
Luqman Aden
f7fb7f7100
Added determinants and inversion.
2012-11-07 21:34:38 -05:00
Brendan Zabarauskas
bfe318aff5
Add explanation to matrix multiplication
2012-11-07 11:07:13 +10:00
Brendan Zabarauskas
1fe0d52fe4
Improve matrix multiplication
2012-11-07 08:38:44 +10:00
Brendan Zabarauskas
b792b8d7cd
Add NumericMatrix trait
2012-11-06 20:03:55 +10:00
Brendan Zabarauskas
e2cfe36b9d
Make type aliases public
2012-11-06 12:23:06 +10:00
Brendan Zabarauskas
40e847f34f
Move functions to funs module. Add additional functions as per the GLSL spec
2012-11-06 11:57:15 +10:00
Brendan Zabarauskas
d2cf5c9da3
Use dot product for matrix-vector multiplication
2012-11-05 17:33:11 +10:00
Brendan Zabarauskas
8bab3a96ce
Remove unnecessary type parameter
2012-11-05 17:03:32 +10:00
Brendan Zabarauskas
a1a31907d7
Add and implement SquareMatrix trait
2012-11-05 14:46:28 +10:00
Brendan Zabarauskas
9491c4d93f
Add GLSL type aliases
2012-11-05 12:39:58 +10:00
Brendan Zabarauskas
4e90754263
Reduce zero and one casts
2012-11-05 00:37:52 +10:00
Brendan Zabarauskas
e96a1d007f
Remove transformation functions
2012-11-04 16:35:58 +10:00
Brendan Zabarauskas
b245244b7d
Add more matrix constructors and corresponding tests
2012-11-04 16:27:41 +10:00
Brendan Zabarauskas
a0cd3f77d8
Reduce zero and one casts, implement new constructors
2012-11-04 14:39:09 +10:00