1

vDSP_convAccelerate here で関数を使用しようとしています。への引数の 1 つは、vDSP_convconst 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
}
4

1 に答える 1