LeetCode 50 Pow(x,n) 测试样例精度问题探究

编程中浮点数运算会损失精度已经成为了默认的惯例,精度损失的原因也信手拈来,目前科普文章大多讨论浮点数四则运算的精度问题,而鲜有探究其他浮点数运算的精度。

今天在做LeetCode 50的时候发现 LeetCode服务端检验的问题,同时带出了乘法运算和log、exp运算在硬件上的精度问题。

该题采用模拟的方式计算Pow,计算x的n次幂。测试过程中对于一些手动输入的样例不能通过,但是本题仍可以AC(考虑过double的问题)。

继续阅读“LeetCode 50 Pow(x,n) 测试样例精度问题探究”

解决C++ (CLion && CMake)中‘undefined reference to function’问题

这种问题一般是由于编译顺序不对造成编译器找不到实现文件,但是我用的是CLion自动生成的CMakeList.txt来管理编译,怎么会顺序不对。

我以为是上次没有测试就commit了,然而用git回滚也没有用,后来发现目录下有一个叫CMakeCache.txt的文件,里面存了一堆看不懂的东西,删除之后就好了。

但是CMakeCache.txt为什么会在Project的根目录下呢?不应该待在cmake-build-debug文件夹里吗?

后来才想起来有一次试图在命令行里挑战用裸CMake编译结果失败了的事情(默认还是VS的编译器),可能就是那时候生成了那个版本的CMakeCache.txt,后来也再也没有打开过这个Project,今天要添加新功能的时候发现了问题的不对。

话说git回滚的时候HEAD detach了(HEAD 游离),解决以上问题以后不知道HEAD怎么在指回最新的提交,一气之下重新clone了个新的。

我好蠢啊