forked from Lainports/freebsd-ports
66 lines
2.7 KiB
Diff
66 lines
2.7 KiB
Diff
--- src/libcore/num/cmath.rs.orig 2013-04-06 12:52:09.596039132 +0800
|
|
+++ src/libcore/num/cmath.rs 2013-04-06 12:53:24.474452681 +0800
|
|
@@ -64,7 +64,6 @@
|
|
// renamed: to be consitent with log as ln
|
|
#[link_name="log1p"] unsafe fn ln1p(n: c_double) -> c_double;
|
|
unsafe fn log10(n: c_double) -> c_double;
|
|
- unsafe fn log2(n: c_double) -> c_double;
|
|
#[link_name="ilogb"] unsafe fn ilog_radix(n: c_double) -> c_int;
|
|
unsafe fn modf(n: c_double, iptr: &mut c_double) -> c_double;
|
|
unsafe fn pow(n: c_double, e: c_double) -> c_double;
|
|
@@ -148,7 +147,6 @@
|
|
#[link_name="logf"] unsafe fn ln(n: c_float) -> c_float;
|
|
#[link_name="logbf"] unsafe fn log_radix(n: c_float) -> c_float;
|
|
#[link_name="log1pf"] unsafe fn ln1p(n: c_float) -> c_float;
|
|
- #[link_name="log2f"] unsafe fn log2(n: c_float) -> c_float;
|
|
#[link_name="log10f"] unsafe fn log10(n: c_float) -> c_float;
|
|
#[link_name="ilogbf"] unsafe fn ilog_radix(n: c_float) -> c_int;
|
|
#[link_name="modff"] unsafe fn modf(n: c_float,
|
|
--- src/libcore/num/f32.rs.orig 2013-04-06 12:52:15.395037527 +0800
|
|
+++ src/libcore/num/f32.rs 2013-04-06 13:00:55.623679761 +0800
|
|
@@ -81,7 +81,6 @@
|
|
cmath::c_float_utils::log_radix)
|
|
delegate!(fn ln1p(n: c_float) -> c_float = cmath::c_float_utils::ln1p)
|
|
delegate!(fn log10(n: c_float) -> c_float = cmath::c_float_utils::log10)
|
|
-delegate!(fn log2(n: c_float) -> c_float = cmath::c_float_utils::log2)
|
|
delegate!(fn ilog_radix(n: c_float) -> c_int =
|
|
cmath::c_float_utils::ilog_radix)
|
|
delegate!(fn modf(n: c_float, iptr: &mut c_float) -> c_float =
|
|
@@ -254,7 +253,12 @@
|
|
|
|
#[inline(always)]
|
|
pub fn logarithm(n: f32, b: f32) -> f32 {
|
|
- return log2(n) / log2(b);
|
|
+ return ln(n) / ln(b);
|
|
+}
|
|
+
|
|
+#[inline(always)]
|
|
+pub fn log2(n: f32) -> f32 {
|
|
+ return ln(n) / consts::ln_2;
|
|
}
|
|
|
|
#[cfg(notest)]
|
|
--- src/libcore/num/f64.rs.orig 2013-04-06 12:52:25.866037307 +0800
|
|
+++ src/libcore/num/f64.rs 2013-04-06 13:02:33.051357016 +0800
|
|
@@ -82,7 +82,6 @@
|
|
cmath::c_double_utils::log_radix)
|
|
delegate!(fn ln1p(n: c_double) -> c_double = cmath::c_double_utils::ln1p)
|
|
delegate!(fn log10(n: c_double) -> c_double = cmath::c_double_utils::log10)
|
|
-delegate!(fn log2(n: c_double) -> c_double = cmath::c_double_utils::log2)
|
|
delegate!(fn ilog_radix(n: c_double) -> c_int =
|
|
cmath::c_double_utils::ilog_radix)
|
|
delegate!(fn modf(n: c_double, iptr: &mut c_double) -> c_double =
|
|
@@ -276,7 +275,12 @@
|
|
|
|
#[inline(always)]
|
|
pub fn logarithm(n: f64, b: f64) -> f64 {
|
|
- return log2(n) / log2(b);
|
|
+ return ln(n) / ln(b);
|
|
+}
|
|
+
|
|
+#[inline(always)]
|
|
+pub fn log2(n: f64) -> f64 {
|
|
+ return ln(n) / consts::ln_2;
|
|
}
|
|
|
|
#[cfg(notest)]
|