diff --git a/src/bigint.rs b/src/bigint.rs index 0952895..f89df3f 100644 --- a/src/bigint.rs +++ b/src/bigint.rs @@ -857,7 +857,7 @@ fn get_radix_base(radix: uint) -> (DoubleBigDigit, uint) { } /// A Sign is a `BigInt`'s composing element. -#[deriving(PartialEq, PartialOrd, Eq, Ord, Clone, Show, Encodable, Decodable)] +#[deriving(PartialEq, PartialOrd, Eq, Ord, Copy, Clone, Show, Encodable, Decodable)] pub enum Sign { Minus, NoSign, Plus } impl Neg for Sign { diff --git a/src/complex.rs b/src/complex.rs index b5f7157..11e36cf 100644 --- a/src/complex.rs +++ b/src/complex.rs @@ -21,7 +21,7 @@ use {Zero, One, Num}; // probably doesn't map to C's _Complex correctly. /// A complex number in Cartesian form. -#[deriving(PartialEq, Clone, Hash, Encodable, Decodable)] +#[deriving(PartialEq, Copy, Clone, Hash, Encodable, Decodable)] pub struct Complex { /// Real portion of the complex number pub re: T, @@ -194,6 +194,7 @@ mod test { #![allow(non_upper_case_globals)] use super::{Complex64, Complex}; + use std::f64; use std::num::Float; use std::hash::hash; @@ -283,9 +284,9 @@ mod test { assert!((c.arg() - arg).abs() < 1.0e-6) } test(_1_0i, 0.0); - test(_1_1i, 0.25 * Float::pi()); - test(_neg1_1i, 0.75 * Float::pi()); - test(_05_05i, 0.25 * Float::pi()); + test(_1_1i, 0.25 * f64::consts::PI); + test(_neg1_1i, 0.75 * f64::consts::PI); + test(_05_05i, 0.25 * f64::consts::PI); } #[test] diff --git a/src/rational.rs b/src/rational.rs index a094d60..9769805 100644 --- a/src/rational.rs +++ b/src/rational.rs @@ -22,7 +22,7 @@ use bigint::{BigInt, BigUint, Sign}; use {Num, Signed, Zero, One}; /// Represents the ratio between 2 numbers. -#[deriving(Clone, Hash, Encodable, Decodable)] +#[deriving(Copy, Clone, Hash, Encodable, Decodable)] #[allow(missing_docs)] pub struct Ratio { numer: T,