【发布时间】:2018-10-02 06:08:30
【问题描述】:
请考虑在 C++ numerics 库的标头 cmath 中定义的 std::exp。现在,请考虑 C++ 标准库的实现,例如 libstdc++。
考虑到有多种算法来计算基本函数,例如arithmetic-geometric mean iteration algorithm 计算指数函数和其他三个here;
如果可能的话,您能否说出用于计算libstdc++ 中的指数函数的特定算法?
PS:恐怕我无法确定包含 std::exp 实现的正确 tarball 或理解相关文件内容。
【问题讨论】:
-
libstdc++ 只是转发到编译器内部
__builtin_exp,它的实现会因平台和编译器而异。 -
__builtin_exp 只是 ::exp 的一个花哨名称,它是在 math.h 中声明的 C 函数。 Gcc 不包含任何 exp 的实现,你想在你的 C 库(例如 glibc)中寻找它。
-
为您挖掘资源。查看更新的答案
标签: c++ gnu libstdc++ exponentiation