正弦函数在哪里?
Where is the sine function?
简单的问题:sin()
在哪里?我搜索过,只在 Rust 文档中发现有像 std::num::Float
这样 require sin 的特征,但没有 implementation.
Float
是Trait,包括实现,导入这个申请f32或者f64。
use std::num::Float;
fn main() {
println!("{}", 1.0f64.sin());
}
删除了 Float
特征,并且这些方法现在是类型的固有实现 (f32
, f64
)。这意味着访问数学函数的输入要少一些:
fn main() {
let val: f32 = 3.14159;
println!("{}", val.sin());
}
但是,如果 3.14159.sin()
指的是 32 位或 64 位数字,则有歧义,因此您需要明确指定它。上面我设置了变量的类型,但是你也可以使用类型后缀:
fn main() {
println!("{}", 3.14159_f64.sin());
}
您也可以使用 fully qualified syntax:
fn main() {
println!("{}", f32::sin(3.14159));
}
真正的代码应该使用PI
常量;我使用了内嵌数字以避免使问题复杂化。
简单的问题:sin()
在哪里?我搜索过,只在 Rust 文档中发现有像 std::num::Float
这样 require sin 的特征,但没有 implementation.
Float
是Trait,包括实现,导入这个申请f32或者f64。
use std::num::Float;
fn main() {
println!("{}", 1.0f64.sin());
}
删除了 Float
特征,并且这些方法现在是类型的固有实现 (f32
, f64
)。这意味着访问数学函数的输入要少一些:
fn main() {
let val: f32 = 3.14159;
println!("{}", val.sin());
}
但是,如果 3.14159.sin()
指的是 32 位或 64 位数字,则有歧义,因此您需要明确指定它。上面我设置了变量的类型,但是你也可以使用类型后缀:
fn main() {
println!("{}", 3.14159_f64.sin());
}
您也可以使用 fully qualified syntax:
fn main() {
println!("{}", f32::sin(3.14159));
}
真正的代码应该使用PI
常量;我使用了内嵌数字以避免使问题复杂化。