gpt4 book ai didi

arrays - 扁平化 simd_float4x4 矩阵的优雅方式

转载 作者:行者123 更新时间:2023-11-28 11:33:29 26 4
gpt4 key购买 nike

我想将 simd_float4x4simd_float3x3 矩阵展平为单个浮点元素数组。

对于常规数组我会使用

let arr = [[1,2,3],[4,5,6],[7,8,9]]
print(arr.flatMap { $0 })

如何优雅地为 simd_float4x4simd_float3x3 结构执行此操作?

我目前正在使用这个,

extension simd_float3x3 {
var array: [Float] {
return [columns.0.x, columns.0.y, columns.0.z,
columns.1.x, columns.1.y, columns.1.z,
columns.2.x, columns.2.y, columns.2.z]
}
}

let arr = simd_float3x3.init()
print(arr.array.compactMap({$0}))

最佳答案

优雅是在旁观者的眼中。到目前为止,我想出了这个:

let s = simd_float3x3(simd_float3(1, 2, 3), simd_float3(4, 5, 6), simd_float3(7, 8, 9)) 

let y = (0..<3).flatMap { x in (0..<3).map { y in s[x][y] } }

print(y)
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]

关于arrays - 扁平化 simd_float4x4 矩阵的优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56256132/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com