Rust中的sin()和cos()源代码在哪里?

3

我查看了Rust编译器的源代码,寻找f64类型的sin()和cos()函数,但是没有找到它们的实现。似乎只有一个对内在函数的引用,并没有具体实现。那么,sin()是作为CPU指令实现的吗?请指导我。


这取决于系统。你应该在这里阅读:https://dev59.com/gXE95IYBdhLWcg3wf-AF?rq=1 - ImajinDevon
2
我认为这是将其作为内在函数传递给LLVM的部分:https://github.com/rust-lang/rust/blob/3e51277fe638dc0c8ceb6d1d3acc5aa247277c29/compiler/rustc_codegen_llvm/src/intrinsic.rs#L36 不过这只是一个猜测,我不是Rust编译器工作原理的专家。 - Finomnis
1个回答

4

f32::sin 编译成 llvm.sin.f32 内部函数,该函数会编译成调用C标准库中的sinf函数。

costan和它们的f64等价物可能会做类似的事情。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接