Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
1f10ee36
R
Rust
项目概览
int
/
Rust
12 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1f10ee36
编写于
1月 05, 2012
作者:
S
Stefan Plantikow
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Moved generic float::min, max to core::math and cleaned up some imports
上级
494ad4e6
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
41 addition
and
27 deletion
+41
-27
src/comp/back/rpath.rs
src/comp/back/rpath.rs
+1
-1
src/comp/middle/ty.rs
src/comp/middle/ty.rs
+1
-1
src/comp/util/common.rs
src/comp/util/common.rs
+1
-2
src/fuzzer/fuzzer.rs
src/fuzzer/fuzzer.rs
+2
-3
src/libcore/core.rc
src/libcore/core.rc
+2
-0
src/libcore/f32.rs
src/libcore/f32.rs
+6
-0
src/libcore/f64.rs
src/libcore/f64.rs
+6
-0
src/libcore/float.rs
src/libcore/float.rs
+2
-15
src/libcore/math.rs
src/libcore/math.rs
+18
-0
src/libstd/rope.rs
src/libstd/rope.rs
+1
-5
src/test/stdtest/math.rs
src/test/stdtest/math.rs
+1
-0
未找到文件。
src/comp/back/rpath.rs
浏览文件 @
1f10ee36
...
...
@@ -129,7 +129,7 @@ fn get_relative_to(abs1: fs::path, abs2: fs::path) -> fs::path {
assert
len1
>
0u
;
assert
len2
>
0u
;
let
max_common_path
=
float
::
min
(
len1
,
len2
)
-
1u
;
let
max_common_path
=
math
::
min
(
len1
,
len2
)
-
1u
;
let
start_idx
=
0u
;
while
start_idx
<
max_common_path
&&
split1
[
start_idx
]
==
split2
[
start_idx
]
{
...
...
src/comp/middle/ty.rs
浏览文件 @
1f10ee36
...
...
@@ -1765,7 +1765,7 @@ fn union(cx: @ctxt, set_a: uint, set_b: uint,
let
vb
=
alt
cx
.st
{
in_bindings
(
vb
)
{
vb
}
};
ufind
::
grow
(
vb
.sets
,
float
::
max
(
set_a
,
set_b
)
+
1u
);
ufind
::
grow
(
vb
.sets
,
math
::
max
(
set_a
,
set_b
)
+
1u
);
let
root_a
=
ufind
::
find
(
vb
.sets
,
set_a
);
let
root_b
=
ufind
::
find
(
vb
.sets
,
set_b
);
...
...
src/comp/util/common.rs
浏览文件 @
1f10ee36
import
core
::{
str
,
option
};
import
core
::
float
::{
max
,
min
};
import
math
::{
max
,
min
};
import
std
::
map
::
hashmap
;
import
option
::{
some
};
import
syntax
::
ast
;
...
...
src/fuzzer/fuzzer.rs
浏览文件 @
1f10ee36
import
core
::{
vec
,
str
,
int
,
uint
,
option
,
result
};
import
std
::{
fs
,
io
};
import
rustc
::
syntax
::{
ast
,
ast_util
,
fold
,
visit
,
codemap
};
...
...
@@ -241,9 +240,9 @@ fn check_variants_T<copy T>(
let
L
=
vec
::
len
(
things
);
if
L
<
100u
{
under
(
float
::
min
(
L
,
20u
))
{|
i
|
under
(
math
::
min
(
L
,
20u
))
{|
i
|
log
(
error
,
"Replacing... #"
+
uint
::
str
(
i
));
under
(
float
::
min
(
L
,
30u
))
{|
j
|
under
(
math
::
min
(
L
,
30u
))
{|
j
|
log
(
error
,
"With... "
+
stringifier
(
@
things
[
j
]));
let
crate2
=
@
replacer
(
crate
,
i
,
things
[
j
],
cx
.mode
);
// It would be best to test the *crate* for stability, but testing the
...
...
src/libcore/core.rc
浏览文件 @
1f10ee36
...
...
@@ -12,6 +12,7 @@ export uint, u8, u32, u64, vec, bool;
export either, option, result;
export ctypes, sys, unsafe, comm, task;
export extfmt;
export math;
// Built-in-type support modules
...
...
@@ -45,6 +46,7 @@ mod result;
// Runtime and language-primitive support
mod ctypes;
mod math;
mod cmath;
mod sys;
mod unsafe;
...
...
src/libcore/f32.rs
浏览文件 @
1f10ee36
...
...
@@ -224,10 +224,16 @@ mod consts {
const
ln_10
:
f32
=
2.30258509299404568401799145468436421_f32
;
}
pure
fn
signbit
(
x
:
f32
)
->
int
{
if
is_negative
(
x
)
{
ret
1
;
}
else
{
ret
0
;
}
}
#[cfg(target_os=
"linux"
)]
#[cfg(target_os=
"macos"
)]
#[cfg(target_os=
"win32"
)]
pure
fn
logarithm
(
n
:
f32
,
b
:
f32
)
->
f32
{
// FIXME check if it is good to use log2 instead of ln here;
// in theory should be faster since the radix is 2
ret
log2
(
n
)
/
log2
(
b
);
}
...
...
src/libcore/f64.rs
浏览文件 @
1f10ee36
...
...
@@ -241,10 +241,16 @@ mod consts {
const
ln_10
:
f64
=
2.30258509299404568401799145468436421_f64
;
}
pure
fn
signbit
(
x
:
f64
)
->
int
{
if
is_negative
(
x
)
{
ret
1
;
}
else
{
ret
0
;
}
}
#[cfg(target_os=
"linux"
)]
#[cfg(target_os=
"macos"
)]
#[cfg(target_os=
"win32"
)]
pure
fn
logarithm
(
n
:
f64
,
b
:
f64
)
->
f64
{
// FIXME check if it is good to use log2 instead of ln here;
// in theory should be faster since the radix is 2
ret
log2
(
n
)
/
log2
(
b
);
}
...
...
src/libcore/float.rs
浏览文件 @
1f10ee36
...
...
@@ -4,7 +4,7 @@
// FIXME find out why these have to be exported explicitly
export
to_str_common
,
to_str_exact
,
to_str
,
from_str
,
min
,
max
;
export
to_str_common
,
to_str_exact
,
to_str
,
from_str
;
export
add
,
sub
,
mul
,
div
,
rem
,
lt
,
le
,
gt
,
eq
,
eq
,
ne
;
export
is_positive
,
is_negative
,
is_nonpositive
,
is_nonnegative
;
export
is_zero
,
is_infinite
,
is_finite
;
...
...
@@ -16,6 +16,7 @@
export
mul_add
,
fmax
,
fmin
,
nextafter
,
frexp
,
hypot
,
ldexp
;
export
lgamma
,
ln
,
log_radix
,
ln1p
,
log10
,
log2
,
ilog_radix
;
export
modf
,
pow
,
round
,
sin
,
sinh
,
sqrt
,
tan
,
tanh
,
tgamma
,
trunc
;
export
signbit
;
// export when m_float == c_double
...
...
@@ -280,20 +281,6 @@ fn pow_uint_to_uint_as_float(x: uint, pow: uint) -> float {
}
/*
Function: min
Returns the minimum of two values
*/
pure
fn
min
<
copy
T
>
(
x
:
T
,
y
:
T
)
->
T
{
x
<
y
?
x
:
y
}
/*
Function: max
Returns the maximum of two values
*/
pure
fn
max
<
copy
T
>
(
x
:
T
,
y
:
T
)
->
T
{
x
<
y
?
y
:
x
}
//
// Local Variables:
// mode: rust
...
...
src/libcore/math.rs
0 → 100644
浏览文件 @
1f10ee36
// Generic functions that have been defined for all numeric types
//
// (may very well go away again soon)
/*
Function: min
Returns the minimum of two values
*/
pure
fn
min
<
copy
T
>
(
x
:
T
,
y
:
T
)
->
T
{
x
<
y
?
x
:
y
}
/*
Function: max
Returns the maximum of two values
*/
pure
fn
max
<
copy
T
>
(
x
:
T
,
y
:
T
)
->
T
{
x
<
y
?
y
:
x
}
src/libstd/rope.rs
浏览文件 @
1f10ee36
...
...
@@ -26,10 +26,6 @@
*/
import
core
::
option
;
/*
Type: rope
...
...
@@ -1103,7 +1099,7 @@ fn concat2(left: @node, right: @node) -> @node {
right
:
right
,
char_len
:
char_len
(
left
)
+
char_len
(
right
),
byte_len
:
byte_len
(
left
)
+
byte_len
(
right
),
height
:
float
::
max
(
height
(
left
),
height
(
right
))
+
1u
height
:
math
::
max
(
height
(
left
),
height
(
right
))
+
1u
})
}
...
...
src/test/stdtest/math.rs
浏览文件 @
1f10ee36
...
...
@@ -2,6 +2,7 @@
use
std
;
import
math
::{
min
,
max
};
import
float
::
*
;
import
float
;
import
c_int
=
ctypes
::
c_int
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录