Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 在Clojure中访问数学函数的公认方法?_Math_Clojure - Fatal编程技术网

Math 在Clojure中访问数学函数的公认方法?

Math 在Clojure中访问数学函数的公认方法?,math,clojure,Math,Clojure,最近我不得不在Clojure中编写一些涉及数学公式的代码,我意识到有JavaJava.lang.math函数库和Clojure.math.numeric tower函数库 这是在Clojure中使用数学函数的公认方式吗,从两个不同的位置提取以获得完整的补码?还是我应该只使用数学?或者其他什么?在适当的情况下使用两者或其中之一似乎是正常的。那么重复的内容呢,比如Math/pow和Math/expt?从我读到的代码中,“适当”确实是这里的关键词。我不能代表其他程序员说话,但我很懒。我将从java M

最近我不得不在Clojure中编写一些涉及数学公式的代码,我意识到有Java
Java.lang.math
函数库和
Clojure.math.numeric tower
函数库


这是在Clojure中使用数学函数的公认方式吗,从两个不同的位置提取以获得完整的补码?还是我应该只使用
数学
?或者其他什么?

在适当的情况下使用两者或其中之一似乎是正常的。

那么重复的内容呢,比如
Math/pow
Math/expt
?从我读到的代码中,“适当”确实是这里的关键词。我不能代表其他程序员说话,但我很懒。我将从java Math开始,只在证明不合适时才寻找替代品。我想知道你为什么会提出这样一个问题:在什么编程生态系统中,使用两个互不冲突的库互补会被反对?也许这两个库的使用并没有真正的规范。numeric tower库仍在“开发中”,包含的函数非常少——尽管Clojure在其他方面已经相当成熟了好几年——这一事实表明Clojure程序员很少使用该库中的函数。我的感觉是Clojure仍然主要用于商业,而不是科学家。或者,java.lang.Math的存在减轻了clojure.Math.numeric的开发压力。leetwinski在哪种编程语言中有相互竞争的基本数学函数定义?我们不是在讨论XML解析器。我们说的是e^x函数,不会把它们称为竞争。你只需要找出,为什么有人需要做另一个e^x函数。考虑到一些已知的java.lang.Math问题,我打赌这是有原因的。例如,我可以看到数字塔中的e^x在需要时将数字提升为大整数,这很好,当你有很大的幂或基时。数学是基本的,而其他的(因为我们身处java世界,让我们列举一些:Colt、Guava Math、Apache commons Math、JScience)只是添加了缺少的功能(或简化现有的功能),这在我所知道的所有语言中都会发生。