简体   繁体   English

使用 Accelerate 的两个数组的元素最大值

[英]Element-wise maximum value for two arrays with Accelerate

Given two arrays of floats给定两个浮点数数组

let A: [Float] = [a1, a2, a3, a4, ...]
let B: [Float] = [b1, b2, b3, b4, ...]

how, with Accelerate can I get an array giving me the maximum value of the two arrays, ie how to obtain如何,使用Accelerate可以获得一个数组,给我两个数组的最大值,即如何获得

let R = [max(a1, b1), max(a2, b2), ...]

vDSP_vmax computes the element-wise maximum of two vectors. vDSP_vmax计算两个向量的元素最大值。

Starting with macOS 10.15/iOS 13 this is also available as a generic maximum method.从 macOS 10.15/iOS 13 开始,这也可用作通用maximum方法。

Example:例子:

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]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM