Commit graph

122 commits

Author SHA1 Message Date
Brendan Zabarauskas
78f86a33cd Make vectors an associated type on Point 2015-11-03 11:32:15 +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
b7b1f6c9cb Implement binary operators for quaternions 2015-09-30 18:05:20 +10:00
Brendan Zabarauskas
e3e06297a0 Implement by-ref operators for vectors, and remove by-value implementations
We can't yet remove the operator methods, due to rust-lang/rust#20671

This also removes the implementations of `Zero` and `One` for vectors.
2015-09-30 17:37:52 +10:00
Brendan Zabarauskas
5023b6c01e Consistently use associated functions throughout codebase 2015-09-30 09:32:25 +10:00
Brendan Zabarauskas
494f2b65ad Fix Quaternion::mul_self_q
Fixes #224

I haven't really thought about whether there is a faster way to do this, but at least it is fixed.
2015-09-29 18:36:41 +10: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
7f73c2cdd9 Add conversion tests for vectors, points, and quaternions 2015-09-27 17:20:02 +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
Pierre Krieger
1a6dc52e51 Remove ToQuaternion 2015-05-06 16:27:03 +02:00
Pierre Krieger
6ce250b10d Remove ToBasis2/ToBasis3 in favor of Into 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
Dzmitry Malyshau
8db429acae Using rust-lang/num 2015-04-04 21:19:11 -04:00
Dzmitry Malyshau
05c4147cec Fixed Index implementations 2015-03-25 21:58:33 -04: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
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
Pierre Krieger
888dd6b18e Update for rustc 2014-12-15 13:49:57 +01: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
Jameson Ernst
08f9354efc Fix ambiguous trait call; Remove deprecated Float calls. 2014-11-24 20:04:34 -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
Brendan Zabarauskas
1371f75165 Update for rustc 0.13.0-nightly
There are still some deprecation errors in the doc tests left
2014-11-16 01:59:43 +11: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
Colin Sherratt
0f0b960211 Added to_euler which allows moving from to and from euler coordinates.
I did not have much luck getting the old from_eular logic work the way I
expected so I updated the implementation to match my sources.

I believe this changed the order of the axis, I am unsure of what they were
before.
2014-10-13 21:05:49 -04: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
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
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
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
e582e5edf5 Move to_ptr methods 2012-11-14 11:55:54 +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
f2e3181c16 Fix ToPtr trait implementations 2012-11-13 10:31:14 +10:00
Brendan Zabarauskas
a3e4d090d6 Replace from_int function calls with cast for consistency 2012-11-11 13:43:37 +10:00
Brendan Zabarauskas
eddffbc0dc Add mul_v method and from_axis_angle function (thanks Dzmitry) 2012-11-10 11:12:27 +10:00
Brendan Zabarauskas
b7681954d7 Implement nlerp and slerp methods
Still need to write unit tests for these...
2012-11-09 17:32:41 +10:00
Brendan Zabarauskas
59a9cdb8d7 Add normalize method 2012-11-09 17:31:40 +10:00
Brendan Zabarauskas
693a0adda0 Add dot product 2012-11-09 17:30:18 +10:00
Brendan Zabarauskas
b074ecafbd Formatting 2012-11-09 17:29:25 +10:00
Brendan Zabarauskas
e2cfe36b9d Make type aliases public 2012-11-06 12:23:06 +10:00
Brendan Zabarauskas
89d600af22 Formatting 2012-11-06 12:01:39 +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
c3344b5a6f Use GLSL nomenclature 2012-11-05 17:40:31 +10:00
Brendan Zabarauskas
9491c4d93f Add GLSL type aliases 2012-11-05 12:39:58 +10:00
Brendan Zabarauskas
f3183dd0f1 Reduce zero and one casts 2012-11-04 14:39:33 +10:00
Brendan Zabarauskas
5080853cbe Reorganise modules 2012-11-02 10:10:27 +10:00
Brendan Zabarauskas
25de081805 Move values in constructors 2012-11-02 00:01:06 +10:00
Brendan Zabarauskas
35058611f3 Rename and move constructors 2012-11-01 17:41:42 +10:00
Brendan Zabarauskas
bf6bf8b3e6 Make library generic 2012-11-01 11:34:38 +10:00
Brendan Zabarauskas
891736a2d7 improve method names 2012-10-30 14:35:02 +10:00
Brendan Zabarauskas
28a9265568 Add and implement ToPtr trait 2012-10-30 13:24:50 +10:00
Brendan Zabarauskas
819c092321 Change inline attributes to inline(always) 2012-10-30 12:55:20 +10:00
Brendan Zabarauskas
6f0b49aa0c Move exact_eq to trait 2012-10-30 12:45:18 +10:00
Brendan Zabarauskas
c80b95da59 Moved constants to submodules 2012-10-30 00:11:27 +10:00
Brendan Zabarauskas
5d8319fff0 Fix collision of omath::vec and core::vec 2012-10-29 21:53:25 +10:00
Renamed from src/quat.rs (Browse further)