The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build SwiftSpatial, reference main (d9178d), with Swift 6.0 for Linux on 3 Dec 2024 13:13:32 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats 2>&1

Build Log

10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:276:13: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
274 |         // Roll
275 |         let sinr_cosp = 2 * (r * i1 + i2 * i3)
276 |         let cosr_cosp = 1.0 - 2.0 * (pow(i1, 2) + pow(i2, 2))
    |             `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
277 |         let roll = atan2(sinr_cosp, cosr_cosp)
278 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:277:20: error: no exact matches in call to global function 'atan2'
275 |         let sinr_cosp = 2 * (r * i1 + i2 * i3)
276 |         let cosr_cosp = 1.0 - 2.0 * (pow(i1, 2) + pow(i2, 2))
277 |         let roll = atan2(sinr_cosp, cosr_cosp)
    |                    `- error: no exact matches in call to global function 'atan2'
278 |
279 |         // Pitch
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:311:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  309 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  310 | @inlinable
  311 | public func atan2(_ x: simd_float2, _ y: simd_float2) -> simd_float2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  312 |
  313 | /// - Returns: Elementwise inverse tangent of *x*.
  314 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  315 | @inlinable
  316 | public func atan2(_ x: simd_float3, _ y: simd_float3) -> simd_float3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  317 |
  318 | /// - Returns: Elementwise inverse tangent of *x*.
  319 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  320 | @inlinable
  321 | public func atan2(_ x: simd_float4, _ y: simd_float4) -> simd_float4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  322 |
  323 | /// - Returns: Elementwise inverse tangent of *x*.
  324 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  325 | @inlinable
  326 | public func atan2(_ x: simd_float8, _ y: simd_float8) -> simd_float8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  327 |
  328 | /// - Returns: Elementwise inverse tangent of *x*.
  329 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  330 | @inlinable
  331 | public func atan2(_ x: simd_float16, _ y: simd_float16) -> simd_float16 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7]), atan2(x[8], y[8]), atan2(x[9], y[9]), atan2(x[10], y[10]), atan2(x[11], y[11]), atan2(x[12], y[12]), atan2(x[13], y[13]), atan2(x[14], y[14]), atan2(x[15], y[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  332 |
  333 | /// - Returns: Elementwise inverse tangent of *x*.
  334 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  335 | @inlinable
  336 | public func atan2(_ x: simd_double2, _ y: simd_double2) -> simd_double2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  337 |
  338 | /// - Returns: Elementwise inverse tangent of *x*.
  339 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  340 | @inlinable
  341 | public func atan2(_ x: simd_double3, _ y: simd_double3) -> simd_double3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  342 |
  343 | /// - Returns: Elementwise inverse tangent of *x*.
  344 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  345 | @inlinable
  346 | public func atan2(_ x: simd_double4, _ y: simd_double4) -> simd_double4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  347 |
  348 | /// - Returns: Elementwise inverse tangent of *x*.
  349 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  350 | @inlinable
  351 | public func atan2(_ x: simd_double8, _ y: simd_double8) -> simd_double8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  352 |
  353 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:281:20: error: cannot find 'sqrt' in scope
279 |         // Pitch
280 |         let val = 2 * (r * i2 - i1 * i3)
281 |         let sinp = sqrt(1 + val)
    |                    `- error: cannot find 'sqrt' in scope
282 |         let cosp = sqrt(1 - val)
283 |         let pitch = 2 * atan2(sinp, cosp) - .pi / 2
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:282:20: error: cannot find 'sqrt' in scope
280 |         let val = 2 * (r * i2 - i1 * i3)
281 |         let sinp = sqrt(1 + val)
282 |         let cosp = sqrt(1 - val)
    |                    `- error: cannot find 'sqrt' in scope
283 |         let pitch = 2 * atan2(sinp, cosp) - .pi / 2
284 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:287:13: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
285 |         // Yaw
286 |         let siny_cosp = 2 * (r * i3 + i1 * i2)
287 |         let cosy_cosp = 1 - 2 * (pow(i2, 2) + pow(i3, 2))
    |             `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
288 |         let yaw = atan2(siny_cosp, cosy_cosp)
289 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:288:19: error: no exact matches in call to global function 'atan2'
286 |         let siny_cosp = 2 * (r * i3 + i1 * i2)
287 |         let cosy_cosp = 1 - 2 * (pow(i2, 2) + pow(i3, 2))
288 |         let yaw = atan2(siny_cosp, cosy_cosp)
    |                   `- error: no exact matches in call to global function 'atan2'
289 |
290 |         return .init(angles: .init(x: roll,
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:311:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  309 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  310 | @inlinable
  311 | public func atan2(_ x: simd_float2, _ y: simd_float2) -> simd_float2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  312 |
  313 | /// - Returns: Elementwise inverse tangent of *x*.
  314 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  315 | @inlinable
  316 | public func atan2(_ x: simd_float3, _ y: simd_float3) -> simd_float3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  317 |
  318 | /// - Returns: Elementwise inverse tangent of *x*.
  319 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  320 | @inlinable
  321 | public func atan2(_ x: simd_float4, _ y: simd_float4) -> simd_float4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  322 |
  323 | /// - Returns: Elementwise inverse tangent of *x*.
  324 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  325 | @inlinable
  326 | public func atan2(_ x: simd_float8, _ y: simd_float8) -> simd_float8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  327 |
  328 | /// - Returns: Elementwise inverse tangent of *x*.
  329 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  330 | @inlinable
  331 | public func atan2(_ x: simd_float16, _ y: simd_float16) -> simd_float16 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7]), atan2(x[8], y[8]), atan2(x[9], y[9]), atan2(x[10], y[10]), atan2(x[11], y[11]), atan2(x[12], y[12]), atan2(x[13], y[13]), atan2(x[14], y[14]), atan2(x[15], y[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  332 |
  333 | /// - Returns: Elementwise inverse tangent of *x*.
  334 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  335 | @inlinable
  336 | public func atan2(_ x: simd_double2, _ y: simd_double2) -> simd_double2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  337 |
  338 | /// - Returns: Elementwise inverse tangent of *x*.
  339 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  340 | @inlinable
  341 | public func atan2(_ x: simd_double3, _ y: simd_double3) -> simd_double3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  342 |
  343 | /// - Returns: Elementwise inverse tangent of *x*.
  344 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  345 | @inlinable
  346 | public func atan2(_ x: simd_double4, _ y: simd_double4) -> simd_double4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  347 |
  348 | /// - Returns: Elementwise inverse tangent of *x*.
  349 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  350 | @inlinable
  351 | public func atan2(_ x: simd_double8, _ y: simd_double8) -> simd_double8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  352 |
  353 |
[48/63] Compiling SwiftSpatial Ray3D.swift
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:7:16: error: stored property 'quaternion' of 'Sendable'-conforming struct 'Rotation3D' has non-sendable type 'simd_quatd'
  5 | public struct Rotation3D: Sendable, Hashable, Codable {
  6 |     /// A quaternion that represents the rotation.
  7 |     public var quaternion: simd_quatd
    |                `- error: stored property 'quaternion' of 'Sendable'-conforming struct 'Rotation3D' has non-sendable type 'simd_quatd'
  8 |     /// The underlying vector of the quaternion.
  9 |     @inlinable public var vector: simd_double4 {
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvQuaternions.swift:329:15: note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
327 | ///
328 | /// It's represented as a 4-element vector where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
329 | public struct simd_quatd : Equatable, CustomDebugStringConvertible {
    |               `- note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
330 |
331 |     /// A 4-element vector representation of a quaternion where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:1:8: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
  1 | public import simd
    |        `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
  2 | public import RealModule
  3 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:5:15: error: type 'Rotation3D' does not conform to protocol 'Hashable'
  3 |
  4 | /// A rotation in three dimensions.
  5 | public struct Rotation3D: Sendable, Hashable, Codable {
    |               `- error: type 'Rotation3D' does not conform to protocol 'Hashable'
  6 |     /// A quaternion that represents the rotation.
  7 |     public var quaternion: simd_quatd
    |                `- note: stored property type 'simd_quatd' does not conform to protocol 'Hashable', preventing synthesized conformance of 'Rotation3D' to 'Hashable'
  8 |     /// The underlying vector of the quaternion.
  9 |     @inlinable public var vector: simd_double4 {
/host/spi-builder-workspace/Sources/SwiftSpatial/SIMDExtensions.swift:19:23: error: static property 'identity' is not concurrency-safe because non-'Sendable' type 'simd_quatd' may have shared mutable state
17 |
18 | extension simd_quatd: Codable {
19 |     public static let identity: simd_quatd = .init(real: 1, imag: .zero)
   |                       `- error: static property 'identity' is not concurrency-safe because non-'Sendable' type 'simd_quatd' may have shared mutable state
20 |
21 |     @inlinable public init(from decoder: any Decoder) throws {
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvQuaternions.swift:329:15: note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
327 | ///
328 | /// It's represented as a 4-element vector where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
329 | public struct simd_quatd : Equatable, CustomDebugStringConvertible {
    |               `- note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
330 |
331 |     /// A 4-element vector representation of a quaternion where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
/host/spi-builder-workspace/Sources/SwiftSpatial/SIMDExtensions.swift:1:8: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
 1 | public import simd
   |        `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
 2 |
 3 | extension simd_float4x4 {
   :
17 |
18 | extension simd_quatd: Codable {
19 |     public static let identity: simd_quatd = .init(real: 1, imag: .zero)
   |                       |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     @inlinable public init(from decoder: any Decoder) throws {
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:97:20: error: no exact matches in call to global function 'cos'
 95 |         let halfAngles = eulerAngles.angles / 2
 96 |
 97 |         let cosr = cos(halfAngles.x)
    |                    `- error: no exact matches in call to global function 'cos'
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:98:20: error: no exact matches in call to global function 'sin'
 96 |
 97 |         let cosr = cos(halfAngles.x)
 98 |         let sinr = sin(halfAngles.x)
    |                    `- error: no exact matches in call to global function 'sin'
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:99:20: error: no exact matches in call to global function 'cos'
 97 |         let cosr = cos(halfAngles.x)
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
    |                    `- error: no exact matches in call to global function 'cos'
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:100:20: error: no exact matches in call to global function 'sin'
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
    |                    `- error: no exact matches in call to global function 'sin'
101 |         let cosy = cos(halfAngles.z)
102 |         let siny = sin(halfAngles.z)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:101:20: error: no exact matches in call to global function 'cos'
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
    |                    `- error: no exact matches in call to global function 'cos'
102 |         let siny = sin(halfAngles.z)
103 |
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:102:20: error: no exact matches in call to global function 'sin'
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
102 |         let siny = sin(halfAngles.z)
    |                    `- error: no exact matches in call to global function 'sin'
103 |
104 |         let r = cosr * cosp * cosy + sinr * sinp * siny
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:276:13: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
274 |         // Roll
275 |         let sinr_cosp = 2 * (r * i1 + i2 * i3)
276 |         let cosr_cosp = 1.0 - 2.0 * (pow(i1, 2) + pow(i2, 2))
    |             `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
277 |         let roll = atan2(sinr_cosp, cosr_cosp)
278 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:277:20: error: no exact matches in call to global function 'atan2'
275 |         let sinr_cosp = 2 * (r * i1 + i2 * i3)
276 |         let cosr_cosp = 1.0 - 2.0 * (pow(i1, 2) + pow(i2, 2))
277 |         let roll = atan2(sinr_cosp, cosr_cosp)
    |                    `- error: no exact matches in call to global function 'atan2'
278 |
279 |         // Pitch
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:311:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  309 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  310 | @inlinable
  311 | public func atan2(_ x: simd_float2, _ y: simd_float2) -> simd_float2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  312 |
  313 | /// - Returns: Elementwise inverse tangent of *x*.
  314 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  315 | @inlinable
  316 | public func atan2(_ x: simd_float3, _ y: simd_float3) -> simd_float3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  317 |
  318 | /// - Returns: Elementwise inverse tangent of *x*.
  319 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  320 | @inlinable
  321 | public func atan2(_ x: simd_float4, _ y: simd_float4) -> simd_float4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  322 |
  323 | /// - Returns: Elementwise inverse tangent of *x*.
  324 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  325 | @inlinable
  326 | public func atan2(_ x: simd_float8, _ y: simd_float8) -> simd_float8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  327 |
  328 | /// - Returns: Elementwise inverse tangent of *x*.
  329 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  330 | @inlinable
  331 | public func atan2(_ x: simd_float16, _ y: simd_float16) -> simd_float16 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7]), atan2(x[8], y[8]), atan2(x[9], y[9]), atan2(x[10], y[10]), atan2(x[11], y[11]), atan2(x[12], y[12]), atan2(x[13], y[13]), atan2(x[14], y[14]), atan2(x[15], y[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  332 |
  333 | /// - Returns: Elementwise inverse tangent of *x*.
  334 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  335 | @inlinable
  336 | public func atan2(_ x: simd_double2, _ y: simd_double2) -> simd_double2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  337 |
  338 | /// - Returns: Elementwise inverse tangent of *x*.
  339 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  340 | @inlinable
  341 | public func atan2(_ x: simd_double3, _ y: simd_double3) -> simd_double3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  342 |
  343 | /// - Returns: Elementwise inverse tangent of *x*.
  344 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  345 | @inlinable
  346 | public func atan2(_ x: simd_double4, _ y: simd_double4) -> simd_double4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  347 |
  348 | /// - Returns: Elementwise inverse tangent of *x*.
  349 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  350 | @inlinable
  351 | public func atan2(_ x: simd_double8, _ y: simd_double8) -> simd_double8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  352 |
  353 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:281:20: error: cannot find 'sqrt' in scope
279 |         // Pitch
280 |         let val = 2 * (r * i2 - i1 * i3)
281 |         let sinp = sqrt(1 + val)
    |                    `- error: cannot find 'sqrt' in scope
282 |         let cosp = sqrt(1 - val)
283 |         let pitch = 2 * atan2(sinp, cosp) - .pi / 2
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:282:20: error: cannot find 'sqrt' in scope
280 |         let val = 2 * (r * i2 - i1 * i3)
281 |         let sinp = sqrt(1 + val)
282 |         let cosp = sqrt(1 - val)
    |                    `- error: cannot find 'sqrt' in scope
283 |         let pitch = 2 * atan2(sinp, cosp) - .pi / 2
284 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:287:13: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
285 |         // Yaw
286 |         let siny_cosp = 2 * (r * i3 + i1 * i2)
287 |         let cosy_cosp = 1 - 2 * (pow(i2, 2) + pow(i3, 2))
    |             `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
288 |         let yaw = atan2(siny_cosp, cosy_cosp)
289 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:288:19: error: no exact matches in call to global function 'atan2'
286 |         let siny_cosp = 2 * (r * i3 + i1 * i2)
287 |         let cosy_cosp = 1 - 2 * (pow(i2, 2) + pow(i3, 2))
288 |         let yaw = atan2(siny_cosp, cosy_cosp)
    |                   `- error: no exact matches in call to global function 'atan2'
289 |
290 |         return .init(angles: .init(x: roll,
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:311:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  309 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  310 | @inlinable
  311 | public func atan2(_ x: simd_float2, _ y: simd_float2) -> simd_float2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  312 |
  313 | /// - Returns: Elementwise inverse tangent of *x*.
  314 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  315 | @inlinable
  316 | public func atan2(_ x: simd_float3, _ y: simd_float3) -> simd_float3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  317 |
  318 | /// - Returns: Elementwise inverse tangent of *x*.
  319 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  320 | @inlinable
  321 | public func atan2(_ x: simd_float4, _ y: simd_float4) -> simd_float4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  322 |
  323 | /// - Returns: Elementwise inverse tangent of *x*.
  324 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  325 | @inlinable
  326 | public func atan2(_ x: simd_float8, _ y: simd_float8) -> simd_float8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  327 |
  328 | /// - Returns: Elementwise inverse tangent of *x*.
  329 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  330 | @inlinable
  331 | public func atan2(_ x: simd_float16, _ y: simd_float16) -> simd_float16 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7]), atan2(x[8], y[8]), atan2(x[9], y[9]), atan2(x[10], y[10]), atan2(x[11], y[11]), atan2(x[12], y[12]), atan2(x[13], y[13]), atan2(x[14], y[14]), atan2(x[15], y[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  332 |
  333 | /// - Returns: Elementwise inverse tangent of *x*.
  334 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  335 | @inlinable
  336 | public func atan2(_ x: simd_double2, _ y: simd_double2) -> simd_double2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  337 |
  338 | /// - Returns: Elementwise inverse tangent of *x*.
  339 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  340 | @inlinable
  341 | public func atan2(_ x: simd_double3, _ y: simd_double3) -> simd_double3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  342 |
  343 | /// - Returns: Elementwise inverse tangent of *x*.
  344 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  345 | @inlinable
  346 | public func atan2(_ x: simd_double4, _ y: simd_double4) -> simd_double4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  347 |
  348 | /// - Returns: Elementwise inverse tangent of *x*.
  349 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  350 | @inlinable
  351 | public func atan2(_ x: simd_double8, _ y: simd_double8) -> simd_double8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  352 |
  353 |
[49/63] Compiling SwiftSpatial Rotatable3D.swift
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:7:16: error: stored property 'quaternion' of 'Sendable'-conforming struct 'Rotation3D' has non-sendable type 'simd_quatd'
  5 | public struct Rotation3D: Sendable, Hashable, Codable {
  6 |     /// A quaternion that represents the rotation.
  7 |     public var quaternion: simd_quatd
    |                `- error: stored property 'quaternion' of 'Sendable'-conforming struct 'Rotation3D' has non-sendable type 'simd_quatd'
  8 |     /// The underlying vector of the quaternion.
  9 |     @inlinable public var vector: simd_double4 {
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvQuaternions.swift:329:15: note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
327 | ///
328 | /// It's represented as a 4-element vector where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
329 | public struct simd_quatd : Equatable, CustomDebugStringConvertible {
    |               `- note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
330 |
331 |     /// A 4-element vector representation of a quaternion where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:1:8: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
  1 | public import simd
    |        `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
  2 | public import RealModule
  3 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:5:15: error: type 'Rotation3D' does not conform to protocol 'Hashable'
  3 |
  4 | /// A rotation in three dimensions.
  5 | public struct Rotation3D: Sendable, Hashable, Codable {
    |               `- error: type 'Rotation3D' does not conform to protocol 'Hashable'
  6 |     /// A quaternion that represents the rotation.
  7 |     public var quaternion: simd_quatd
    |                `- note: stored property type 'simd_quatd' does not conform to protocol 'Hashable', preventing synthesized conformance of 'Rotation3D' to 'Hashable'
  8 |     /// The underlying vector of the quaternion.
  9 |     @inlinable public var vector: simd_double4 {
/host/spi-builder-workspace/Sources/SwiftSpatial/SIMDExtensions.swift:19:23: error: static property 'identity' is not concurrency-safe because non-'Sendable' type 'simd_quatd' may have shared mutable state
17 |
18 | extension simd_quatd: Codable {
19 |     public static let identity: simd_quatd = .init(real: 1, imag: .zero)
   |                       `- error: static property 'identity' is not concurrency-safe because non-'Sendable' type 'simd_quatd' may have shared mutable state
20 |
21 |     @inlinable public init(from decoder: any Decoder) throws {
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvQuaternions.swift:329:15: note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
327 | ///
328 | /// It's represented as a 4-element vector where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
329 | public struct simd_quatd : Equatable, CustomDebugStringConvertible {
    |               `- note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
330 |
331 |     /// A 4-element vector representation of a quaternion where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
/host/spi-builder-workspace/Sources/SwiftSpatial/SIMDExtensions.swift:1:8: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
 1 | public import simd
   |        `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
 2 |
 3 | extension simd_float4x4 {
   :
17 |
18 | extension simd_quatd: Codable {
19 |     public static let identity: simd_quatd = .init(real: 1, imag: .zero)
   |                       |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     @inlinable public init(from decoder: any Decoder) throws {
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:97:20: error: no exact matches in call to global function 'cos'
 95 |         let halfAngles = eulerAngles.angles / 2
 96 |
 97 |         let cosr = cos(halfAngles.x)
    |                    `- error: no exact matches in call to global function 'cos'
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:98:20: error: no exact matches in call to global function 'sin'
 96 |
 97 |         let cosr = cos(halfAngles.x)
 98 |         let sinr = sin(halfAngles.x)
    |                    `- error: no exact matches in call to global function 'sin'
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:99:20: error: no exact matches in call to global function 'cos'
 97 |         let cosr = cos(halfAngles.x)
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
    |                    `- error: no exact matches in call to global function 'cos'
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:100:20: error: no exact matches in call to global function 'sin'
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
    |                    `- error: no exact matches in call to global function 'sin'
101 |         let cosy = cos(halfAngles.z)
102 |         let siny = sin(halfAngles.z)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:101:20: error: no exact matches in call to global function 'cos'
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
    |                    `- error: no exact matches in call to global function 'cos'
102 |         let siny = sin(halfAngles.z)
103 |
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:102:20: error: no exact matches in call to global function 'sin'
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
102 |         let siny = sin(halfAngles.z)
    |                    `- error: no exact matches in call to global function 'sin'
103 |
104 |         let r = cosr * cosp * cosy + sinr * sinp * siny
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:276:13: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
274 |         // Roll
275 |         let sinr_cosp = 2 * (r * i1 + i2 * i3)
276 |         let cosr_cosp = 1.0 - 2.0 * (pow(i1, 2) + pow(i2, 2))
    |             `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
277 |         let roll = atan2(sinr_cosp, cosr_cosp)
278 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:277:20: error: no exact matches in call to global function 'atan2'
275 |         let sinr_cosp = 2 * (r * i1 + i2 * i3)
276 |         let cosr_cosp = 1.0 - 2.0 * (pow(i1, 2) + pow(i2, 2))
277 |         let roll = atan2(sinr_cosp, cosr_cosp)
    |                    `- error: no exact matches in call to global function 'atan2'
278 |
279 |         // Pitch
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:311:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  309 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  310 | @inlinable
  311 | public func atan2(_ x: simd_float2, _ y: simd_float2) -> simd_float2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  312 |
  313 | /// - Returns: Elementwise inverse tangent of *x*.
  314 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  315 | @inlinable
  316 | public func atan2(_ x: simd_float3, _ y: simd_float3) -> simd_float3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  317 |
  318 | /// - Returns: Elementwise inverse tangent of *x*.
  319 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  320 | @inlinable
  321 | public func atan2(_ x: simd_float4, _ y: simd_float4) -> simd_float4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  322 |
  323 | /// - Returns: Elementwise inverse tangent of *x*.
  324 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  325 | @inlinable
  326 | public func atan2(_ x: simd_float8, _ y: simd_float8) -> simd_float8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  327 |
  328 | /// - Returns: Elementwise inverse tangent of *x*.
  329 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  330 | @inlinable
  331 | public func atan2(_ x: simd_float16, _ y: simd_float16) -> simd_float16 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7]), atan2(x[8], y[8]), atan2(x[9], y[9]), atan2(x[10], y[10]), atan2(x[11], y[11]), atan2(x[12], y[12]), atan2(x[13], y[13]), atan2(x[14], y[14]), atan2(x[15], y[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  332 |
  333 | /// - Returns: Elementwise inverse tangent of *x*.
  334 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  335 | @inlinable
  336 | public func atan2(_ x: simd_double2, _ y: simd_double2) -> simd_double2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  337 |
  338 | /// - Returns: Elementwise inverse tangent of *x*.
  339 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  340 | @inlinable
  341 | public func atan2(_ x: simd_double3, _ y: simd_double3) -> simd_double3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  342 |
  343 | /// - Returns: Elementwise inverse tangent of *x*.
  344 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  345 | @inlinable
  346 | public func atan2(_ x: simd_double4, _ y: simd_double4) -> simd_double4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  347 |
  348 | /// - Returns: Elementwise inverse tangent of *x*.
  349 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  350 | @inlinable
  351 | public func atan2(_ x: simd_double8, _ y: simd_double8) -> simd_double8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  352 |
  353 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:281:20: error: cannot find 'sqrt' in scope
279 |         // Pitch
280 |         let val = 2 * (r * i2 - i1 * i3)
281 |         let sinp = sqrt(1 + val)
    |                    `- error: cannot find 'sqrt' in scope
282 |         let cosp = sqrt(1 - val)
283 |         let pitch = 2 * atan2(sinp, cosp) - .pi / 2
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:282:20: error: cannot find 'sqrt' in scope
280 |         let val = 2 * (r * i2 - i1 * i3)
281 |         let sinp = sqrt(1 + val)
282 |         let cosp = sqrt(1 - val)
    |                    `- error: cannot find 'sqrt' in scope
283 |         let pitch = 2 * atan2(sinp, cosp) - .pi / 2
284 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:287:13: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
285 |         // Yaw
286 |         let siny_cosp = 2 * (r * i3 + i1 * i2)
287 |         let cosy_cosp = 1 - 2 * (pow(i2, 2) + pow(i3, 2))
    |             `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
288 |         let yaw = atan2(siny_cosp, cosy_cosp)
289 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:288:19: error: no exact matches in call to global function 'atan2'
286 |         let siny_cosp = 2 * (r * i3 + i1 * i2)
287 |         let cosy_cosp = 1 - 2 * (pow(i2, 2) + pow(i3, 2))
288 |         let yaw = atan2(siny_cosp, cosy_cosp)
    |                   `- error: no exact matches in call to global function 'atan2'
289 |
290 |         return .init(angles: .init(x: roll,
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:311:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  309 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  310 | @inlinable
  311 | public func atan2(_ x: simd_float2, _ y: simd_float2) -> simd_float2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  312 |
  313 | /// - Returns: Elementwise inverse tangent of *x*.
  314 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  315 | @inlinable
  316 | public func atan2(_ x: simd_float3, _ y: simd_float3) -> simd_float3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  317 |
  318 | /// - Returns: Elementwise inverse tangent of *x*.
  319 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  320 | @inlinable
  321 | public func atan2(_ x: simd_float4, _ y: simd_float4) -> simd_float4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  322 |
  323 | /// - Returns: Elementwise inverse tangent of *x*.
  324 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  325 | @inlinable
  326 | public func atan2(_ x: simd_float8, _ y: simd_float8) -> simd_float8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  327 |
  328 | /// - Returns: Elementwise inverse tangent of *x*.
  329 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  330 | @inlinable
  331 | public func atan2(_ x: simd_float16, _ y: simd_float16) -> simd_float16 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7]), atan2(x[8], y[8]), atan2(x[9], y[9]), atan2(x[10], y[10]), atan2(x[11], y[11]), atan2(x[12], y[12]), atan2(x[13], y[13]), atan2(x[14], y[14]), atan2(x[15], y[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  332 |
  333 | /// - Returns: Elementwise inverse tangent of *x*.
  334 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  335 | @inlinable
  336 | public func atan2(_ x: simd_double2, _ y: simd_double2) -> simd_double2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  337 |
  338 | /// - Returns: Elementwise inverse tangent of *x*.
  339 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  340 | @inlinable
  341 | public func atan2(_ x: simd_double3, _ y: simd_double3) -> simd_double3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  342 |
  343 | /// - Returns: Elementwise inverse tangent of *x*.
  344 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  345 | @inlinable
  346 | public func atan2(_ x: simd_double4, _ y: simd_double4) -> simd_double4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  347 |
  348 | /// - Returns: Elementwise inverse tangent of *x*.
  349 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  350 | @inlinable
  351 | public func atan2(_ x: simd_double8, _ y: simd_double8) -> simd_double8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  352 |
  353 |
[50/63] Compiling SwiftSpatial Rotation3D.swift
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:7:16: error: stored property 'quaternion' of 'Sendable'-conforming struct 'Rotation3D' has non-sendable type 'simd_quatd'
  5 | public struct Rotation3D: Sendable, Hashable, Codable {
  6 |     /// A quaternion that represents the rotation.
  7 |     public var quaternion: simd_quatd
    |                `- error: stored property 'quaternion' of 'Sendable'-conforming struct 'Rotation3D' has non-sendable type 'simd_quatd'
  8 |     /// The underlying vector of the quaternion.
  9 |     @inlinable public var vector: simd_double4 {
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvQuaternions.swift:329:15: note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
327 | ///
328 | /// It's represented as a 4-element vector where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
329 | public struct simd_quatd : Equatable, CustomDebugStringConvertible {
    |               `- note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
330 |
331 |     /// A 4-element vector representation of a quaternion where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:1:8: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
  1 | public import simd
    |        `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
  2 | public import RealModule
  3 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:5:15: error: type 'Rotation3D' does not conform to protocol 'Hashable'
  3 |
  4 | /// A rotation in three dimensions.
  5 | public struct Rotation3D: Sendable, Hashable, Codable {
    |               `- error: type 'Rotation3D' does not conform to protocol 'Hashable'
  6 |     /// A quaternion that represents the rotation.
  7 |     public var quaternion: simd_quatd
    |                `- note: stored property type 'simd_quatd' does not conform to protocol 'Hashable', preventing synthesized conformance of 'Rotation3D' to 'Hashable'
  8 |     /// The underlying vector of the quaternion.
  9 |     @inlinable public var vector: simd_double4 {
/host/spi-builder-workspace/Sources/SwiftSpatial/SIMDExtensions.swift:19:23: error: static property 'identity' is not concurrency-safe because non-'Sendable' type 'simd_quatd' may have shared mutable state
17 |
18 | extension simd_quatd: Codable {
19 |     public static let identity: simd_quatd = .init(real: 1, imag: .zero)
   |                       `- error: static property 'identity' is not concurrency-safe because non-'Sendable' type 'simd_quatd' may have shared mutable state
20 |
21 |     @inlinable public init(from decoder: any Decoder) throws {
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvQuaternions.swift:329:15: note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
327 | ///
328 | /// It's represented as a 4-element vector where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
329 | public struct simd_quatd : Equatable, CustomDebugStringConvertible {
    |               `- note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
330 |
331 |     /// A 4-element vector representation of a quaternion where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
/host/spi-builder-workspace/Sources/SwiftSpatial/SIMDExtensions.swift:1:8: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
 1 | public import simd
   |        `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
 2 |
 3 | extension simd_float4x4 {
   :
17 |
18 | extension simd_quatd: Codable {
19 |     public static let identity: simd_quatd = .init(real: 1, imag: .zero)
   |                       |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     @inlinable public init(from decoder: any Decoder) throws {
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:97:20: error: no exact matches in call to global function 'cos'
 95 |         let halfAngles = eulerAngles.angles / 2
 96 |
 97 |         let cosr = cos(halfAngles.x)
    |                    `- error: no exact matches in call to global function 'cos'
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:98:20: error: no exact matches in call to global function 'sin'
 96 |
 97 |         let cosr = cos(halfAngles.x)
 98 |         let sinr = sin(halfAngles.x)
    |                    `- error: no exact matches in call to global function 'sin'
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:99:20: error: no exact matches in call to global function 'cos'
 97 |         let cosr = cos(halfAngles.x)
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
    |                    `- error: no exact matches in call to global function 'cos'
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:100:20: error: no exact matches in call to global function 'sin'
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
    |                    `- error: no exact matches in call to global function 'sin'
101 |         let cosy = cos(halfAngles.z)
102 |         let siny = sin(halfAngles.z)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:101:20: error: no exact matches in call to global function 'cos'
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
    |                    `- error: no exact matches in call to global function 'cos'
102 |         let siny = sin(halfAngles.z)
103 |
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:102:20: error: no exact matches in call to global function 'sin'
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
102 |         let siny = sin(halfAngles.z)
    |                    `- error: no exact matches in call to global function 'sin'
103 |
104 |         let r = cosr * cosp * cosy + sinr * sinp * siny
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:276:13: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
274 |         // Roll
275 |         let sinr_cosp = 2 * (r * i1 + i2 * i3)
276 |         let cosr_cosp = 1.0 - 2.0 * (pow(i1, 2) + pow(i2, 2))
    |             `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
277 |         let roll = atan2(sinr_cosp, cosr_cosp)
278 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:277:20: error: no exact matches in call to global function 'atan2'
275 |         let sinr_cosp = 2 * (r * i1 + i2 * i3)
276 |         let cosr_cosp = 1.0 - 2.0 * (pow(i1, 2) + pow(i2, 2))
277 |         let roll = atan2(sinr_cosp, cosr_cosp)
    |                    `- error: no exact matches in call to global function 'atan2'
278 |
279 |         // Pitch
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:311:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  309 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  310 | @inlinable
  311 | public func atan2(_ x: simd_float2, _ y: simd_float2) -> simd_float2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  312 |
  313 | /// - Returns: Elementwise inverse tangent of *x*.
  314 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  315 | @inlinable
  316 | public func atan2(_ x: simd_float3, _ y: simd_float3) -> simd_float3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  317 |
  318 | /// - Returns: Elementwise inverse tangent of *x*.
  319 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  320 | @inlinable
  321 | public func atan2(_ x: simd_float4, _ y: simd_float4) -> simd_float4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  322 |
  323 | /// - Returns: Elementwise inverse tangent of *x*.
  324 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  325 | @inlinable
  326 | public func atan2(_ x: simd_float8, _ y: simd_float8) -> simd_float8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  327 |
  328 | /// - Returns: Elementwise inverse tangent of *x*.
  329 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  330 | @inlinable
  331 | public func atan2(_ x: simd_float16, _ y: simd_float16) -> simd_float16 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7]), atan2(x[8], y[8]), atan2(x[9], y[9]), atan2(x[10], y[10]), atan2(x[11], y[11]), atan2(x[12], y[12]), atan2(x[13], y[13]), atan2(x[14], y[14]), atan2(x[15], y[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  332 |
  333 | /// - Returns: Elementwise inverse tangent of *x*.
  334 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  335 | @inlinable
  336 | public func atan2(_ x: simd_double2, _ y: simd_double2) -> simd_double2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  337 |
  338 | /// - Returns: Elementwise inverse tangent of *x*.
  339 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  340 | @inlinable
  341 | public func atan2(_ x: simd_double3, _ y: simd_double3) -> simd_double3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  342 |
  343 | /// - Returns: Elementwise inverse tangent of *x*.
  344 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  345 | @inlinable
  346 | public func atan2(_ x: simd_double4, _ y: simd_double4) -> simd_double4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  347 |
  348 | /// - Returns: Elementwise inverse tangent of *x*.
  349 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  350 | @inlinable
  351 | public func atan2(_ x: simd_double8, _ y: simd_double8) -> simd_double8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  352 |
  353 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:281:20: error: cannot find 'sqrt' in scope
279 |         // Pitch
280 |         let val = 2 * (r * i2 - i1 * i3)
281 |         let sinp = sqrt(1 + val)
    |                    `- error: cannot find 'sqrt' in scope
282 |         let cosp = sqrt(1 - val)
283 |         let pitch = 2 * atan2(sinp, cosp) - .pi / 2
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:282:20: error: cannot find 'sqrt' in scope
280 |         let val = 2 * (r * i2 - i1 * i3)
281 |         let sinp = sqrt(1 + val)
282 |         let cosp = sqrt(1 - val)
    |                    `- error: cannot find 'sqrt' in scope
283 |         let pitch = 2 * atan2(sinp, cosp) - .pi / 2
284 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:287:13: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
285 |         // Yaw
286 |         let siny_cosp = 2 * (r * i3 + i1 * i2)
287 |         let cosy_cosp = 1 - 2 * (pow(i2, 2) + pow(i3, 2))
    |             `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
288 |         let yaw = atan2(siny_cosp, cosy_cosp)
289 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:288:19: error: no exact matches in call to global function 'atan2'
286 |         let siny_cosp = 2 * (r * i3 + i1 * i2)
287 |         let cosy_cosp = 1 - 2 * (pow(i2, 2) + pow(i3, 2))
288 |         let yaw = atan2(siny_cosp, cosy_cosp)
    |                   `- error: no exact matches in call to global function 'atan2'
289 |
290 |         return .init(angles: .init(x: roll,
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:311:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  309 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  310 | @inlinable
  311 | public func atan2(_ x: simd_float2, _ y: simd_float2) -> simd_float2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  312 |
  313 | /// - Returns: Elementwise inverse tangent of *x*.
  314 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  315 | @inlinable
  316 | public func atan2(_ x: simd_float3, _ y: simd_float3) -> simd_float3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  317 |
  318 | /// - Returns: Elementwise inverse tangent of *x*.
  319 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  320 | @inlinable
  321 | public func atan2(_ x: simd_float4, _ y: simd_float4) -> simd_float4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  322 |
  323 | /// - Returns: Elementwise inverse tangent of *x*.
  324 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  325 | @inlinable
  326 | public func atan2(_ x: simd_float8, _ y: simd_float8) -> simd_float8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  327 |
  328 | /// - Returns: Elementwise inverse tangent of *x*.
  329 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  330 | @inlinable
  331 | public func atan2(_ x: simd_float16, _ y: simd_float16) -> simd_float16 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7]), atan2(x[8], y[8]), atan2(x[9], y[9]), atan2(x[10], y[10]), atan2(x[11], y[11]), atan2(x[12], y[12]), atan2(x[13], y[13]), atan2(x[14], y[14]), atan2(x[15], y[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  332 |
  333 | /// - Returns: Elementwise inverse tangent of *x*.
  334 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  335 | @inlinable
  336 | public func atan2(_ x: simd_double2, _ y: simd_double2) -> simd_double2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  337 |
  338 | /// - Returns: Elementwise inverse tangent of *x*.
  339 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  340 | @inlinable
  341 | public func atan2(_ x: simd_double3, _ y: simd_double3) -> simd_double3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  342 |
  343 | /// - Returns: Elementwise inverse tangent of *x*.
  344 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  345 | @inlinable
  346 | public func atan2(_ x: simd_double4, _ y: simd_double4) -> simd_double4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  347 |
  348 | /// - Returns: Elementwise inverse tangent of *x*.
  349 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  350 | @inlinable
  351 | public func atan2(_ x: simd_double8, _ y: simd_double8) -> simd_double8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  352 |
  353 |
[51/63] Compiling SwiftSpatial Pose2D.swift
[52/63] Compiling SwiftSpatial Primitive2D.swift
[53/63] Compiling SwiftSpatial Rotatable2D.swift
[54/63] Compiling SwiftSpatial Scalable2D.swift
[55/63] Compiling SwiftSpatial Volumetric2D.swift
[56/63] Compiling SwiftSpatial Axis3D.swift
[57/63] Compiling SwiftSpatial Point3D.swift
[58/63] Compiling SwiftSpatial Pose3D.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[59/63] Compiling SwiftSpatial Angle2D.swift
[60/63] Compiling SwiftSpatial Axis2D.swift
[61/63] Compiling SwiftSpatial Point2D.swift
[62/63] Compiling SwiftSpatial PolarCoordinates2D.swift
[63/63] Emitting module SwiftSpatial
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:7:16: error: stored property 'quaternion' of 'Sendable'-conforming struct 'Rotation3D' has non-sendable type 'simd_quatd'
  5 | public struct Rotation3D: Sendable, Hashable, Codable {
  6 |     /// A quaternion that represents the rotation.
  7 |     public var quaternion: simd_quatd
    |                `- error: stored property 'quaternion' of 'Sendable'-conforming struct 'Rotation3D' has non-sendable type 'simd_quatd'
  8 |     /// The underlying vector of the quaternion.
  9 |     @inlinable public var vector: simd_double4 {
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvQuaternions.swift:329:15: note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
327 | ///
328 | /// It's represented as a 4-element vector where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
329 | public struct simd_quatd : Equatable, CustomDebugStringConvertible {
    |               `- note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
330 |
331 |     /// A 4-element vector representation of a quaternion where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:1:8: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
  1 | public import simd
    |        `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
  2 | public import RealModule
  3 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:5:15: error: type 'Rotation3D' does not conform to protocol 'Hashable'
  3 |
  4 | /// A rotation in three dimensions.
  5 | public struct Rotation3D: Sendable, Hashable, Codable {
    |               `- error: type 'Rotation3D' does not conform to protocol 'Hashable'
  6 |     /// A quaternion that represents the rotation.
  7 |     public var quaternion: simd_quatd
    |                `- note: stored property type 'simd_quatd' does not conform to protocol 'Hashable', preventing synthesized conformance of 'Rotation3D' to 'Hashable'
  8 |     /// The underlying vector of the quaternion.
  9 |     @inlinable public var vector: simd_double4 {
/host/spi-builder-workspace/Sources/SwiftSpatial/SIMDExtensions.swift:19:23: error: static property 'identity' is not concurrency-safe because non-'Sendable' type 'simd_quatd' may have shared mutable state
17 |
18 | extension simd_quatd: Codable {
19 |     public static let identity: simd_quatd = .init(real: 1, imag: .zero)
   |                       `- error: static property 'identity' is not concurrency-safe because non-'Sendable' type 'simd_quatd' may have shared mutable state
20 |
21 |     @inlinable public init(from decoder: any Decoder) throws {
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvQuaternions.swift:329:15: note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
327 | ///
328 | /// It's represented as a 4-element vector where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
329 | public struct simd_quatd : Equatable, CustomDebugStringConvertible {
    |               `- note: struct 'simd_quatd' does not conform to the 'Sendable' protocol
330 |
331 |     /// A 4-element vector representation of a quaternion where first three elements are a vector (imaginary) part, fourth element is a scalar (real) part.
/host/spi-builder-workspace/Sources/SwiftSpatial/SIMDExtensions.swift:1:8: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
 1 | public import simd
   |        `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'simd' as warnings
 2 |
 3 | extension simd_float4x4 {
   :
17 |
18 | extension simd_quatd: Codable {
19 |     public static let identity: simd_quatd = .init(real: 1, imag: .zero)
   |                       |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     @inlinable public init(from decoder: any Decoder) throws {
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:97:20: error: no exact matches in call to global function 'cos'
 95 |         let halfAngles = eulerAngles.angles / 2
 96 |
 97 |         let cosr = cos(halfAngles.x)
    |                    `- error: no exact matches in call to global function 'cos'
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:98:20: error: no exact matches in call to global function 'sin'
 96 |
 97 |         let cosr = cos(halfAngles.x)
 98 |         let sinr = sin(halfAngles.x)
    |                    `- error: no exact matches in call to global function 'sin'
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:99:20: error: no exact matches in call to global function 'cos'
 97 |         let cosr = cos(halfAngles.x)
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
    |                    `- error: no exact matches in call to global function 'cos'
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:100:20: error: no exact matches in call to global function 'sin'
 98 |         let sinr = sin(halfAngles.x)
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
    |                    `- error: no exact matches in call to global function 'sin'
101 |         let cosy = cos(halfAngles.z)
102 |         let siny = sin(halfAngles.z)
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:101:20: error: no exact matches in call to global function 'cos'
 99 |         let cosp = cos(halfAngles.y)
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
    |                    `- error: no exact matches in call to global function 'cos'
102 |         let siny = sin(halfAngles.z)
103 |
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:243:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
241 | ///     - angle: The source angle.
242 | /// - Returns: The cosine of the specified angle.
243 | @inlinable public func cos(_ angle: Angle2D) -> Double { angle.cos }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
244 | /// Returns the hyperbolic cosine of the specified angle.
245 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:629:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  627 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  628 | @inlinable
  629 | public func cos(_ x: simd_float2) -> simd_float2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  630 |
  631 | /// - Returns: Elementwise cosine of *x*.
  632 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  633 | @inlinable
  634 | public func cos(_ x: simd_float3) -> simd_float3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  635 |
  636 | /// - Returns: Elementwise cosine of *x*.
  637 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  638 | @inlinable
  639 | public func cos(_ x: simd_float4) -> simd_float4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  640 |
  641 | /// - Returns: Elementwise cosine of *x*.
  642 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  643 | @inlinable
  644 | public func cos(_ x: simd_float8) -> simd_float8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  645 |
  646 | /// - Returns: Elementwise cosine of *x*.
  647 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  648 | @inlinable
  649 | public func cos(_ x: simd_float16) -> simd_float16 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7]), cos(x[8]), cos(x[9]), cos(x[10]), cos(x[11]), cos(x[12]), cos(x[13]), cos(x[14]), cos(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  650 |
  651 | /// - Returns: Elementwise cosine of *x*.
  652 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  653 | @inlinable
  654 | public func cos(_ x: simd_double2) -> simd_double2 { .init(cos(x.x), cos(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  655 |
  656 | /// - Returns: Elementwise cosine of *x*.
  657 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  658 | @inlinable
  659 | public func cos(_ x: simd_double3) -> simd_double3 { .init(cos(x.x), cos(x.y), cos(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  660 |
  661 | /// - Returns: Elementwise cosine of *x*.
  662 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  663 | @inlinable
  664 | public func cos(_ x: simd_double4) -> simd_double4 { .init(cos(x.x), cos(x.y), cos(x.z), cos(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  665 |
  666 | /// - Returns: Elementwise cosine of *x*.
  667 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  668 | @inlinable
  669 | public func cos(_ x: simd_double8) -> simd_double8 { .init(cos(x[0]), cos(x[1]), cos(x[2]), cos(x[3]), cos(x[4]), cos(x[5]), cos(x[6]), cos(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  670 |
  671 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:102:20: error: no exact matches in call to global function 'sin'
100 |         let sinp = sin(halfAngles.y)
101 |         let cosy = cos(halfAngles.z)
102 |         let siny = sin(halfAngles.z)
    |                    `- error: no exact matches in call to global function 'sin'
103 |
104 |         let r = cosr * cosp * cosy + sinr * sinp * siny
/host/spi-builder-workspace/Sources/SwiftSpatial/2D/Angle2D.swift:253:24: note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
251 | ///     - angle: The source angle.
252 | /// - Returns: The sine of the specified angle.
253 | @inlinable public func sin(_ angle: Angle2D) -> Double { angle.sin }
    |                        `- note: candidate expects value of type 'Angle2D' for parameter #1 (got 'Double')
254 | /// Returns the hyperbolic sine of the specified angle.
255 | /// - Parameters:
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:10436:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10434 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10435 | @inlinable
10436 | public func sin(_ x: simd_float2) -> simd_float2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
10437 |
10438 | /// - Returns: Elementwise sine of *x*.
10439 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10440 | @inlinable
10441 | public func sin(_ x: simd_float3) -> simd_float3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
10442 |
10443 | /// - Returns: Elementwise sine of *x*.
10444 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10445 | @inlinable
10446 | public func sin(_ x: simd_float4) -> simd_float4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
10447 |
10448 | /// - Returns: Elementwise sine of *x*.
10449 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10450 | @inlinable
10451 | public func sin(_ x: simd_float8) -> simd_float8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
10452 |
10453 | /// - Returns: Elementwise sine of *x*.
10454 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10455 | @inlinable
10456 | public func sin(_ x: simd_float16) -> simd_float16 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7]), sin(x[8]), sin(x[9]), sin(x[10]), sin(x[11]), sin(x[12]), sin(x[13]), sin(x[14]), sin(x[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
10457 |
10458 | /// - Returns: Elementwise sine of *x*.
10459 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10460 | @inlinable
10461 | public func sin(_ x: simd_double2) -> simd_double2 { .init(sin(x.x), sin(x.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
10462 |
10463 | /// - Returns: Elementwise sine of *x*.
10464 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10465 | @inlinable
10466 | public func sin(_ x: simd_double3) -> simd_double3 { .init(sin(x.x), sin(x.y), sin(x.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
10467 |
10468 | /// - Returns: Elementwise sine of *x*.
10469 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10470 | @inlinable
10471 | public func sin(_ x: simd_double4) -> simd_double4 { .init(sin(x.x), sin(x.y), sin(x.z), sin(x.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
10472 |
10473 | /// - Returns: Elementwise sine of *x*.
10474 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
10475 | @inlinable
10476 | public func sin(_ x: simd_double8) -> simd_double8 { .init(sin(x[0]), sin(x[1]), sin(x[2]), sin(x[3]), sin(x[4]), sin(x[5]), sin(x[6]), sin(x[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
10477 |
10478 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:276:13: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
274 |         // Roll
275 |         let sinr_cosp = 2 * (r * i1 + i2 * i3)
276 |         let cosr_cosp = 1.0 - 2.0 * (pow(i1, 2) + pow(i2, 2))
    |             `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
277 |         let roll = atan2(sinr_cosp, cosr_cosp)
278 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:277:20: error: no exact matches in call to global function 'atan2'
275 |         let sinr_cosp = 2 * (r * i1 + i2 * i3)
276 |         let cosr_cosp = 1.0 - 2.0 * (pow(i1, 2) + pow(i2, 2))
277 |         let roll = atan2(sinr_cosp, cosr_cosp)
    |                    `- error: no exact matches in call to global function 'atan2'
278 |
279 |         // Pitch
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:311:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  309 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  310 | @inlinable
  311 | public func atan2(_ x: simd_float2, _ y: simd_float2) -> simd_float2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  312 |
  313 | /// - Returns: Elementwise inverse tangent of *x*.
  314 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  315 | @inlinable
  316 | public func atan2(_ x: simd_float3, _ y: simd_float3) -> simd_float3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  317 |
  318 | /// - Returns: Elementwise inverse tangent of *x*.
  319 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  320 | @inlinable
  321 | public func atan2(_ x: simd_float4, _ y: simd_float4) -> simd_float4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  322 |
  323 | /// - Returns: Elementwise inverse tangent of *x*.
  324 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  325 | @inlinable
  326 | public func atan2(_ x: simd_float8, _ y: simd_float8) -> simd_float8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  327 |
  328 | /// - Returns: Elementwise inverse tangent of *x*.
  329 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  330 | @inlinable
  331 | public func atan2(_ x: simd_float16, _ y: simd_float16) -> simd_float16 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7]), atan2(x[8], y[8]), atan2(x[9], y[9]), atan2(x[10], y[10]), atan2(x[11], y[11]), atan2(x[12], y[12]), atan2(x[13], y[13]), atan2(x[14], y[14]), atan2(x[15], y[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  332 |
  333 | /// - Returns: Elementwise inverse tangent of *x*.
  334 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  335 | @inlinable
  336 | public func atan2(_ x: simd_double2, _ y: simd_double2) -> simd_double2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  337 |
  338 | /// - Returns: Elementwise inverse tangent of *x*.
  339 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  340 | @inlinable
  341 | public func atan2(_ x: simd_double3, _ y: simd_double3) -> simd_double3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  342 |
  343 | /// - Returns: Elementwise inverse tangent of *x*.
  344 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  345 | @inlinable
  346 | public func atan2(_ x: simd_double4, _ y: simd_double4) -> simd_double4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  347 |
  348 | /// - Returns: Elementwise inverse tangent of *x*.
  349 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  350 | @inlinable
  351 | public func atan2(_ x: simd_double8, _ y: simd_double8) -> simd_double8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  352 |
  353 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:281:20: error: cannot find 'sqrt' in scope
279 |         // Pitch
280 |         let val = 2 * (r * i2 - i1 * i3)
281 |         let sinp = sqrt(1 + val)
    |                    `- error: cannot find 'sqrt' in scope
282 |         let cosp = sqrt(1 - val)
283 |         let pitch = 2 * atan2(sinp, cosp) - .pi / 2
/usr/lib/swift/clang/include/tgmath.h:520:9: note: macro 'sqrt' unavailable: function like macros not supported
 518 |
 519 | #undef sqrt
 520 | #define sqrt(__x) __tg_sqrt(__tg_promote1((__x))(__x))
     |         `- note: macro 'sqrt' unavailable: function like macros not supported
 521 |
 522 | // fabs
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:282:20: error: cannot find 'sqrt' in scope
280 |         let val = 2 * (r * i2 - i1 * i3)
281 |         let sinp = sqrt(1 + val)
282 |         let cosp = sqrt(1 - val)
    |                    `- error: cannot find 'sqrt' in scope
283 |         let pitch = 2 * atan2(sinp, cosp) - .pi / 2
284 |
/usr/lib/swift/clang/include/tgmath.h:520:9: note: macro 'sqrt' unavailable: function like macros not supported
 518 |
 519 | #undef sqrt
 520 | #define sqrt(__x) __tg_sqrt(__tg_promote1((__x))(__x))
     |         `- note: macro 'sqrt' unavailable: function like macros not supported
 521 |
 522 | // fabs
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:287:13: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
285 |         // Yaw
286 |         let siny_cosp = 2 * (r * i3 + i1 * i2)
287 |         let cosy_cosp = 1 - 2 * (pow(i2, 2) + pow(i3, 2))
    |             `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
288 |         let yaw = atan2(siny_cosp, cosy_cosp)
289 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/Rotation3D.swift:288:19: error: no exact matches in call to global function 'atan2'
286 |         let siny_cosp = 2 * (r * i3 + i1 * i2)
287 |         let cosy_cosp = 1 - 2 * (pow(i2, 2) + pow(i3, 2))
288 |         let yaw = atan2(siny_cosp, cosy_cosp)
    |                   `- error: no exact matches in call to global function 'atan2'
289 |
290 |         return .init(angles: .init(x: roll,
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:311:13: note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  309 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  310 | @inlinable
  311 | public func atan2(_ x: simd_float2, _ y: simd_float2) -> simd_float2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_float2' (aka 'SIMD2<Float>') for parameter #1 (got 'Double')
  312 |
  313 | /// - Returns: Elementwise inverse tangent of *x*.
  314 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  315 | @inlinable
  316 | public func atan2(_ x: simd_float3, _ y: simd_float3) -> simd_float3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_float3' (aka 'SIMD3<Float>') for parameter #1 (got 'Double')
  317 |
  318 | /// - Returns: Elementwise inverse tangent of *x*.
  319 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  320 | @inlinable
  321 | public func atan2(_ x: simd_float4, _ y: simd_float4) -> simd_float4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_float4' (aka 'SIMD4<Float>') for parameter #1 (got 'Double')
  322 |
  323 | /// - Returns: Elementwise inverse tangent of *x*.
  324 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  325 | @inlinable
  326 | public func atan2(_ x: simd_float8, _ y: simd_float8) -> simd_float8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_float8' (aka 'SIMD8<Float>') for parameter #1 (got 'Double')
  327 |
  328 | /// - Returns: Elementwise inverse tangent of *x*.
  329 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  330 | @inlinable
  331 | public func atan2(_ x: simd_float16, _ y: simd_float16) -> simd_float16 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7]), atan2(x[8], y[8]), atan2(x[9], y[9]), atan2(x[10], y[10]), atan2(x[11], y[11]), atan2(x[12], y[12]), atan2(x[13], y[13]), atan2(x[14], y[14]), atan2(x[15], y[15])) }
      |             `- note: candidate expects value of type 'simd_float16' (aka 'SIMD16<Float>') for parameter #1 (got 'Double')
  332 |
  333 | /// - Returns: Elementwise inverse tangent of *x*.
  334 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  335 | @inlinable
  336 | public func atan2(_ x: simd_double2, _ y: simd_double2) -> simd_double2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate expects value of type 'simd_double2' (aka 'SIMD2<Double>') for parameter #1 (got 'Double')
  337 |
  338 | /// - Returns: Elementwise inverse tangent of *x*.
  339 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  340 | @inlinable
  341 | public func atan2(_ x: simd_double3, _ y: simd_double3) -> simd_double3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate expects value of type 'simd_double3' (aka 'SIMD3<Double>') for parameter #1 (got 'Double')
  342 |
  343 | /// - Returns: Elementwise inverse tangent of *x*.
  344 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  345 | @inlinable
  346 | public func atan2(_ x: simd_double4, _ y: simd_double4) -> simd_double4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate expects value of type 'simd_double4' (aka 'SIMD4<Double>') for parameter #1 (got 'Double')
  347 |
  348 | /// - Returns: Elementwise inverse tangent of *x*.
  349 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  350 | @inlinable
  351 | public func atan2(_ x: simd_double8, _ y: simd_double8) -> simd_double8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate expects value of type 'simd_double8' (aka 'SIMD8<Double>') for parameter #1 (got 'Double')
  352 |
  353 |
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/SphericalCoordinates3D.swift:64:29: error: cannot find 'sqrt' in scope
 62 | //        let squared = vector * vector
 63 | //        let squaredLength = sqrt(squared.sum())
 64 |         let squaredLength = sqrt(pow(vector.x, 2) + pow(vector.y, 2) + pow(vector.z, 2))
    |                             `- error: cannot find 'sqrt' in scope
 65 |         self.init(radius: squaredLength,
 66 |                   inclination: .init(radians: acos(vector.y / squaredLength)),
/usr/lib/swift/clang/include/tgmath.h:520:9: note: macro 'sqrt' unavailable: function like macros not supported
 518 |
 519 | #undef sqrt
 520 | #define sqrt(__x) __tg_sqrt(__tg_promote1((__x))(__x))
     |         `- note: macro 'sqrt' unavailable: function like macros not supported
 521 |
 522 | // fabs
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/SphericalCoordinates3D.swift:64:13: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
 62 | //        let squared = vector * vector
 63 | //        let squaredLength = sqrt(squared.sum())
 64 |         let squaredLength = sqrt(pow(vector.x, 2) + pow(vector.y, 2) + pow(vector.z, 2))
    |             `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
 65 |         self.init(radius: squaredLength,
 66 |                   inclination: .init(radians: acos(vector.y / squaredLength)),
/host/spi-builder-workspace/Sources/SwiftSpatial/3D/SphericalCoordinates3D.swift:67:43: error: no exact matches in call to global function 'atan2'
 65 |         self.init(radius: squaredLength,
 66 |                   inclination: .init(radians: acos(vector.y / squaredLength)),
 67 |                   azimuth: .init(radians: atan2(vector.z, vector.x)))
    |                                           `- error: no exact matches in call to global function 'atan2'
 68 |     }
 69 |     /// Creates a new spherical coordinates structure with the specified radius, inclination, and azimuth.
/host/spi-builder-workspace/.build/checkouts/kvSIMD.swift/Sources/kvSIMD/KvFunctions.swift:311:13: note: candidate has partially matching parameter list (simd_float2, simd_float2)
  309 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  310 | @inlinable
  311 | public func atan2(_ x: simd_float2, _ y: simd_float2) -> simd_float2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate has partially matching parameter list (simd_float2, simd_float2)
  312 |
  313 | /// - Returns: Elementwise inverse tangent of *x*.
  314 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  315 | @inlinable
  316 | public func atan2(_ x: simd_float3, _ y: simd_float3) -> simd_float3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate has partially matching parameter list (simd_float3, simd_float3)
  317 |
  318 | /// - Returns: Elementwise inverse tangent of *x*.
  319 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  320 | @inlinable
  321 | public func atan2(_ x: simd_float4, _ y: simd_float4) -> simd_float4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate has partially matching parameter list (simd_float4, simd_float4)
  322 |
  323 | /// - Returns: Elementwise inverse tangent of *x*.
  324 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  325 | @inlinable
  326 | public func atan2(_ x: simd_float8, _ y: simd_float8) -> simd_float8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate has partially matching parameter list (simd_float8, simd_float8)
  327 |
  328 | /// - Returns: Elementwise inverse tangent of *x*.
  329 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  330 | @inlinable
  331 | public func atan2(_ x: simd_float16, _ y: simd_float16) -> simd_float16 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7]), atan2(x[8], y[8]), atan2(x[9], y[9]), atan2(x[10], y[10]), atan2(x[11], y[11]), atan2(x[12], y[12]), atan2(x[13], y[13]), atan2(x[14], y[14]), atan2(x[15], y[15])) }
      |             `- note: candidate has partially matching parameter list (simd_float16, simd_float16)
  332 |
  333 | /// - Returns: Elementwise inverse tangent of *x*.
  334 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  335 | @inlinable
  336 | public func atan2(_ x: simd_double2, _ y: simd_double2) -> simd_double2 { .init(atan2(x.x, y.x), atan2(x.y, y.y)) }
      |             `- note: candidate has partially matching parameter list (simd_double2, simd_double2)
  337 |
  338 | /// - Returns: Elementwise inverse tangent of *x*.
  339 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  340 | @inlinable
  341 | public func atan2(_ x: simd_double3, _ y: simd_double3) -> simd_double3 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z)) }
      |             `- note: candidate has partially matching parameter list (simd_double3, simd_double3)
  342 |
  343 | /// - Returns: Elementwise inverse tangent of *x*.
  344 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  345 | @inlinable
  346 | public func atan2(_ x: simd_double4, _ y: simd_double4) -> simd_double4 { .init(atan2(x.x, y.x), atan2(x.y, y.y), atan2(x.z, y.z), atan2(x.w, y.w)) }
      |             `- note: candidate has partially matching parameter list (simd_double4, simd_double4)
  347 |
  348 | /// - Returns: Elementwise inverse tangent of *x*.
  349 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, watchOS 8.0, *)
  350 | @inlinable
  351 | public func atan2(_ x: simd_double8, _ y: simd_double8) -> simd_double8 { .init(atan2(x[0], y[0]), atan2(x[1], y[1]), atan2(x[2], y[2]), atan2(x[3], y[3]), atan2(x[4], y[4]), atan2(x[5], y[5]), atan2(x[6], y[6]), atan2(x[7], y[7])) }
      |             `- note: candidate has partially matching parameter list (simd_double8, simd_double8)
  352 |
  353 |
BUILD FAILURE 6.0 linux