Add todo, remove fixme

This commit is contained in:
Brendan Zabarauskas 2012-12-05 18:10:51 +10:00
parent bb4154199b
commit 2efb96de16

View file

@ -11,15 +11,15 @@ use vec::Vec3;
/** /**
* The base trait for anglular units * The base trait for anglular units
*/ */
pub trait Angle<T>: Add<self,self> pub trait Angle<T>: Add<self,self>,
, Sub<self,self> Sub<self,self>
, Mul<T,self> Mul<T,self>,
, Div<T,self> Div<T,self>,
// , Div<self,T> // Div<self,T>, // TODO: not sure how to implement this, or if it is even possible...
, Modulo<T,self> Modulo<T,self>,
// , Modulo<self,T> // Modulo<self,T>, // TODO: not sure how to implement this, or if it is even possible...
, Neg<self> Neg<self>,
, Eq, Ord { Eq, Ord {
static pure fn full_turn() -> self; static pure fn full_turn() -> self;
static pure fn half_turn() -> self; static pure fn half_turn() -> self;
static pure fn quadrant() -> self; static pure fn quadrant() -> self;
@ -39,7 +39,6 @@ pub trait Angle<T>: Add<self,self>
pub enum Radians<T> = T; pub enum Radians<T> = T;
// FIXME: not sure why I need the Eq and Ord trait bounds, but Rust complains if I don't include them
pub impl<T:Copy Float> Radians<T>: Angle<T> { pub impl<T:Copy Float> Radians<T>: Angle<T> {
#[inline(always)] static pure fn full_turn() -> Radians<T> { Radians(Float::two_pi()) } #[inline(always)] static pure fn full_turn() -> Radians<T> { Radians(Float::two_pi()) }
#[inline(always)] static pure fn half_turn() -> Radians<T> { Radians(Float::pi()) } #[inline(always)] static pure fn half_turn() -> Radians<T> { Radians(Float::pi()) }