我正在尝试将我的Java代码应用于快速语言下的工作,并且遇到了一些问题。
我使用Java编写的代码的一部分使用了math.pow(number,power)和math.exp(),但是我不确定如何在快速的语言中使用它。
例如,在Java中:
diffAggregate = 0;
for (kIndex = 0; kIndex < NK_VALUES.length; kIndex ++) {
diffSegment = NKVALUES[kIndex];
diffSegment *= Math.pow(rhoR, IK_VALUES[kIndex]);
diffSegment *= Math.pow(tempR, JK_VALUES[kIndex]);
iFactor = 0;
if (LK_VALUES[kIndex] > 0 {
diffSegment *= Math.exp(-1 * Math.pow(rhoR,LK_VALUES[kIndex]);
iFactor = LK_VALUES[kIndex] * Math.pow(rhoR, LK_VALUES[kIndex]);
}
if (PK_VALUES[kIndex] > 0 {
diffSegment *= Math.exp(-1 * PK_VALUES[kIndex] * Math.pow(rhoR, 2) - BK_VALUES[kIndex] * Math.pow(tempR - UK_VALUES[kIndex], 2));
iFactor = 2 * rhoR * PK_VALUES[kIndex] * (rhoR - 1);
}
diffAggregate += (diffSegment * (IK_VALUES[kIndex] - iFactor));
}
任何帮助将不胜感激!提前非常感谢您。
首先,为了使这些功能可用,您的代码需要在顶部具有以下导入之一:
import Foundation //Generic
import UIKit //iOS
import Cocoa //OS X
Java的Swift版本Math.pow
就是pow(Double, Double)
。第一个参数是基数,第二个参数是幂。
不能直接替代Math.ex
,但是您可以pow(M_E, 2)
用来查找e ^ 2。M_E
是一个等于欧拉常数的定义常数。
编辑:事实证明,exp(Double)
Swift中有一个函数。我上面显示的方式很可能是它的定义方式,但是在说之前,我可能应该做更多的研究。因此pow(M_E,2)
,exp(2)
两者都是选择。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句