首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Swift 3中创建UnsafeMutablePointer<UnsafeMutablePointer<Float>>参数

在Swift 3中创建UnsafeMutablePointer<UnsafeMutablePointer<Float>>参数
EN

Stack Overflow用户
提问于 2016-09-11 22:39:40
回答 1查看 463关注 0票数 1

加速框架vDSP_biquadm()函数的Swift签名包括UnsafeMutablePointer<UnsafePointer<Float>>UnsafeMutablePointer<UnsafeMutablePointer<Float>>的参数类型。

如何在Swift 3中声明和创建这些类型,然后用对几个[Float]类型Swift数组的引用填充这些指针数组。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-11 23:08:47

当您需要为UnsafeMutablePointer<T>参数传递多个值时,您需要声明一个类型为[T] (又名Array<T>)的变量,并将其作为inout参数传递。在您的例子中,TUnsafeMutablePointer<Float>

因此,如果您想从[Float]开始,您可能需要编写如下内容:

代码语言:javascript
复制
let input: [Float] = [/*...*/]
var output: [Float] = Array(repeating: 0, count: outputTotalSize)
input.withUnsafeBufferPointer {inBuf in
    let inputPtr = inBuf.baseAddress!
    output.withUnsafeMutableBufferPointer {outBuf in
        let outputPtr = outBuf.baseAddress!
        var pInputs: [UnsafePointer<Float>] = [inputPtr,/*...*/]
        var pOutputs: [UnsafeMutablePointer<Float>] = [outputPtr/*...*/]
        vDSP_biquadm(setup, &pInputs, inStride, &pOutputs, outStride, length)
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39441335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档