std: convert pow, hypot, atan2, log to take arguments by reference.
This commit is contained in:
parent
37733c7eaf
commit
7e6a5940cb
5 changed files with 22 additions and 22 deletions
|
@ -318,7 +318,7 @@ be distributed on the available cores.
|
|||
fn partial_sum(start: uint) -> f64 {
|
||||
let mut local_sum = 0f64;
|
||||
for uint::range(start*100000, (start+1)*100000) |num| {
|
||||
local_sum += (num as f64 + 1.0).pow(-2.0);
|
||||
local_sum += (num as f64 + 1.0).pow(&-2.0);
|
||||
}
|
||||
local_sum
|
||||
}
|
||||
|
@ -355,7 +355,7 @@ a single large vector of floats. Each task needs the full vector to perform its
|
|||
use extra::arc::ARC;
|
||||
|
||||
fn pnorm(nums: &~[float], p: uint) -> float {
|
||||
nums.iter().fold(0.0, |a,b| a+(*b).pow(p as float) ).pow(1f / (p as float))
|
||||
nums.iter().fold(0.0, |a,b| a+(*b).pow(&(p as float)) ).pow(&(1f / (p as float)))
|
||||
}
|
||||
|
||||
fn main() {
|
||||
|
|
|
@ -391,7 +391,7 @@ impl Fractional for f32 {
|
|||
|
||||
impl Algebraic for f32 {
|
||||
#[inline(always)]
|
||||
fn pow(&self, n: f32) -> f32 { pow(*self, n) }
|
||||
fn pow(&self, n: &f32) -> f32 { pow(*self, *n) }
|
||||
|
||||
#[inline(always)]
|
||||
fn sqrt(&self) -> f32 { sqrt(*self) }
|
||||
|
@ -403,7 +403,7 @@ impl Algebraic for f32 {
|
|||
fn cbrt(&self) -> f32 { cbrt(*self) }
|
||||
|
||||
#[inline(always)]
|
||||
fn hypot(&self, other: f32) -> f32 { hypot(*self, other) }
|
||||
fn hypot(&self, other: &f32) -> f32 { hypot(*self, *other) }
|
||||
}
|
||||
|
||||
impl Trigonometric for f32 {
|
||||
|
@ -426,7 +426,7 @@ impl Trigonometric for f32 {
|
|||
fn atan(&self) -> f32 { atan(*self) }
|
||||
|
||||
#[inline(always)]
|
||||
fn atan2(&self, other: f32) -> f32 { atan2(*self, other) }
|
||||
fn atan2(&self, other: &f32) -> f32 { atan2(*self, *other) }
|
||||
|
||||
/// Simultaneously computes the sine and cosine of the number
|
||||
#[inline(always)]
|
||||
|
@ -450,7 +450,7 @@ impl Exponential for f32 {
|
|||
|
||||
/// Returns the logarithm of the number with respect to an arbitrary base
|
||||
#[inline(always)]
|
||||
fn log(&self, base: f32) -> f32 { self.ln() / base.ln() }
|
||||
fn log(&self, base: &f32) -> f32 { self.ln() / base.ln() }
|
||||
|
||||
/// Returns the base 2 logarithm of the number
|
||||
#[inline(always)]
|
||||
|
|
|
@ -403,7 +403,7 @@ impl Fractional for f64 {
|
|||
|
||||
impl Algebraic for f64 {
|
||||
#[inline(always)]
|
||||
fn pow(&self, n: f64) -> f64 { pow(*self, n) }
|
||||
fn pow(&self, n: &f64) -> f64 { pow(*self, *n) }
|
||||
|
||||
#[inline(always)]
|
||||
fn sqrt(&self) -> f64 { sqrt(*self) }
|
||||
|
@ -415,7 +415,7 @@ impl Algebraic for f64 {
|
|||
fn cbrt(&self) -> f64 { cbrt(*self) }
|
||||
|
||||
#[inline(always)]
|
||||
fn hypot(&self, other: f64) -> f64 { hypot(*self, other) }
|
||||
fn hypot(&self, other: &f64) -> f64 { hypot(*self, *other) }
|
||||
}
|
||||
|
||||
impl Trigonometric for f64 {
|
||||
|
@ -438,7 +438,7 @@ impl Trigonometric for f64 {
|
|||
fn atan(&self) -> f64 { atan(*self) }
|
||||
|
||||
#[inline(always)]
|
||||
fn atan2(&self, other: f64) -> f64 { atan2(*self, other) }
|
||||
fn atan2(&self, other: &f64) -> f64 { atan2(*self, *other) }
|
||||
|
||||
/// Simultaneously computes the sine and cosine of the number
|
||||
#[inline(always)]
|
||||
|
@ -462,7 +462,7 @@ impl Exponential for f64 {
|
|||
|
||||
/// Returns the logarithm of the number with respect to an arbitrary base
|
||||
#[inline(always)]
|
||||
fn log(&self, base: f64) -> f64 { self.ln() / base.ln() }
|
||||
fn log(&self, base: &f64) -> f64 { self.ln() / base.ln() }
|
||||
|
||||
/// Returns the base 2 logarithm of the number
|
||||
#[inline(always)]
|
||||
|
|
|
@ -475,8 +475,8 @@ impl Fractional for float {
|
|||
|
||||
impl Algebraic for float {
|
||||
#[inline(always)]
|
||||
fn pow(&self, n: float) -> float {
|
||||
(*self as f64).pow(n as f64) as float
|
||||
fn pow(&self, n: &float) -> float {
|
||||
(*self as f64).pow(&(*n as f64)) as float
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
|
@ -495,8 +495,8 @@ impl Algebraic for float {
|
|||
}
|
||||
|
||||
#[inline(always)]
|
||||
fn hypot(&self, other: float) -> float {
|
||||
(*self as f64).hypot(other as f64) as float
|
||||
fn hypot(&self, other: &float) -> float {
|
||||
(*self as f64).hypot(&(*other as f64)) as float
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -532,8 +532,8 @@ impl Trigonometric for float {
|
|||
}
|
||||
|
||||
#[inline(always)]
|
||||
fn atan2(&self, other: float) -> float {
|
||||
(*self as f64).atan2(other as f64) as float
|
||||
fn atan2(&self, other: &float) -> float {
|
||||
(*self as f64).atan2(&(*other as f64)) as float
|
||||
}
|
||||
|
||||
/// Simultaneously computes the sine and cosine of the number
|
||||
|
@ -566,8 +566,8 @@ impl Exponential for float {
|
|||
|
||||
/// Returns the logarithm of the number with respect to an arbitrary base
|
||||
#[inline(always)]
|
||||
fn log(&self, base: float) -> float {
|
||||
(*self as f64).log(base as f64) as float
|
||||
fn log(&self, base: &float) -> float {
|
||||
(*self as f64).log(&(*base as f64)) as float
|
||||
}
|
||||
|
||||
/// Returns the base 2 logarithm of the number
|
||||
|
|
|
@ -106,11 +106,11 @@ pub trait Fractional: Num
|
|||
}
|
||||
|
||||
pub trait Algebraic {
|
||||
fn pow(&self, n: Self) -> Self;
|
||||
fn pow(&self, n: &Self) -> Self;
|
||||
fn sqrt(&self) -> Self;
|
||||
fn rsqrt(&self) -> Self;
|
||||
fn cbrt(&self) -> Self;
|
||||
fn hypot(&self, other: Self) -> Self;
|
||||
fn hypot(&self, other: &Self) -> Self;
|
||||
}
|
||||
|
||||
pub trait Trigonometric {
|
||||
|
@ -120,7 +120,7 @@ pub trait Trigonometric {
|
|||
fn asin(&self) -> Self;
|
||||
fn acos(&self) -> Self;
|
||||
fn atan(&self) -> Self;
|
||||
fn atan2(&self, other: Self) -> Self;
|
||||
fn atan2(&self, other: &Self) -> Self;
|
||||
fn sin_cos(&self) -> (Self, Self);
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,7 @@ pub trait Exponential {
|
|||
fn exp(&self) -> Self;
|
||||
fn exp2(&self) -> Self;
|
||||
fn ln(&self) -> Self;
|
||||
fn log(&self, base: Self) -> Self;
|
||||
fn log(&self, base: &Self) -> Self;
|
||||
fn log2(&self) -> Self;
|
||||
fn log10(&self) -> Self;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue