哈尔滨营销网站建设公司,绍兴网站建设费用,会员系统免费版,做图库网站用什么系统软件【重复造轮子的原因】
尽管atof是标准C中自带的函数,用于将字符串转为浮点数,但是在某些环境下有可能没法使用的(例如CUDA环境中,没有atof函数,但是math.h可以使用),因此自行实现。
【通过的测试用例】 【实现的代码】
#include stdio.h
#include math.h…【重复造轮子的原因】
尽管atof是标准C中自带的函数,用于将字符串转为浮点数,但是在某些环境下有可能没法使用的(例如CUDA环境中,没有atof函数,但是math.h可以使用),因此自行实现。
【通过的测试用例】 【实现的代码】
#include stdio.h
#include math.h
#include assert.h//自己实现字符串转浮点数,可用于某些自带atof()使用不了的环境(例如CUDA的核函数中)
double my_atof(const char *str);//两个double是否相同(模糊比较)
bool isFuzzyEqual(double a, double b)
{double min = fmin(fabs(a), fabs(b));double dif = fabs(a - b);return (dif * 1.0E12 = min);
}int main()
{assert(isFuzzyEqual(my_atof("123.456"), 123.456));assert(isFuzzyEqual(my_atof("0123.456"), 123.456));assert(isFuzzyEqual(my_atof("+123.456"), 123.456));assert(isFuzzyEqual(my_atof("123.456 abc"), 123.456));asser