vDSP_conv
Accelerate here で関数を使用しようとしています。への引数の 1 つは、vDSP_conv
「const float *__F
最後のベクター要素を指す必要がある」です。私は Swift でポインターを使用することにあまり慣れていないため、Swift 配列の最後の配列要素へのポインターを作成する方法がわかりません。
誰でも洞察を提供できますか?
/** 編集 **/
私が呼び出そうとしている関数仕様:
func vDSP_conv(_ __A: UnsafePointer<Float>, _ __IA: vDSP_Stride, _ __F: UnsafePointer<Float>, _ __IF: vDSP_Stride, _ __C: UnsafeMutablePointer<Float>, _ __IC: vDSP_Stride, _ __N: vDSP_Length, _ __P: vDSP_Length)
これまでのところ、私はこのコードを持っています。配列の最後から始まり、前に進むにつれて、配列y
の最後の要素へのポインタになる必要がありますconv
public func conv(x: [Float], y: [Float]) -> [Float] {
var result = [Float](x)
let inputLength:Int = x.count
let outputLength:Int = inputLength + y.count - 1
vDSP_conv(x, 1, y, 1, &result, 1, vDSP_Length(inputLength), vDSP_Length(outputLength))
return result
}