Java 到 Swift - 如何在 Xcode 中使用 math.pow 和 math.exp 6
Java to Swift - How to use math.pow and math.exp in Xcode 6
我正在尝试应用我的 java 代码在 swift 语言下工作,并且 运行 遇到了一些问题。
我在 Java 中的部分代码使用了 math.pow(number,power) 和 math.exp() 但我不完全确定我会怎么做在 swift 语言中使用它。
例如,在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 的 Math.pow
的 Swift 版本就是 pow(Double, Double)
。第一个参数是基数,第二个是幂
没有直接替代Math.ex
的方法,但您可以使用pow(M_E, 2)
求出e^2。 M_E
是定义的常数,等于欧拉常数。
编辑: 原来Swift里有一个exp(Double)
函数。我上面展示的方式很可能就是它的定义方式,但我可能应该在这样说之前做更多的研究。所以 pow(M_E,2)
和 exp(2)
都是选项。
我正在尝试应用我的 java 代码在 swift 语言下工作,并且 运行 遇到了一些问题。
我在 Java 中的部分代码使用了 math.pow(number,power) 和 math.exp() 但我不完全确定我会怎么做在 swift 语言中使用它。
例如,在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 的 Math.pow
的 Swift 版本就是 pow(Double, Double)
。第一个参数是基数,第二个是幂
没有直接替代Math.ex
的方法,但您可以使用pow(M_E, 2)
求出e^2。 M_E
是定义的常数,等于欧拉常数。
编辑: 原来Swift里有一个exp(Double)
函数。我上面展示的方式很可能就是它的定义方式,但我可能应该在这样说之前做更多的研究。所以 pow(M_E,2)
和 exp(2)
都是选项。