Vuckt (原名 IntN)

Swift Build & Test

Vuckt 是一个 Swift 库,提供与 Obj-C 兼容的整型和浮点型向量结构体类型,具有零成本的 SIMD 向量桥接,以及便捷的方法来桥接到/从 Cocoa 中的其他类似向量的类型。

它的诞生源于对 Swift/Cocoa 内置 SIMD 类型不完全兼容 Objective-C 的不满 (尤其是,当与 KVC、NSInvocation 或任何其他需要 NSValue 封箱的情况一起使用时,它们会导致重大问题),并且已经发展到试图涵盖 native-SIMD 所能做的大部分功能,并且可以轻松地转换为/从您可能在 Swift 中使用的任何其他向量类型 (例如 SCNVector3CGVector 等)

我可能会在这里添加更多文档,但我并不指望其他人会找到/使用这个库——我是为了自己的使用而构建的,并且不在乎 (Don't Give A Vuckt) 是否有人使用它,或者是否试图推广一个应该内置于 Swift 中的库。 也就是说,如果有一些您需要的 SIMD 类型或操作尚未在 Vuckt 中实现,我很乐意为您添加它们——只需在 GitHubGitLabBitBucket 上创建一个 issue,如果它是合理的 (打包类型是一个明显的例外) 并且镜像了 SIMD 的功能,我就会去做。 很可能我已经需要您请求的相同功能,只是我还没有添加它,所以不要害羞。

Vuckt 以完全许可的公共领域许可提供,因为它真的应该内置于 Swift 中。 我不想对一些如此直接和基本的东西主张权利,例如一个坚固、可互操作、高效的向量库。