Math 在Clojure中访问数学函数的公认方法?
最近我不得不在Clojure中编写一些涉及数学公式的代码,我意识到有JavaMath 在Clojure中访问数学函数的公认方法?,math,clojure,Math,Clojure,最近我不得不在Clojure中编写一些涉及数学公式的代码,我意识到有JavaJava.lang.math函数库和Clojure.math.numeric tower函数库 这是在Clojure中使用数学函数的公认方式吗,从两个不同的位置提取以获得完整的补码?还是我应该只使用数学?或者其他什么?在适当的情况下使用两者或其中之一似乎是正常的。那么重复的内容呢,比如Math/pow和Math/expt?从我读到的代码中,“适当”确实是这里的关键词。我不能代表其他程序员说话,但我很懒。我将从java M
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)只是添加了缺少的功能(或简化现有的功能),这在我所知道的所有语言中都会发生。