The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Swim, reference 3.8.1 (2175fd), with Swift 6.1 for Android on 29 May 2025 01:38:48 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1

Build Log

36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[58/99] Compiling Swim vImageAlphaBlend.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[59/99] Compiling Swim vImageBuffer.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[60/99] Compiling Swim vImageMorphology.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[61/99] Compiling Swim vImageUtils.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[62/99] Compiling Swim Extrema.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[63/99] Compiling Swim ChannelSubscript.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[64/99] Compiling Swim PixelSubscript.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[65/99] Compiling Swim Bayer.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[66/99] Compiling Swim FourierTransformer.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[67/99] Compiling Swim Histograms.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[68/99] Compiling Swim Im2col.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[69/99] Compiling Swim ImageCompare.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[70/99] Compiling Swim IntegralImage.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[71/99] Compiling Swim Skeletonizer.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[72/99] Compiling Swim ColorAndColor.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[73/99] Compiling Swim ColorAndScalar.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[74/99] Compiling Swim ColorUnary.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[75/99] Compiling Swim ImageAndColor.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[76/99] Compiling Swim ImageAndImage.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[77/99] Emitting module Swim
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/Sources/CStbImage/include/CStbImage.h"
  |          `- note: in file included from <module-includes>:1:
2 |
/host/spi-builder-workspace/Sources/CStbImage/include/CStbImage.h:36:1: warning: umbrella header for module 'CStbImage' does not include header 'stb_image_write.h'
34 |
35 | #endif
36 |
   | `- warning: umbrella header for module 'CStbImage' does not include header 'stb_image_write.h'
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/Sources/CStbImage/include/CStbImage.h"
  |          `- note: in file included from <module-includes>:1:
2 |
/host/spi-builder-workspace/Sources/CStbImage/include/CStbImage.h:36:1: warning: umbrella header for module 'CStbImage' does not include header 'stb_image.h'
34 |
35 | #endif
36 |
   | `- warning: umbrella header for module 'CStbImage' does not include header 'stb_image.h'
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[78/99] Compiling Swim SubimageSubscript.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[79/99] Compiling Swim Concatenation.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[80/99] Compiling Swim EdgeMode.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[81/99] Compiling Swim Flip.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[82/99] Compiling Swim AffineTransformation.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[83/99] Compiling Swim HomogeneousTransformationMatrix.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[84/99] Compiling Swim ProjectiveTransformation.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[85/99] Compiling Swim Padding.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[86/99] Compiling Swim Repeat.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[87/99] Compiling Swim Resize.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[88/99] Compiling Swim Rotate.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[89/99] Compiling Swim Shift.swift
[90/99] Compiling Swim Transpose.swift
[91/99] Compiling Swim Warp.swift
[92/99] Compiling Swim Clamp.swift
[93/99] Compiling Swim Complex.swift
[94/99] Compiling Swim ConvertUInt8FP.swift
[95/99] Compiling Swim Copy.swift
[96/99] Compiling Swim Interleave.swift
[97/99] Compiling Swim IsPOT.swift
[98/99] Compiling Swim Matrix.swift
[99/99] Compiling Swim Rect.swift
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/85] Compiling Swim SubimageSubscript.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[3/85] Compiling Swim Concatenation.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[4/85] Compiling Swim EdgeMode.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[5/85] Compiling Swim Flip.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[6/85] Compiling Swim AffineTransformation.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[7/85] Compiling Swim HomogeneousTransformationMatrix.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[8/85] Compiling Swim ProjectiveTransformation.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[9/85] Compiling Swim Padding.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[10/85] Compiling Swim Repeat.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[11/85] Compiling Swim Resize.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[12/85] Compiling Swim Rotate.swift
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
[13/85] Compiling Swim Rounding.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[14/85] Compiling Swim AppKit.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[15/85] Compiling Swim CoreGraphics.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[16/85] Compiling Swim S4TF.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[17/85] Compiling Swim UIKit.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[18/85] Compiling Swim vImageAlphaBlend.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[19/85] Compiling Swim vImageBuffer.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[20/85] Compiling Swim vImageMorphology.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[21/85] Compiling Swim vImageUtils.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[22/85] Compiling Swim Extrema.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[23/85] Compiling Swim ChannelSubscript.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[24/85] Compiling Swim PixelSubscript.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
[25/96] Compiling Swim Bayer.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[26/96] Compiling Swim FourierTransformer.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[27/96] Compiling Swim Histograms.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[28/96] Compiling Swim Im2col.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[29/96] Compiling Swim ImageCompare.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[30/96] Compiling Swim IntegralImage.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[31/96] Compiling Swim Skeletonizer.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[32/96] Compiling Swim ColorAndColor.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[33/96] Compiling Swim ColorAndScalar.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[34/96] Compiling Swim ColorUnary.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[35/96] Compiling Swim ImageAndColor.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[36/96] Compiling Swim ImageAndImage.swift
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
[37/96] Compiling Swim PixelTypeConversion.swift
[38/96] Compiling Swim PixelwiseConversion.swift
[39/96] Compiling Swim Color.swift
[40/96] Compiling Swim ColorPreset.swift
[41/96] Compiling Swim ColorProtocol.swift
[42/96] Compiling Swim DataType.swift
[43/96] Compiling Swim Image.swift
[44/96] Compiling Swim ImageInitializers.swift
[45/96] Compiling Swim LikeInitializer.swift
[46/96] Compiling Swim UninitializedCreation.swift
[47/96] Compiling Swim Pixel.swift
[48/96] Compiling Swim PixelIterator.swift
[49/96] Compiling Swim ImageAndScalar.swift
[50/96] Compiling Swim ImageUnary.swift
[51/96] Compiling Swim PixelRefAndColor.swift
[52/96] Compiling Swim PixelRefAndScalar.swift
[53/96] Compiling Swim Blender.swift
[54/96] Compiling Swim BitOperations.swift
[55/96] Compiling Swim CheckBool.swift
[56/96] Compiling Swim ChannelComposition.swift
[57/96] Compiling Swim ChannelwiseConversion.swift
[58/96] Compiling Swim CreateMask.swift
[59/96] Compiling Swim DataConversion.swift
[60/96] Compiling Swim DataTypeConversion.swift
[61/96] Compiling Swim UnsafePixelRef.swift
[62/96] Compiling Swim PixelType.swift
[63/96] Compiling Swim DrawCircle.swift
[64/96] Compiling Swim DrawImage.swift
[65/96] Compiling Swim DrawLine.swift
[66/96] Compiling Swim DrawPixel.swift
[67/96] Compiling Swim DrawPolygon.swift
[68/96] Compiling Swim DrawRect.swift
[69/96] Compiling Swim DrawText.swift
[70/96] Compiling Swim BilateralFilter.swift
[71/96] Compiling Swim Convolution.swift
[72/96] Compiling Swim NonLocalMeanFilter.swift
[73/96] Compiling Swim RankFilter.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[74/96] Compiling Swim ReadImage.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[75/96] Compiling Swim WriteImage.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[76/96] Compiling Swim BicubicInterpolator.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[77/96] Compiling Swim BilinearInterpolator.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[78/96] Compiling Swim Interpolator.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[79/96] Compiling Swim Interpolator4x4.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[80/96] Compiling Swim LanczosInterpolator.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[81/96] Compiling Swim NearestNeighborInterpolator.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[82/96] Compiling Swim Abs.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[83/96] Compiling Swim Clip.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[84/96] Compiling Swim Power.swift
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
[85/96] Compiling Swim Shift.swift
[86/96] Compiling Swim Transpose.swift
[87/96] Compiling Swim Warp.swift
[88/96] Compiling Swim Clamp.swift
[89/96] Compiling Swim Complex.swift
[90/96] Compiling Swim ConvertUInt8FP.swift
[91/96] Compiling Swim Copy.swift
[92/96] Compiling Swim Interleave.swift
[93/96] Compiling Swim IsPOT.swift
[94/96] Compiling Swim Matrix.swift
[95/96] Compiling Swim Rect.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[96/96] Emitting module Swim
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:45: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                             |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                             `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:83:36: error: cannot convert value of type 'T' to expected argument type 'Double'
 81 |         }
 82 |
 83 |         let numerator = sqrt(sum2a * sum2b) + epsilon
    |                                    `- error: cannot convert value of type 'T' to expected argument type 'Double'
 84 |
 85 |         return sumCross / numerator
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:59: error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                                           |- error: binary operator '+' cannot be applied to operands of type 'Double' and 'T'
    |                                                           `- note: overloads for '+' exist with these partially matching parameter lists: (Double, Double)
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Advance/ImageCompare.swift:131:44: error: cannot convert value of type 'T' to expected argument type 'Double'
129 |         let denominatorB: T = c*sum2b - sumb2
130 |
131 |         let denominator = sqrt(denominatorA*denominatorB) + epsilon
    |                                            `- error: cannot convert value of type 'T' to expected argument type 'Double'
