一个简单的C ++函数,在不同的计算机上有不同的答案

时间:2014-01-30 00:49:31

标签: c++ linux c++11

考虑下面的代码,它基本上是C ++中的gamma函数:

 double myGamma(double x){
 return gamma(x);
}

当我在Mac OS 10.7.5上运行代码时,它运行得非常好。但是,当我在unix服务器上运行它时,它会返回奇怪的结果。有谁知道这是什么问题?在linux系统下,gamma()函数是不同的吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

我在gamma函数中看到了一个bried look,如linux手册中所定义,给出了以下结果:

  

[...]不推荐使用这些函数:相反,使用tgamma(3)或lgamma(3)函数。 [...]

     

[...]由于跨系统行为的历史变化,此功能未在任何标准中指定。 [...]