具有 Accelerate 的两个数组的逐元素最大值
Element-wise maximum value for two arrays with Accelerate
给定两个浮点数组
let A: [Float] = [a1, a2, a3, a4, ...]
let B: [Float] = [b1, b2, b3, b4, ...]
如何用Accelerate
得到一个数组给我两个数组的最大值,即如何获得
let R = [max(a1, b1), max(a2, b2), ...]
vDSP_vmax
计算两个向量的元素最大值。
从 macOS 10.15/iOS13 开始,这也可用作通用 maximum
方法。
示例:
let a: [Float] = [ 1.0, 2.0, 3.0 ]
let b: [Float] = [ 3.0, 2.0, 1.0 ]
var result: [Float]
if #available(OSX 10.15, iOS 13.0, *) {
result = vDSP.maximum(a, b)
} else {
result = [ 0.0, 0.0, 0.0 ]
vDSP_vmax(a, 1, b, 1, &result, 1, 3)
}
print(result) // [3.0, 2.0, 3.0]
给定两个浮点数组
let A: [Float] = [a1, a2, a3, a4, ...]
let B: [Float] = [b1, b2, b3, b4, ...]
如何用Accelerate
得到一个数组给我两个数组的最大值,即如何获得
let R = [max(a1, b1), max(a2, b2), ...]
vDSP_vmax
计算两个向量的元素最大值。
从 macOS 10.15/iOS13 开始,这也可用作通用 maximum
方法。
示例:
let a: [Float] = [ 1.0, 2.0, 3.0 ]
let b: [Float] = [ 3.0, 2.0, 1.0 ]
var result: [Float]
if #available(OSX 10.15, iOS 13.0, *) {
result = vDSP.maximum(a, b)
} else {
result = [ 0.0, 0.0, 0.0 ]
vDSP_vmax(a, 1, b, 1, &result, 1, 3)
}
print(result) // [3.0, 2.0, 3.0]