Извлечение реальной части UnsafeMutablePointer в виде Float и сохранение ее в массиве
У меня есть эта функция
func arrayForPointer<T>(_ pointer: UnsafePointer<T>, count: Int) -> [T] {
let buffer = UnsafeBufferPointer<T>(start: pointer, count: count)
return Array(buffer)
}
и этот звонок
let arrayComplex = self.arrayForPointer(&output, count: 4)
Я хочу перечислить через arrayComplex
и извлечь действительную часть в обычный массив, как
var arrayReal: [Float] = []
for item in arrayComplex {
let myFloat = item.realp \\ get the real part of item
arrayReal.append(myFloat)
}
линия
let myFloat = item.realp \\ get the real part of item
не является правильным.
item
это UnsafeMutablePointer<Float>
Как мне это сделать, ради всего святого?
Благодарю.
=======================
Это output
var A = [Float](repeating:0, count:samples/2);
var B = [Float](repeating:0, count:samples/2)
var output = DSPSplitComplex(realp: &A, imagp: &B)
1 ответ
Решение
Попробуй это.
Исправьте свой вызов func:
let arrayComplex = arrayForPointer(output.realp, count: 4)
И тогда в вашем цикле исправьте эту строку:
let myFloat = item \\ get the real part of item