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.1 for Linux on 29 Apr 2025 23:29:06 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.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

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 |
[55/58] 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: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/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 |
[56/58] 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: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/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 |
[57/58] 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: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/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 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[58/58] 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: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/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 |
/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
   |                       |- note: add '@MainActor' to make static property 'identity' part of global actor 'MainActor'
   |                       `- 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/.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.
BUILD FAILURE 6.1 linux