gpt4 book ai didi

c - 避免快速除法(倒数)

转载 作者:太空宇宙 更新时间:2023-11-03 23:58:32 27 4
gpt4 key购买 nike

有什么方法可以编写带除法的 C 代码来命令编译器在代码中需要常规除法精度的几个特定位置不使用快速除法(通过倒数数学),即使在全局允许倒数数学的情况下也是如此?

理想情况下,有一种方法不是特定于编译器的,并且也可以在 fast-math 和 unsafe-math 选项中幸存下来,例如海合会。

最佳答案

你可以在一个单独的文件中提供你自己的除法函数,比如 divide.c

double divide(double a, double b) { return a/b; }

写一个相应的头文件divide.h

double divide(double a, double b);

然后写你的代码

#include "divide.h"

int foo() {
//...
double x = divide(y,3.0);
}

由于此处的编译器不知道函数 divide,因此无法对其进行优化。因此,应用全划分算法。

关于c - 避免快速除法(倒数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54875078/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com