Swift中的矢量SIMD类型

时间:2014-09-07 16:44:15

标签: vector types swift simd

我想知道是否可以在Swift中使用<simd/simd.h>中定义的SIMD类型(例如vector_float3)。我似乎无法想办法做到这一点。

谢谢!

4 个答案:

答案 0 :(得分:3)

只是提醒这个问题,因为它是最新的 - SIMD Vectors已在 WWDC&#39; 宣布 Swift 2.0

  

SIMD支持:Clang扩展矢量可以在Swift中导入和使用,可以启用许多图形和其他图形   可以在Swift中使用的低级数字API(例如simd.h)。

从现在开始回答 - 是的,这是可能的。

答案 1 :(得分:1)

现在看起来不像。不过,他们可能会在更高版本中添加它。 https://groups.google.com/forum/#!topic/swift-language/slwe62yKsWo

答案 2 :(得分:1)

Swift 5随附对SIMD vector types的本地支持。以下Playground示例代码显示了使用SIMD4的逐元素乘法:

let vector1 = SIMD4(1, 2, 3, 4)
let vector2: SIMD4 = [2, 3, 4, 5]

let vector3 = vector1 &* vector2
print(vector3) // prints: SIMD4<Int>(2, 6, 12, 20)

来源:Swift Evolution - SIMD Vectors proposal

答案 3 :(得分:0)

在这里查看我的回购:https://github.com/noxytrux/SwiftGeom我为此构建了整个库。所以你现在可以在swift项目中使用vec2,vec3等。