簡短的回答: iOS的11/MacOS的10.13 SDK重命名許多SIMD類型和功能, 前綴matrix_
被simd_
取代。
較長答案:
的Xcode 8使用的iOS 10.3(分別MACOS 10.12。)SDK,和限定 的SIMD矩陣類型作爲
typedef struct { vector_float2 columns[2]; } matrix_float2x2;
和功能
static matrix_float2x2 __SIMD_ATTRIBUTES__ matrix_linear_combination(float __a, matrix_float2x2 __x, float __b, matrix_float2x2 __y);
這些被導入到夫特3作爲
public struct matrix_float2x2 { ... }
// ...
和
public func matrix_linear_combination(_ __a: Float, _ __x: matrix_float2x2, _ __b: Float, _ __y: matrix_float2x2) -> matrix_float2x2
// ...
的Xcode 9使用了iOS 11(相應的MACOS 10.13)SDK和限定 類型作爲
typedef struct { simd_float2 columns[2]; } simd_float2x2;
// ...
和
static simd_float2x2 SIMD_CFUNC simd_linear_combination(float __a, simd_float2x2 __x, float __b, simd_float2x2 __y);
// ...
這些被導入到夫特4作爲
public struct simd_float2x2 { ... }
// ...
和
public func simd_linear_combination(_ __a: Float, _ __x: simd_float2x2, _ __b: Float, _ __y: simd_float2x2) -> simd_float2x2
// ...
唉功能,我已經導入simd (導入simd.matrix不會帶來任何價值)。 –
@StéphanedeLuca:它們只是在Swift 3和4之間重新命名。它與iOS版本無關。我只提到'simd.matrix',因爲那是你找到定義的地方。 –
是的,但用simd.matrix替換import simd只會做什麼。我仍然有這個問題。我拼圖...我編譯針對iOS 11的Xcode 9 beta 2(9.0版beta/9M136h)。 –