132 |
133 |         return clamp(numerator / denominator, min: -1, max: 1)
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no exact matches in call to global function 'pow'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  |- error: no exact matches in call to global function 'pow'
   |                                  |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                                  `- note: candidate has partially matching parameter list (Decimal, Int)
12 |         }
13 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:11:34: error: no 'pow' candidates produce the expected contextual result type 'Float'
 9 |     public mutating func applyPow(_ exponent: T){
10 |         for i in 0..<data.count {
11 |             data[i] = Foundation.pow(data[i], exponent)
   |                                  `- error: no 'pow' candidates produce the expected contextual result type 'Float'
12 |         }
13 |     }
Foundation.pow:1:13: note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func pow(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'pow' produces 'CGFloat', not the expected contextual result type 'Float'
Foundation.pow:1:13: note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
1 | public func pow(_ x: Decimal, _ y: Int) -> Decimal
  |             `- note: 'pow' produces 'Decimal', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: 'pow' produces 'Double', not the expected contextual result type 'Float'
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: 'pow' produces 'Double', not the expected contextual result type 'Float'
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Power.swift:18:24: error: no exact matches in call to global function 'pow'
16 |     public func pow(_ exponent: T) -> Image<P, T> {
17 |         return dataConverted {
18 |             Foundation.pow($0, exponent)
   |                        |- error: no exact matches in call to global function 'pow'
   |                        |- note: candidate has partially matching parameter list (CGFloat, CGFloat)
   |                        `- note: candidate has partially matching parameter list (Decimal, Int)
19 |         }
20 |     }
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/math.h:196:8: note: candidate has partially matching parameter list (Double, Double)
194 | long double hypotl(long double __x, long double __y);
195 |
196 | double pow(double __x, double __y);
    |        `- note: candidate has partially matching parameter list (Double, Double)
197 | float powf(float __x, float __y);
198 | long double powl(long double __x, long double __y);
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:22: error: cannot convert value of type 'T' to expected argument type 'Double'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:14:16: error: cannot convert return expression of type 'Double' to return type 'T'
12 |         return round(x) as! T
13 |     } else {
14 |         return round(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
15 |     }
16 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:22: error: cannot convert value of type 'T' to expected argument type 'Double'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:25:16: error: cannot convert return expression of type 'Double' to return type 'T'
23 |         return floor(x) as! T
24 |     } else {
25 |         return floor(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
26 |     }
27 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:21: error: cannot convert value of type 'T' to expected argument type 'Double'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                     `- error: cannot convert value of type 'T' to expected argument type 'Double'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:36:16: error: cannot convert return expression of type 'Double' to return type 'T'
34 |         return ceil(x) as! T
35 |     } else {
36 |         return ceil(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:22: error: cannot convert value of type 'T' to expected argument type 'Double'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Manipulation/Rounding.swift:47:16: error: cannot convert return expression of type 'Double' to return type 'T'
45 |         return trunc(x) as! T
46 |     } else {
47 |         return trunc(x)
   |                `- error: cannot convert return expression of type 'Double' to return type 'T'
48 |     }
49 | }
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:44:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 42 |                     let endX: T = T((x+1) * self.width) / T(width)
 43 |
 44 |                     let ceilStartX = Foundation.ceil(startX)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 45 |                     let floorEndX = Foundation.floor(endX)
 46 |
/host/spi-builder-workspace/Sources/Swim/Transformation/Resize.swift:91:54: error: cannot convert value of type 'T' to expected argument type 'Double'
 89 |                     let endY: T = T((y+1) * self.height) / T(height)
 90 |
 91 |                     let ceilStartY = Foundation.ceil(startY)
    |                                                      `- error: cannot convert value of type 'T' to expected argument type 'Double'
 92 |                     let floorEndY = Foundation.floor(endY)
 93 |
BUILD FAILURE 6.1 android