Skip to content

Commit a70b97a

Browse files
committed
Drop @inline(__always) from Accelerate overlay; it doesn't do what you want. (#24641)
@inline(__always) does not imply inlinable, which means that it effectively does nothing in the context of the Accelerate overlay. I have replaced all of these with @inlinable where that can be done as a one-line change. Functions that switch over open enums and more complex API (DCT, DFT, FFT) will require more sophisticated corrections, which we can undertake in later commits. For now, they have been rolled back to simply being normal public API.
1 parent a311f42 commit a70b97a

23 files changed

+463
-506
lines changed

stdlib/public/Darwin/Accelerate/vDSP_Arithmetic.swift

Lines changed: 98 additions & 98 deletions
Large diffs are not rendered by default.

stdlib/public/Darwin/Accelerate/vDSP_Biquad.swift

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ extension vDSP {
163163
struct BiquadFunctions {
164164

165165
@available(iOS 9999, OSX 9999, tvOS 9999, watchOS 9999, *)
166-
@inline(__always)
166+
@inlinable
167167
static func applyBiquadSingle<U, V, Scalar>(source: U,
168168
destination: inout V,
169169
delays: inout [Scalar],
@@ -186,7 +186,7 @@ extension vDSP {
186186
}
187187

188188
@available(iOS 9999, OSX 9999, tvOS 9999, watchOS 9999, *)
189-
@inline(__always)
189+
@inlinable
190190
static func applyBiquadMulti<U, V>(source: U,
191191
destination: inout V,
192192
setup: OpaquePointer,
@@ -289,7 +289,7 @@ public protocol vDSP_BiquadFunctions {
289289
extension vDSP.VectorizableFloat: vDSP_BiquadFunctions {
290290

291291
/// Returns a data structure that contains precalculated data for use by the cascaded biquad IIR filter function.
292-
@inline(__always)
292+
@inlinable
293293
public static func makeBiquadSetup(channelCount: UInt,
294294
coefficients: [Double],
295295
sectionCount: UInt) -> OpaquePointer? {
@@ -304,7 +304,7 @@ extension vDSP.VectorizableFloat: vDSP_BiquadFunctions {
304304
}
305305

306306
/// Applies a single-channel biquad IIR filter.
307-
@inline(__always)
307+
@inlinable
308308
public static func applySingle<U, V>(source: U,
309309
destination: inout V,
310310
delays: UnsafeMutablePointer<Scalar>,
@@ -328,7 +328,7 @@ extension vDSP.VectorizableFloat: vDSP_BiquadFunctions {
328328
}
329329

330330
/// Applies a multichannel biquad IIR filter.
331-
@inline(__always)
331+
@inlinable
332332
public static func applyMulti(setup: vDSP_biquadm_SetupD,
333333
pInputs: UnsafeMutablePointer<UnsafePointer<Scalar>>,
334334
pOutputs: UnsafeMutablePointer<UnsafeMutablePointer<Scalar>>,
@@ -340,7 +340,7 @@ extension vDSP.VectorizableFloat: vDSP_BiquadFunctions {
340340
}
341341

342342
/// Destroys a setup object.
343-
@inline(__always)
343+
@inlinable
344344
public static func destroySetup(channelCount: UInt,
345345
biquadSetup: OpaquePointer) {
346346
if channelCount == 1 {
@@ -355,7 +355,7 @@ extension vDSP.VectorizableFloat: vDSP_BiquadFunctions {
355355
extension vDSP.VectorizableDouble: vDSP_BiquadFunctions {
356356

357357
/// Returns a data structure that contains precalculated data for use by the cascaded biquad IIR filter function.
358-
@inline(__always)
358+
@inlinable
359359
public static func makeBiquadSetup(channelCount: vDSP_Length,
360360
coefficients: [Double],
361361
sectionCount: vDSP_Length) -> OpaquePointer? {
@@ -370,7 +370,7 @@ extension vDSP.VectorizableDouble: vDSP_BiquadFunctions {
370370
}
371371

372372
/// Applies a single-channel biquad IIR filter.
373-
@inline(__always)
373+
@inlinable
374374
public static func applySingle<U, V>(source: U,
375375
destination: inout V,
376376
delays: UnsafeMutablePointer<Scalar>,
@@ -394,7 +394,7 @@ extension vDSP.VectorizableDouble: vDSP_BiquadFunctions {
394394
}
395395

396396
/// Applies a multichannel biquad IIR filter.
397-
@inline(__always)
397+
@inlinable
398398
public static func applyMulti(setup: vDSP_biquadm_SetupD,
399399
pInputs: UnsafeMutablePointer<UnsafePointer<Scalar>>,
400400
pOutputs: UnsafeMutablePointer<UnsafeMutablePointer<Scalar>>,
@@ -406,7 +406,7 @@ extension vDSP.VectorizableDouble: vDSP_BiquadFunctions {
406406
}
407407

408408
/// Destroys a setup object.
409-
@inline(__always)
409+
@inlinable
410410
public static func destroySetup(channelCount: UInt,
411411
biquadSetup: OpaquePointer) {
412412
if channelCount == 1 {

stdlib/public/Darwin/Accelerate/vDSP_ClippingLimitThreshold.swift

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ extension vDSP {
1919
/// - Parameter vector: Source vector.
2020
/// - Parameter bounds: Clipping threshold.
2121
/// - Returns: The clipped result.
22-
@inline(__always)
22+
@inlinable
2323
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
2424
public static func clip<U>(_ vector: U,
2525
to bounds: ClosedRange<Float>) -> [Float]
@@ -45,7 +45,7 @@ extension vDSP {
4545
/// - Parameter vector: Source vector.
4646
/// - Parameter bounds: Clipping threshold.
4747
/// - Parameter result: The clipped result.
48-
@inline(__always)
48+
@inlinable
4949
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
5050
public static func clip<U, V>(_ vector: U,
5151
to bounds: ClosedRange<Float>,
@@ -78,7 +78,7 @@ extension vDSP {
7878
/// - Parameter vector: Source vector.
7979
/// - Parameter bounds: Clipping threshold.
8080
/// - Returns: The clipped result.
81-
@inline(__always)
81+
@inlinable
8282
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
8383
public static func clip<U>(_ vector: U,
8484
to bounds: ClosedRange<Double>) -> [Double]
@@ -104,7 +104,7 @@ extension vDSP {
104104
/// - Parameter vector: Source vector.
105105
/// - Parameter bounds: Clipping threshold.
106106
/// - Parameter result: The clipped result.
107-
@inline(__always)
107+
@inlinable
108108
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
109109
public static func clip<U, V>(_ vector: U,
110110
to bounds: ClosedRange<Double>,
@@ -152,7 +152,7 @@ extension vDSP {
152152
/// D[n] = *C;
153153
/// }
154154
/// ```
155-
@inline(__always)
155+
@inlinable
156156
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
157157
public static func invertedClip<U>(_ vector: U,
158158
to bounds: ClosedRange<Float>) -> [Float]
@@ -191,7 +191,7 @@ extension vDSP {
191191
/// D[n] = *C;
192192
/// }
193193
/// ```
194-
@inline(__always)
194+
@inlinable
195195
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
196196
public static func invertedClip<U, V>(_ vector: U,
197197
to bounds: ClosedRange<Float>,
@@ -237,7 +237,7 @@ extension vDSP {
237237
/// D[n] = *C;
238238
/// }
239239
/// ```
240-
@inline(__always)
240+
@inlinable
241241
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
242242
public static func invertedClip<U>(_ vector: U,
243243
to bounds: ClosedRange<Double>) -> [Double]
@@ -276,7 +276,7 @@ extension vDSP {
276276
/// D[n] = *C;
277277
/// }
278278
/// ```
279-
@inline(__always)
279+
@inlinable
280280
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
281281
public static func invertedClip<U, V>(_ vector: U,
282282
to bounds: ClosedRange<Double>,
@@ -321,7 +321,7 @@ extension vDSP {
321321
/// - Parameter vector: Source vector.
322322
/// - Parameter bounds: Clipping threshold.
323323
/// - Returns: The clipped result.
324-
@inline(__always)
324+
@inlinable
325325
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
326326
public static func threshold<U>(_ vector: U,
327327
to lowerBound: Float,
@@ -356,7 +356,6 @@ extension vDSP {
356356
/// - Parameter lowerBound: Low clipping threshold.
357357
/// - Parameter rule: The thresholding rule.
358358
/// - Parameter result: The threshold result.
359-
@inline(__always)
360359
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
361360
public static func threshold<U, V>(_ vector: U,
362361
to lowerBound: Float,
@@ -402,7 +401,7 @@ extension vDSP {
402401
/// - Parameter vector: Source vector.
403402
/// - Parameter bounds: Clipping threshold.
404403
/// - Returns: The clipped result.
405-
@inline(__always)
404+
@inlinable
406405
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
407406
public static func threshold<U>(_ vector: U,
408407
to lowerBound: Double,
@@ -437,7 +436,6 @@ extension vDSP {
437436
/// - Parameter lowerBound: Low clipping threshold.
438437
/// - Parameter rule: The thresholding rule.
439438
/// - Parameter result: The threshold result.
440-
@inline(__always)
441439
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
442440
public static func threshold<U, V>(_ vector: U,
443441
to lowerBound: Double,
@@ -488,7 +486,7 @@ extension vDSP {
488486
/// - Parameter limit: Limit.
489487
/// - Parameter x: Value written to result.
490488
/// - Returns: The clipped result.
491-
@inline(__always)
489+
@inlinable
492490
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
493491
public static func limit<U>(_ vector: U,
494492
limit: Float,
@@ -519,7 +517,7 @@ extension vDSP {
519517
/// - Parameter limit: Limit.
520518
/// - Parameter x: Value written to result.
521519
/// - Parameter result: The clipped result.
522-
@inline(__always)
520+
@inlinable
523521
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
524522
public static func limit<U, V>(_ vector: U,
525523
limit: Float,
@@ -556,7 +554,7 @@ extension vDSP {
556554
/// - Parameter limit: Limit.
557555
/// - Parameter x: Value written to result.
558556
/// - Returns: The clipped result.
559-
@inline(__always)
557+
@inlinable
560558
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
561559
public static func limit<U>(_ vector: U,
562560
limit: Double,
@@ -587,7 +585,7 @@ extension vDSP {
587585
/// - Parameter limit: Limit.
588586
/// - Parameter x: Value written to result.
589587
/// - Parameter result: The clipped result.
590-
@inline(__always)
588+
@inlinable
591589
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
592590
public static func limit<U, V>(_ vector: U,
593591
limit: Double,

stdlib/public/Darwin/Accelerate/vDSP_ComplexConversion.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ extension vDSP {
1616
///
1717
/// - Parameter splitComplexVector: Source vector.
1818
/// - Parameter interleavedComplexVector: Destination vector.
19-
@inline(__always)
19+
@inlinable
2020
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
2121
public static func convert(splitComplexVector: DSPSplitComplex,
2222
toInterleavedComplexVector interleavedComplexVector: inout [DSPComplex]) {
@@ -32,7 +32,7 @@ extension vDSP {
3232
///
3333
/// - Parameter interleavedComplexVector: Source vector.
3434
/// - Parameter splitComplexVector: Destination vector.
35-
@inline(__always)
35+
@inlinable
3636
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
3737
public static func convert(interleavedComplexVector: [DSPComplex],
3838
toSplitComplexVector splitComplexVector: inout DSPSplitComplex) {
@@ -46,7 +46,7 @@ extension vDSP {
4646
///
4747
/// - Parameter splitComplexVector: Source vector.
4848
/// - Parameter interleavedComplexVector: Destination vector.
49-
@inline(__always)
49+
@inlinable
5050
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
5151
public static func convert(splitComplexVector: DSPDoubleSplitComplex,
5252
toInterleavedComplexVector interleavedComplexVector: inout [DSPDoubleComplex]) {
@@ -62,7 +62,7 @@ extension vDSP {
6262
///
6363
/// - Parameter interleavedComplexVector: Source vector.
6464
/// - Parameter splitComplexVector: Destination vector.
65-
@inline(__always)
65+
@inlinable
6666
@available(iOS 9999, macOS 9999, tvOS 9999, watchOS 9999, *)
6767
public static func convert(interleavedComplexVector: [DSPDoubleComplex],
6868
toSplitComplexVector splitComplexVector: inout DSPDoubleSplitComplex) {

0 commit comments

Comments
 (0)