Skip to content

Commit 22bfebe

Browse files
authored
Merge pull request #29138 from lorentey/accelerate-fix-availability-of-utils
2 parents 631b740 + 1a275a4 commit 22bfebe

File tree

1 file changed

+44
-44
lines changed

1 file changed

+44
-44
lines changed

test/stdlib/Accelerate.swift

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -529,51 +529,51 @@ if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) {
529529
expectTrue(elementsAlmostEqual(result, legacyResult))
530530
expectTrue(elementsAlmostEqual(result, returnedResult))
531531
}
532-
533-
//===----------------------------------------------------------------------===//
534-
//
535-
// Array almost equal.
536-
//
537-
//===----------------------------------------------------------------------===//
538-
539-
func elementsAlmostEqual<T: FloatingPoint>(_ lhs: [T], _ rhs: [T]) -> Bool {
540-
var returnValue = true
541-
zip(lhs, rhs).forEach {
542-
if !isAlmostEqual($0.0, $0.1) {
543-
returnValue = false
544-
return
545-
}
546-
}
547-
return returnValue
548-
}
549-
550-
func isAlmostEqual<T: FloatingPoint>(_ lhs: T,
551-
_ rhs: T,
552-
tolerance: T = T.ulpOfOne.squareRoot()) -> Bool {
553-
assert(tolerance >= .ulpOfOne && tolerance < 1, "tolerance should be in [.ulpOfOne, 1).")
554-
guard lhs.isFinite && rhs.isFinite else {
555-
return rescaledAlmostEqual(lhs, rhs, tolerance: tolerance)
556-
}
557-
let scale = max(abs(lhs), abs(rhs), .leastNormalMagnitude)
558-
return abs(lhs - rhs) < scale*tolerance
559-
}
560-
561-
func rescaledAlmostEqual<T: FloatingPoint>(_ lhs: T,
562-
_ rhs: T,
563-
tolerance: T) -> Bool {
564-
if lhs.isNaN || rhs.isNaN { return false }
565-
if lhs.isInfinite {
566-
if rhs.isInfinite { return lhs == rhs }
567-
let scaledLhs = T(sign: lhs.sign,
568-
exponent: T.greatestFiniteMagnitude.exponent,
569-
significand: 1)
570-
let scaledRhs = T(sign: .plus,
571-
exponent: -1,
572-
significand: rhs)
573-
return isAlmostEqual(scaledLhs, scaledRhs, tolerance: tolerance)
574-
}
575-
return rescaledAlmostEqual(rhs, lhs, tolerance: tolerance)
532+
}
533+
534+
//===----------------------------------------------------------------------===//
535+
//
536+
// Array almost equal.
537+
//
538+
//===----------------------------------------------------------------------===//
539+
540+
func elementsAlmostEqual<T: FloatingPoint>(_ lhs: [T], _ rhs: [T]) -> Bool {
541+
var returnValue = true
542+
zip(lhs, rhs).forEach {
543+
if !isAlmostEqual($0.0, $0.1) {
544+
returnValue = false
545+
return
576546
}
547+
}
548+
return returnValue
549+
}
550+
551+
func isAlmostEqual<T: FloatingPoint>(_ lhs: T,
552+
_ rhs: T,
553+
tolerance: T = T.ulpOfOne.squareRoot()) -> Bool {
554+
assert(tolerance >= .ulpOfOne && tolerance < 1, "tolerance should be in [.ulpOfOne, 1).")
555+
guard lhs.isFinite && rhs.isFinite else {
556+
return rescaledAlmostEqual(lhs, rhs, tolerance: tolerance)
557+
}
558+
let scale = max(abs(lhs), abs(rhs), .leastNormalMagnitude)
559+
return abs(lhs - rhs) < scale*tolerance
560+
}
561+
562+
func rescaledAlmostEqual<T: FloatingPoint>(_ lhs: T,
563+
_ rhs: T,
564+
tolerance: T) -> Bool {
565+
if lhs.isNaN || rhs.isNaN { return false }
566+
if lhs.isInfinite {
567+
if rhs.isInfinite { return lhs == rhs }
568+
let scaledLhs = T(sign: lhs.sign,
569+
exponent: T.greatestFiniteMagnitude.exponent,
570+
significand: 1)
571+
let scaledRhs = T(sign: .plus,
572+
exponent: -1,
573+
significand: rhs)
574+
return isAlmostEqual(scaledLhs, scaledRhs, tolerance: tolerance)
575+
}
576+
return rescaledAlmostEqual(rhs, lhs, tolerance: tolerance)
577577
}
578578

579579
runAllTests()

0 commit comments

Comments
 (0)