Swift iOS11中simd矩阵和线性组合到哪里去了?

Swift iOS11中simd矩阵和线性组合到哪里去了?,swift,simd,ios11,swift4,Swift,Simd,Ios11,Swift4,矩阵线性组合现在生成“使用未解析标识符‘矩阵线性组合’错误” 现有的替代品 PS:我是否应该澄清我已经导入了simd,并且iOS10/Swift 3中没有问题。简短回答:iOS 11/macOS 10.13 SDK重命名了许多simd类型和功能, 前缀矩阵替换为simd 详细回答: Xcode 8使用iOS 10.3(分别为macOS 10.12)SDK,它定义了 simd矩阵类型如下: let m = matrix_linear_combination(alpha, v1, 1-alpha,

矩阵线性组合现在生成“使用未解析标识符‘矩阵线性组合’错误”

现有的替代品

PS:我是否应该澄清我已经导入了simd,并且iOS10/Swift 3中没有问题。

简短回答:iOS 11/macOS 10.13 SDK重命名了许多simd类型和功能, 前缀
矩阵
替换为
simd

详细回答:

Xcode 8使用iOS 10.3(分别为macOS 10.12)SDK,它定义了 simd矩阵类型如下:

 let m = matrix_linear_combination(alpha, v1, 1-alpha, v0)
以及功能

typedef struct { vector_float2 columns[2]; } matrix_float2x2;
这些都作为一个组件导入Swift 3

static matrix_float2x2 __SIMD_ATTRIBUTES__ matrix_linear_combination(float __a, matrix_float2x2 __x, float __b, matrix_float2x2 __y);

Xcode 9使用iOS 11(分别为macOS 10.13)SDK,它定义了 类型为

public func matrix_linear_combination(_ __a: Float, _ __x: matrix_float2x2, _ __b: Float, _ __y: matrix_float2x2) -> matrix_float2x2
// ...
以及功能

typedef struct { simd_float2 columns[2]; } simd_float2x2;
// ...
它们作为一个组件导入Swift 4

static simd_float2x2 SIMD_CFUNC simd_linear_combination(float __a, simd_float2x2 __x, float __b, simd_float2x2 __y);
// ...


唉,我已经导入了simd(导入simd.matrix不会带来任何价值)。@StéphanedeLuca:它们刚刚在swift3和4之间重命名。它与iOS版本无关。我提到的
simd.matrix
仅仅是因为您可以在这里找到definitions.yes,但是用simd.matrix替换import simd没有更多的作用。我仍然有这个问题。我很困惑……我是针对针对针对iOS 11的Xcode 9 beta 2(9.0 beta/9M136h版)编译的。@StéphanedeLuca:也许我表达得不好。您仍然必须
导入simd
。然后,
simd\u线性组合(…)
应该可用,它对我有用。@StéphanedeLuca:你用simd\u线性组合取代了矩阵线性组合了吗?它对我有用。
static simd_float2x2 SIMD_CFUNC simd_linear_combination(float __a, simd_float2x2 __x, float __b, simd_float2x2 __y);
// ...
public struct simd_float2x2 { ... }
// ...
public func simd_linear_combination(_ __a: Float, _ __x: simd_float2x2, _ __b: Float, _ __y: simd_float2x2) -> simd_float2x2
// ...