Skip to content

Commit e057686

Browse files
committed
Fix due to changes in PR swiftlang#24825.
1 parent 91fd99b commit e057686

File tree

2 files changed

+64
-68
lines changed

2 files changed

+64
-68
lines changed

stdlib/public/core/SIMDVector.swift

Lines changed: 60 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -784,9 +784,9 @@ extension SIMD where Scalar: FloatingPoint {
784784
// SWIFT_ENABLE_TENSORFLOW
785785
@differentiable(vjp: _vjpAdd(lhs:rhs:)
786786
where Self : Differentiable,
787-
Self.CotangentVector : SIMD,
787+
Self.TangentVector : SIMD,
788788
Scalar : BinaryFloatingPoint,
789-
Self.CotangentVector.Scalar: BinaryFloatingPoint)
789+
Self.TangentVector.Scalar: BinaryFloatingPoint)
790790
public static func +(lhs: Self, rhs: Self) -> Self {
791791
var result = Self()
792792
for i in result.indices { result[i] = lhs[i] + rhs[i] }
@@ -797,9 +797,9 @@ extension SIMD where Scalar: FloatingPoint {
797797
// SWIFT_ENABLE_TENSORFLOW
798798
@differentiable(vjp: _vjpAdd(lhs:rhs:)
799799
where Self: Differentiable,
800-
Self.CotangentVector: SIMD,
800+
Self.TangentVector: SIMD,
801801
Scalar : BinaryFloatingPoint,
802-
Self.CotangentVector.Scalar: BinaryFloatingPoint)
802+
Self.TangentVector.Scalar: BinaryFloatingPoint)
803803
public static func -(lhs: Self, rhs: Self) -> Self {
804804
var result = Self()
805805
for i in result.indices { result[i] = lhs[i] - rhs[i] }
@@ -810,9 +810,9 @@ extension SIMD where Scalar: FloatingPoint {
810810
// SWIFT_ENABLE_TENSORFLOW
811811
@differentiable(vjp: _vjpMultiply(lhs:rhs:)
812812
where Self: Differentiable,
813-
Self.CotangentVector: SIMD,
813+
Self.TangentVector: SIMD,
814814
Scalar : BinaryFloatingPoint,
815-
Self.CotangentVector == Self)
815+
Self.TangentVector == Self)
816816
public static func *(lhs: Self, rhs: Self) -> Self {
817817
var result = Self()
818818
for i in result.indices { result[i] = lhs[i] * rhs[i] }
@@ -864,10 +864,10 @@ extension SIMD where Scalar: FloatingPoint {
864864
// SWIFT_ENABLE_TENSORFLOW
865865
@differentiable(vjp: _vjpSum
866866
where Self : Differentiable,
867-
Self.CotangentVector : SIMD,
867+
Self.TangentVector : SIMD,
868868
Scalar : BinaryFloatingPoint & Differentiable,
869-
Scalar.CotangentVector : BinaryFloatingPoint,
870-
Self.CotangentVector == Self)
869+
Scalar.TangentVector : BinaryFloatingPoint,
870+
Self.TangentVector == Self)
871871
public func sum() -> Scalar {
872872
// Implementation note: this eventually be defined to lower to either
873873
// llvm.experimental.vector.reduce.fadd or an explicit tree-sum. Open-
@@ -1190,10 +1190,10 @@ extension SIMD where Scalar: FloatingPoint {
11901190
// SWIFT_ENABLE_TENSORFLOW
11911191
@differentiable(vjp: _vjpAdd(lhs:rhs:)
11921192
where Self: Differentiable,
1193-
Self.CotangentVector: SIMD,
1193+
Self.TangentVector: SIMD,
11941194
Scalar : Differentiable & BinaryFloatingPoint,
1195-
Scalar.CotangentVector: BinaryFloatingPoint,
1196-
Self.CotangentVector.Scalar == Scalar.CotangentVector)
1195+
Scalar.TangentVector: BinaryFloatingPoint,
1196+
Self.TangentVector.Scalar == Scalar.TangentVector)
11971197
public static func +(lhs: Scalar, rhs: Self) -> Self {
11981198
return Self(repeating: lhs) + rhs
11991199
}
@@ -1202,10 +1202,10 @@ extension SIMD where Scalar: FloatingPoint {
12021202
// SWIFT_ENABLE_TENSORFLOW
12031203
@differentiable(vjp: _vjpAdd(lhs:rhs:)
12041204
where Self: Differentiable,
1205-
Self.CotangentVector: SIMD,
1205+
Self.TangentVector: SIMD,
12061206
Scalar : Differentiable & BinaryFloatingPoint,
1207-
Scalar.CotangentVector: BinaryFloatingPoint,
1208-
Self.CotangentVector.Scalar == Scalar.CotangentVector)
1207+
Scalar.TangentVector: BinaryFloatingPoint,
1208+
Self.TangentVector.Scalar == Scalar.TangentVector)
12091209
public static func -(lhs: Scalar, rhs: Self) -> Self {
12101210
return Self(repeating: lhs) - rhs
12111211
}
@@ -1214,10 +1214,10 @@ extension SIMD where Scalar: FloatingPoint {
12141214
// SWIFT_ENABLE_TENSORFLOW
12151215
@differentiable(vjp: _vjpMultiply(lhs:rhs:)
12161216
where Self : Differentiable,
1217-
Self.CotangentVector : SIMD,
1217+
Self.TangentVector : SIMD,
12181218
Scalar : BinaryFloatingPoint & Differentiable,
1219-
Self.CotangentVector == Self,
1220-
Scalar.CotangentVector == Scalar)
1219+
Self.TangentVector == Self,
1220+
Scalar.TangentVector == Scalar)
12211221
public static func *(lhs: Scalar, rhs: Self) -> Self {
12221222
return Self(repeating: lhs) * rhs
12231223
}
@@ -1226,10 +1226,10 @@ extension SIMD where Scalar: FloatingPoint {
12261226
// SWIFT_ENABLE_TENSORFLOW
12271227
@differentiable(vjp: _vjpDivide(lhs:rhs:)
12281228
where Self : Differentiable,
1229-
Self.CotangentVector : SIMD,
1229+
Self.TangentVector : SIMD,
12301230
Scalar : BinaryFloatingPoint & Differentiable,
1231-
Self.CotangentVector == Self,
1232-
Scalar.CotangentVector == Scalar)
1231+
Self.TangentVector == Self,
1232+
Scalar.TangentVector == Scalar)
12331233
public static func /(lhs: Scalar, rhs: Self) -> Self {
12341234
return Self(repeating: lhs) / rhs
12351235
}
@@ -1238,10 +1238,10 @@ extension SIMD where Scalar: FloatingPoint {
12381238
// SWIFT_ENABLE_TENSORFLOW
12391239
@differentiable(vjp: _vjpAdd(lhs:rhs:)
12401240
where Self: Differentiable,
1241-
Self.CotangentVector: SIMD,
1241+
Self.TangentVector: SIMD,
12421242
Scalar : Differentiable & BinaryFloatingPoint,
1243-
Scalar.CotangentVector: BinaryFloatingPoint,
1244-
Self.CotangentVector.Scalar == Scalar.CotangentVector)
1243+
Scalar.TangentVector: BinaryFloatingPoint,
1244+
Self.TangentVector.Scalar == Scalar.TangentVector)
12451245
public static func +(lhs: Self, rhs: Scalar) -> Self {
12461246
return lhs + Self(repeating: rhs)
12471247
}
@@ -1250,10 +1250,10 @@ extension SIMD where Scalar: FloatingPoint {
12501250
// SWIFT_ENABLE_TENSORFLOW
12511251
@differentiable(vjp: _vjpAdd(lhs:rhs:)
12521252
where Self: Differentiable,
1253-
Self.CotangentVector: SIMD,
1253+
Self.TangentVector: SIMD,
12541254
Scalar : Differentiable & BinaryFloatingPoint,
1255-
Scalar.CotangentVector: BinaryFloatingPoint,
1256-
Self.CotangentVector.Scalar == Scalar.CotangentVector)
1255+
Scalar.TangentVector: BinaryFloatingPoint,
1256+
Self.TangentVector.Scalar == Scalar.TangentVector)
12571257
public static func -(lhs: Self, rhs: Scalar) -> Self {
12581258
return lhs - Self(repeating: rhs)
12591259
}
@@ -1262,10 +1262,10 @@ extension SIMD where Scalar: FloatingPoint {
12621262
// SWIFT_ENABLE_TENSORFLOW
12631263
@differentiable(vjp: _vjpMultiply(lhs:rhs:)
12641264
where Self : Differentiable,
1265-
Self.CotangentVector : SIMD,
1265+
Self.TangentVector : SIMD,
12661266
Scalar : BinaryFloatingPoint & Differentiable,
1267-
Self.CotangentVector == Self,
1268-
Scalar.CotangentVector == Scalar)
1267+
Self.TangentVector == Self,
1268+
Scalar.TangentVector == Scalar)
12691269
public static func *(lhs: Self, rhs: Scalar) -> Self {
12701270
return lhs * Self(repeating: rhs)
12711271
}
@@ -1274,10 +1274,10 @@ extension SIMD where Scalar: FloatingPoint {
12741274
// SWIFT_ENABLE_TENSORFLOW
12751275
@differentiable(vjp: _vjpDivide(lhs:rhs:)
12761276
where Self : Differentiable,
1277-
Self.CotangentVector : SIMD,
1277+
Self.TangentVector : SIMD,
12781278
Scalar : BinaryFloatingPoint & Differentiable,
1279-
Self.CotangentVector == Self,
1280-
Scalar.CotangentVector == Scalar)
1279+
Self.TangentVector == Self,
1280+
Scalar.TangentVector == Scalar)
12811281
public static func /(lhs: Self, rhs: Scalar) -> Self {
12821282
return lhs / Self(repeating: rhs)
12831283
}
@@ -1476,16 +1476,13 @@ where T: SIMD, T.Scalar: FloatingPoint {
14761476

14771477
extension SIMD
14781478
where Self: Differentiable,
1479-
CotangentVector: SIMD,
1479+
TangentVector: SIMD,
14801480
Scalar : BinaryFloatingPoint,
1481-
/* Required in order to use unary negation operator due to following error:
1482-
>Self.CotangentVector.Scalar' does not conform to protocol 'FloatingPoint'
1483-
*/
1484-
CotangentVector.Scalar: BinaryFloatingPoint {
1481+
TangentVector.Scalar: BinaryFloatingPoint {
14851482
@inlinable
14861483
static func _vjpAdd(
14871484
lhs: Self, rhs: Self
1488-
) -> (Self, (CotangentVector) -> (CotangentVector, CotangentVector)) {
1485+
) -> (Self, (TangentVector) -> (TangentVector, TangentVector)) {
14891486
return (lhs + rhs, { v in
14901487
return (v, v)
14911488
})
@@ -1494,22 +1491,22 @@ extension SIMD
14941491
@inlinable
14951492
static func _vjpSubtract(
14961493
lhs: Self, rhs: Self
1497-
) -> (Self, (CotangentVector) -> (CotangentVector, CotangentVector)) {
1498-
return (lhs - rhs, { (v: CotangentVector) in
1494+
) -> (Self, (TangentVector) -> (TangentVector, TangentVector)) {
1495+
return (lhs - rhs, { (v: TangentVector) in
14991496
return (v, -v)
15001497
})
15011498
}
15021499
}
15031500

15041501
extension SIMD
15051502
where Self: Differentiable,
1506-
CotangentVector: SIMD,
1503+
TangentVector: SIMD,
15071504
Scalar : BinaryFloatingPoint,
1508-
Self.CotangentVector == Self {
1505+
Self.TangentVector == Self {
15091506
@inlinable
15101507
static func _vjpMultiply(
15111508
lhs: Self, rhs: Self
1512-
) -> (Self, (CotangentVector) -> (CotangentVector, CotangentVector)) {
1509+
) -> (Self, (TangentVector) -> (TangentVector, TangentVector)) {
15131510
return (lhs * rhs, { v in
15141511
return (v * rhs, v * lhs)
15151512
})
@@ -1518,7 +1515,7 @@ extension SIMD
15181515
@inlinable
15191516
static func _vjpDivide(
15201517
lhs: Self, rhs: Self
1521-
) -> (Self, (CotangentVector) -> (CotangentVector, CotangentVector)) {
1518+
) -> (Self, (TangentVector) -> (TangentVector, TangentVector)) {
15221519
return (lhs / rhs, { v in
15231520
(v / rhs, -lhs / (rhs * rhs) * v)
15241521
})
@@ -1527,14 +1524,14 @@ extension SIMD
15271524

15281525
extension SIMD
15291526
where Self : Differentiable,
1530-
CotangentVector : SIMD,
1527+
TangentVector : SIMD,
15311528
Scalar : BinaryFloatingPoint & Differentiable,
1532-
Scalar.CotangentVector: BinaryFloatingPoint,
1533-
CotangentVector.Scalar == Scalar.CotangentVector {
1529+
Scalar.TangentVector: BinaryFloatingPoint,
1530+
TangentVector.Scalar == Scalar.TangentVector {
15341531
@inlinable
15351532
static func _vjpAdd(
15361533
lhs: Scalar, rhs: Self
1537-
) -> (Self, (CotangentVector) -> (Scalar.CotangentVector, CotangentVector)) {
1534+
) -> (Self, (TangentVector) -> (Scalar.TangentVector, TangentVector)) {
15381535
return (lhs + rhs, { v in
15391536
return (v.sum(), v)
15401537
})
@@ -1543,7 +1540,7 @@ extension SIMD
15431540
@inlinable
15441541
static func _vjpSubtract(
15451542
lhs: Scalar, rhs: Self
1546-
) -> (Self, (CotangentVector) -> (Scalar.CotangentVector, CotangentVector)) {
1543+
) -> (Self, (TangentVector) -> (Scalar.TangentVector, TangentVector)) {
15471544
return (lhs + rhs, { v in
15481545
return (v.sum(), -v)
15491546
})
@@ -1552,7 +1549,7 @@ extension SIMD
15521549
@inlinable
15531550
static func _vjpAdd(
15541551
lhs: Self, rhs: Scalar
1555-
) -> (Self, (CotangentVector) -> (CotangentVector, Scalar.CotangentVector)) {
1552+
) -> (Self, (TangentVector) -> (TangentVector, Scalar.TangentVector)) {
15561553
return (lhs + rhs, { v in
15571554
return (v, v.sum())
15581555
})
@@ -1561,7 +1558,7 @@ extension SIMD
15611558
@inlinable
15621559
static func _vjpSubtract(
15631560
lhs: Self, rhs: Scalar
1564-
) -> (Self, (CotangentVector) -> (CotangentVector, Scalar.CotangentVector)) {
1561+
) -> (Self, (TangentVector) -> (TangentVector, Scalar.TangentVector)) {
15651562
return (lhs + rhs, { v in
15661563
return (v, -v.sum())
15671564
})
@@ -1570,14 +1567,14 @@ extension SIMD
15701567

15711568
extension SIMD
15721569
where Self : Differentiable,
1573-
CotangentVector : SIMD,
1570+
TangentVector : SIMD,
15741571
Scalar : BinaryFloatingPoint & Differentiable,
1575-
Self.CotangentVector == Self,
1576-
Scalar.CotangentVector == Scalar {
1572+
Self.TangentVector == Self,
1573+
Scalar.TangentVector == Scalar {
15771574
@inlinable
15781575
static func _vjpMultiply(
15791576
lhs: Self, rhs: Scalar
1580-
) -> (Self, (CotangentVector) -> (CotangentVector, Scalar.CotangentVector)) {
1577+
) -> (Self, (TangentVector) -> (TangentVector, Scalar.TangentVector)) {
15811578
return (lhs * rhs, { v in
15821579
return (v * rhs, (v * lhs).sum())
15831580
})
@@ -1586,7 +1583,7 @@ extension SIMD
15861583
@inlinable
15871584
static func _vjpDivide(
15881585
lhs: Self, rhs: Scalar
1589-
) -> (Self, (CotangentVector) -> (CotangentVector, Scalar.CotangentVector)) {
1586+
) -> (Self, (TangentVector) -> (TangentVector, Scalar.TangentVector)) {
15901587
return (lhs / rhs, { v in
15911588
(-lhs / (rhs * rhs) * v, (v / rhs).sum())
15921589
})
@@ -1595,7 +1592,7 @@ extension SIMD
15951592
@inlinable
15961593
static func _vjpMultiply(
15971594
lhs: Scalar, rhs: Self
1598-
) -> (Self, (CotangentVector) -> (Scalar.CotangentVector, CotangentVector)) {
1595+
) -> (Self, (TangentVector) -> (Scalar.TangentVector, TangentVector)) {
15991596
return (lhs * rhs, { v in
16001597
return ((v * lhs).sum(), v * rhs)
16011598
})
@@ -1604,7 +1601,7 @@ extension SIMD
16041601
@inlinable
16051602
static func _vjpDivide(
16061603
lhs: Scalar, rhs: Self
1607-
) -> (Self, (CotangentVector) -> (Scalar.CotangentVector, CotangentVector)) {
1604+
) -> (Self, (TangentVector) -> (Scalar.TangentVector, TangentVector)) {
16081605
return (lhs / rhs, { v in
16091606
((v / rhs).sum(), -lhs / (rhs * rhs) * v)
16101607
})
@@ -1613,12 +1610,12 @@ extension SIMD
16131610

16141611
extension SIMD
16151612
where Self : Differentiable,
1616-
CotangentVector : SIMD,
1613+
TangentVector : SIMD,
16171614
Scalar : BinaryFloatingPoint & Differentiable,
1618-
Scalar.CotangentVector : BinaryFloatingPoint,
1619-
CotangentVector == Self {
1615+
Scalar.TangentVector : BinaryFloatingPoint,
1616+
TangentVector == Self {
16201617
@usableFromInline
1621-
func _vjpSum() -> (Scalar, (Scalar.CotangentVector) -> CotangentVector) {
1618+
func _vjpSum() -> (Scalar, (Scalar.TangentVector) -> TangentVector) {
16221619
return (sum(), { v in Self(repeating: Scalar(v)) })
16231620
}
16241621
}

stdlib/public/core/SIMDVectorTypes.swift.gyb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public struct SIMD${n}<Scalar>: SIMD where Scalar: SIMDScalar {
4646

4747
@differentiable(vjp: _vjpSubscript
4848
where Scalar : Differentiable & BinaryFloatingPoint,
49-
Scalar.CotangentVector : BinaryFloatingPoint)
49+
Scalar.TangentVector : BinaryFloatingPoint)
5050
public subscript(index: Int) -> Scalar {
5151
@_transparent get {
5252
_precondition(indices.contains(index))
@@ -193,18 +193,17 @@ extension SIMD${n} : VectorNumeric where Scalar : FloatingPoint {}
193193

194194
extension SIMD${n} : Differentiable where Scalar : Differentiable & BinaryFloatingPoint {
195195
public typealias TangentVector = SIMD${n}
196-
public typealias CotangentVector = SIMD${n}
197196
public typealias AllDifferentiableVariables = SIMD${n}
198-
public func tangentVector(from cotangent: CotangentVector) -> TangentVector {
197+
public func tangentVector(from cotangent: TangentVector) -> TangentVector {
199198
return cotangent
200199
}
201200
}
202201

203202
extension SIMD${n}
204203
where Scalar : Differentiable & BinaryFloatingPoint,
205-
Scalar.CotangentVector : BinaryFloatingPoint {
204+
Scalar.TangentVector : BinaryFloatingPoint {
206205
public func _vjpSubscript(index: Int)
207-
-> (Scalar, (Scalar.CotangentVector) -> CotangentVector) {
206+
-> (Scalar, (Scalar.TangentVector) -> TangentVector) {
208207
return (self[index], { v in
209208
var zeros = Self.zero
210209
zeros[index] = Scalar(v)

0 commit comments

Comments
 (0)