Math 正弦函数在哪里?

Math 正弦函数在哪里?,math,rust,trigonometry,Math,Rust,Trigonometry,简单的问题:sin()在哪里?我搜索过,只在Rust文档中发现有像std::num::Float这样的特性需要sin,但没有实现。Float是特性,包括实现,导入此特性以应用于f32或f64 use std::num::Float; fn main() { println!("{}", 1.0f64.sin()); } Float特性被删除,这些方法是现在(,)类型的固有实现。这意味着访问数学函数的输入要少一些: fn main(){ 设val:f32=3.14159; printl

简单的问题:sin()在哪里?我搜索过,只在Rust文档中发现有像
std::num::Float
这样的特性需要sin,但没有实现。

Float
是特性,包括实现,导入此特性以应用于f32或f64

use std::num::Float;

fn main() {
    println!("{}", 1.0f64.sin());
}

Float
特性被删除,这些方法是现在(,)类型的固有实现。这意味着访问数学函数的输入要少一些:

fn main(){
设val:f32=3.14159;
println!(“{}”,val.sin());
}
但是,如果
3.14159.sin()
引用的是32位或64位的数字,则不明确,因此需要显式指定它。上面,我设置了变量的类型,但您也可以使用类型后缀:

fn main(){
println!(“{}”,3.14159_f64.sin());
}
您还可以使用:

fn main(){
println!(“{}”,f32::sin(3.14159));
}


实代码应该使用常量;我使用了一个内联数字,以避免使问题复杂化。

有趣的是,您不使用/导入“数学”而使用“浮点”,这不起作用(来自c++/java背景时有点混乱)。在第一个示例中,我得到了
error:type.\u在名为sin
的范围中没有实现任何方法,在第二个示例中,我得到了
error:unresolved name Float::sin
rustc——版本输出
rustc 0.13.0-每晚(96a3c7c6a 2014-12-23 22:21:10+0000)
您将希望升级到Rust的最新版本。在为1.0版本做准备的过程中,还有很多工作要做!在这种特殊情况下,浮点文本现在默认为类型
f64
()。如果您想让它正常工作,而不升级,请尝试
3.14f64.sin()
@Kapichu,这些错误可能是由以前属于
std::num::FloatMath
特性(不是字面默认值)的那些函数引起的,但是,这也将由(我也推荐)解决。您的答案到目前为止都不相关。
Float
特性被删除。如@Shepmaster所述。