math - trigonometricas - ¿Dónde está la función seno?
razones trigonometricas (2)
Float
es Trait, incluye la implementación, importar esto para solicitar f32 o f64.
use std::num::Float;
fn main() {
println!("{}", 1.0f64.sin());
}
Pregunta simple: ¿Dónde está el sin()
? He buscado y solo he encontrado en los documentos de Rust que hay rasgos como std::num::Float
que requieren pecado, pero no implementación .
El rasgo Float
fue eliminado, y los métodos son implementaciones inherentes en los tipos ahora. Eso significa que hay menos tipeo para acceder a las funciones matemáticas:
fn main() {
let val: f32 = 3.14159;
println!("{}", val.sin());
}
Sin embargo, es ambiguo si 3.14159.sin()
refiere a un número de 32 o 64 bits, por lo que debe especificarlo explícitamente. Arriba, configuré el tipo de variable, pero también puede usar un sufijo de tipo:
fn main() {
println!("{}", 3.14159f64.sin());
}
También puede usar una sintaxis de llamada de función no ambiciosa:
fn main() {
println!("{}", f32::sin(3.14159));
}