diff --git a/Package.swift b/Package.swift index bd32d7b..c35448f 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.0 +// swift-tools-version:6.0 import PackageDescription let package = Package( @@ -34,3 +34,9 @@ let package = Package( ), ] ) + +var swiftSettings: [SwiftSetting] { + [ + .enableUpcomingFeature("ExistentialAny") + ] +} diff --git a/Sources/AccelerateLinux/VectorOps/vDSP.swift b/Sources/AccelerateLinux/VectorOps/vDSP.swift index 1900734..0151f5a 100644 --- a/Sources/AccelerateLinux/VectorOps/vDSP.swift +++ b/Sources/AccelerateLinux/VectorOps/vDSP.swift @@ -8,6 +8,8 @@ public enum vDSP { /// - scalar: The input scalar value, B. /// - vector: The input vector, A. /// - Returns: The output vector, C. + @inlinable + @inline(__always) public static func add( _ scalar: Double, _ vector: U @@ -29,6 +31,8 @@ public enum vDSP { /// - vectorA: The first input vector, A. /// - vectorB: The second input vector, B. /// - Returns: The output vector, C. + @inlinable + @inline(__always) public static func add( _ vectorA: T, _ vectorB: U @@ -50,6 +54,8 @@ public enum vDSP { /// Returns the double-precision vector sum. /// - Parameter vector: The vector to sum. + @inlinable + @inline(__always) public static func sum(_ vector: U) -> Double where U: AccelerateBuffer, U.Element == Double { vector.withUnsafeBufferPointer { ptr in var sum: Double = 0 @@ -67,6 +73,8 @@ public enum vDSP { /// - vectorA: The first input vector, A. /// - vectorB: The second input vector, B. /// - Returns: The output vector, C. + @inlinable + @inline(__always) public static func subtract( _ vectorA: U, _ vectorB: T @@ -90,6 +98,8 @@ public enum vDSP { /// - vectorA: The first input vector, A. /// - vectorB: The second input vector, B. /// - Returns: The output vector, C. + @inlinable + @inline(__always) public static func multiply( _ vectorA: T, _ vectorB: U @@ -113,6 +123,8 @@ public enum vDSP { /// - vectorA: The first input vector, A. /// - vectorB: The second input vector, B. /// - Returns: The output vector, C. + @inlinable + @inline(__always) public static func multiply( _ vectorA: T, _ vectorB: U @@ -136,6 +148,8 @@ public enum vDSP { /// - scalar: The input scalar value, B. /// - vector: The input vector, A. /// - Returns: The output vector, C. + @inlinable + @inline(__always) public static func multiply( _ scalar: Double, _ vector: U