From 91682c61eed23ef17ab9d1f75dfc75a769236c42 Mon Sep 17 00:00:00 2001 From: Vincent Esche Date: Tue, 24 Sep 2019 14:16:39 +0200 Subject: [PATCH] =?UTF-8?q?Changed=20`exp=E2=80=A6`=20of=20=E2=80=99Arithm?= =?UTF-8?q?etic.swift=E2=80=99=20be=20implemented=20in=20terms=20of=20`exp?= =?UTF-8?q?InPlace`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/Surge/Arithmetic/Arithmetic.swift | 30 +++++------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/Sources/Surge/Arithmetic/Arithmetic.swift b/Sources/Surge/Arithmetic/Arithmetic.swift index f099290..2207099 100644 --- a/Sources/Surge/Arithmetic/Arithmetic.swift +++ b/Sources/Surge/Arithmetic/Arithmetic.swift @@ -518,34 +518,16 @@ func remainderInPlace(_ lhs: X) -> [Float] where X.Element == Float { - return lhs.withUnsafeMemory { lhsMemory in - precondition(lhsMemory.stride == 1, "\(#function) does not support strided memory access") - - var lhsCount = Int32(lhs.count) - - var results = [Float](repeating: 0.0, count: lhs.count) - results.withUnsafeMutableBufferPointer { bufferPointer in - vvexpf(bufferPointer.baseAddress!, lhsMemory.pointer, &lhsCount) - } - - return results - } + var results = Array(lhs) + expInPlace(&results) + return results } /// - Warning: does not support memory stride (assumes stride is 1). public func exp(_ lhs: X) -> [Double] where X.Element == Double { - return lhs.withUnsafeMemory { lhsMemory in - precondition(lhsMemory.stride == 1, "\(#function) does not support strided memory access") - - var lhsCount = Int32(lhs.count) - - var results = [Double](repeating: 0.0, count: lhs.count) - results.withUnsafeMutableBufferPointer { bufferPointer in - vvexp(bufferPointer.baseAddress!, lhsMemory.pointer, &lhsCount) - } - - return results - } + var results = Array(lhs) + expInPlace(&results) + return results } // MARK: - Exponential: In Place