Susan Cheng
Susan Cheng
> You might look at the `AccelerateBuffer` APIs added to the Accelerate overlay in 5.1 for one possible approach (we'll eventually settle into a similar pattern that can be used...
Maybe something like this ``` enum FastFourier { enum Direction { case forward case inverse } static func transform(_ vector: U, direction: Direction) -> [U.Element] where U : AccelerateBuffer, U.Element...
We need a name for the new module. I have no idea for this :)
A draft works done! Everyone can have a try. https://github.com/apple/swift-numerics/pull/44/commits/9a54137f862304d7c7e335303368c3b9a5e2e956
The implementation requires some integer elementary functions, such as Int.isPower2 and log2(x) #10 https://github.com/SusanDoggie/swift-numerics/blob/9a54137f862304d7c7e335303368c3b9a5e2e956/Sources/Accelerate/Integer.swift
A little performance test on my computer Apple's vDSP ``` log2N | vDSP_fft_zropD | vDSP_fft_zripD | vDSP_fft_zopD | vDSP_fft_zipD 2 | 5.2e-06 | 9.000000000000001e-07 | 9.000000000000001e-07 | 8.000000000000001e-07 3 |...
https://github.com/apple/swift-numerics/pull/44/commits/f3159aec6ef00f6b81e62b0adab8e44751687b0a I have renamed and divided framework into - Performance - CorePerformance All of the ugly raw functions are putting into CorePerformance.
> 1. You can make a subfolder inside of your module directory for the "raw" implementations. No need to make 2 separate modules. I don't know should we divide the...
> NumericShims exists to import compiler built-ins which aren't otherwise accessible from Swift; it's for use within the numerics module, to implement things like generic math functions. It's not something...
Checking discriminant == 0 is hard. However, it always requires a solver version that only returns the real root. For example, I don't need the points of interaction of two...