@@ -784,9 +784,9 @@ extension SIMD where Scalar: FloatingPoint {
784
784
// SWIFT_ENABLE_TENSORFLOW
785
785
@differentiable ( vjp: _vjpAdd ( lhs: rhs: )
786
786
where Self : Differentiable,
787
- Self . CotangentVector : SIMD,
787
+ Self . TangentVector : SIMD,
788
788
Scalar : BinaryFloatingPoint,
789
- Self . CotangentVector . Scalar: BinaryFloatingPoint)
789
+ Self . TangentVector . Scalar: BinaryFloatingPoint)
790
790
public static func + ( lhs: Self , rhs: Self ) -> Self {
791
791
var result = Self ( )
792
792
for i in result. indices { result [ i] = lhs [ i] + rhs[ i] }
@@ -797,9 +797,9 @@ extension SIMD where Scalar: FloatingPoint {
797
797
// SWIFT_ENABLE_TENSORFLOW
798
798
@differentiable ( vjp: _vjpAdd ( lhs: rhs: )
799
799
where Self: Differentiable,
800
- Self . CotangentVector : SIMD,
800
+ Self . TangentVector : SIMD,
801
801
Scalar : BinaryFloatingPoint,
802
- Self . CotangentVector . Scalar: BinaryFloatingPoint)
802
+ Self . TangentVector . Scalar: BinaryFloatingPoint)
803
803
public static func - ( lhs: Self , rhs: Self ) -> Self {
804
804
var result = Self ( )
805
805
for i in result. indices { result [ i] = lhs [ i] - rhs[ i] }
@@ -810,9 +810,9 @@ extension SIMD where Scalar: FloatingPoint {
810
810
// SWIFT_ENABLE_TENSORFLOW
811
811
@differentiable ( vjp: _vjpMultiply ( lhs: rhs: )
812
812
where Self: Differentiable,
813
- Self . CotangentVector : SIMD,
813
+ Self . TangentVector : SIMD,
814
814
Scalar : BinaryFloatingPoint,
815
- Self . CotangentVector == Self)
815
+ Self . TangentVector == Self)
816
816
public static func * ( lhs: Self , rhs: Self ) -> Self {
817
817
var result = Self ( )
818
818
for i in result. indices { result [ i] = lhs [ i] * rhs[ i] }
@@ -864,10 +864,10 @@ extension SIMD where Scalar: FloatingPoint {
864
864
// SWIFT_ENABLE_TENSORFLOW
865
865
@differentiable ( vjp: _vjpSum
866
866
where Self : Differentiable,
867
- Self . CotangentVector : SIMD,
867
+ Self . TangentVector : SIMD,
868
868
Scalar : BinaryFloatingPoint & Differentiable,
869
- Scalar . CotangentVector : BinaryFloatingPoint,
870
- Self . CotangentVector == Self)
869
+ Scalar . TangentVector : BinaryFloatingPoint,
870
+ Self . TangentVector == Self)
871
871
public func sum( ) -> Scalar {
872
872
// Implementation note: this eventually be defined to lower to either
873
873
// llvm.experimental.vector.reduce.fadd or an explicit tree-sum. Open-
@@ -1190,10 +1190,10 @@ extension SIMD where Scalar: FloatingPoint {
1190
1190
// SWIFT_ENABLE_TENSORFLOW
1191
1191
@differentiable ( vjp: _vjpAdd ( lhs: rhs: )
1192
1192
where Self: Differentiable,
1193
- Self . CotangentVector : SIMD,
1193
+ Self . TangentVector : SIMD,
1194
1194
Scalar : Differentiable & BinaryFloatingPoint,
1195
- Scalar . CotangentVector : BinaryFloatingPoint,
1196
- Self . CotangentVector . Scalar == Scalar . CotangentVector )
1195
+ Scalar . TangentVector : BinaryFloatingPoint,
1196
+ Self . TangentVector . Scalar == Scalar . TangentVector )
1197
1197
public static func + ( lhs: Scalar , rhs: Self ) -> Self {
1198
1198
return Self ( repeating: lhs) + rhs
1199
1199
}
@@ -1202,10 +1202,10 @@ extension SIMD where Scalar: FloatingPoint {
1202
1202
// SWIFT_ENABLE_TENSORFLOW
1203
1203
@differentiable ( vjp: _vjpAdd ( lhs: rhs: )
1204
1204
where Self: Differentiable,
1205
- Self . CotangentVector : SIMD,
1205
+ Self . TangentVector : SIMD,
1206
1206
Scalar : Differentiable & BinaryFloatingPoint,
1207
- Scalar . CotangentVector : BinaryFloatingPoint,
1208
- Self . CotangentVector . Scalar == Scalar . CotangentVector )
1207
+ Scalar . TangentVector : BinaryFloatingPoint,
1208
+ Self . TangentVector . Scalar == Scalar . TangentVector )
1209
1209
public static func - ( lhs: Scalar , rhs: Self ) -> Self {
1210
1210
return Self ( repeating: lhs) - rhs
1211
1211
}
@@ -1214,10 +1214,10 @@ extension SIMD where Scalar: FloatingPoint {
1214
1214
// SWIFT_ENABLE_TENSORFLOW
1215
1215
@differentiable ( vjp: _vjpMultiply ( lhs: rhs: )
1216
1216
where Self : Differentiable,
1217
- Self . CotangentVector : SIMD,
1217
+ Self . TangentVector : SIMD,
1218
1218
Scalar : BinaryFloatingPoint & Differentiable,
1219
- Self . CotangentVector == Self,
1220
- Scalar . CotangentVector == Scalar)
1219
+ Self . TangentVector == Self,
1220
+ Scalar . TangentVector == Scalar)
1221
1221
public static func * ( lhs: Scalar , rhs: Self ) -> Self {
1222
1222
return Self ( repeating: lhs) * rhs
1223
1223
}
@@ -1226,10 +1226,10 @@ extension SIMD where Scalar: FloatingPoint {
1226
1226
// SWIFT_ENABLE_TENSORFLOW
1227
1227
@differentiable ( vjp: _vjpDivide ( lhs: rhs: )
1228
1228
where Self : Differentiable,
1229
- Self . CotangentVector : SIMD,
1229
+ Self . TangentVector : SIMD,
1230
1230
Scalar : BinaryFloatingPoint & Differentiable,
1231
- Self . CotangentVector == Self,
1232
- Scalar . CotangentVector == Scalar)
1231
+ Self . TangentVector == Self,
1232
+ Scalar . TangentVector == Scalar)
1233
1233
public static func / ( lhs: Scalar , rhs: Self ) -> Self {
1234
1234
return Self ( repeating: lhs) / rhs
1235
1235
}
@@ -1238,10 +1238,10 @@ extension SIMD where Scalar: FloatingPoint {
1238
1238
// SWIFT_ENABLE_TENSORFLOW
1239
1239
@differentiable ( vjp: _vjpAdd ( lhs: rhs: )
1240
1240
where Self: Differentiable,
1241
- Self . CotangentVector : SIMD,
1241
+ Self . TangentVector : SIMD,
1242
1242
Scalar : Differentiable & BinaryFloatingPoint,
1243
- Scalar . CotangentVector : BinaryFloatingPoint,
1244
- Self . CotangentVector . Scalar == Scalar . CotangentVector )
1243
+ Scalar . TangentVector : BinaryFloatingPoint,
1244
+ Self . TangentVector . Scalar == Scalar . TangentVector )
1245
1245
public static func + ( lhs: Self , rhs: Scalar ) -> Self {
1246
1246
return lhs + Self( repeating: rhs)
1247
1247
}
@@ -1250,10 +1250,10 @@ extension SIMD where Scalar: FloatingPoint {
1250
1250
// SWIFT_ENABLE_TENSORFLOW
1251
1251
@differentiable ( vjp: _vjpAdd ( lhs: rhs: )
1252
1252
where Self: Differentiable,
1253
- Self . CotangentVector : SIMD,
1253
+ Self . TangentVector : SIMD,
1254
1254
Scalar : Differentiable & BinaryFloatingPoint,
1255
- Scalar . CotangentVector : BinaryFloatingPoint,
1256
- Self . CotangentVector . Scalar == Scalar . CotangentVector )
1255
+ Scalar . TangentVector : BinaryFloatingPoint,
1256
+ Self . TangentVector . Scalar == Scalar . TangentVector )
1257
1257
public static func - ( lhs: Self , rhs: Scalar ) -> Self {
1258
1258
return lhs - Self( repeating: rhs)
1259
1259
}
@@ -1262,10 +1262,10 @@ extension SIMD where Scalar: FloatingPoint {
1262
1262
// SWIFT_ENABLE_TENSORFLOW
1263
1263
@differentiable ( vjp: _vjpMultiply ( lhs: rhs: )
1264
1264
where Self : Differentiable,
1265
- Self . CotangentVector : SIMD,
1265
+ Self . TangentVector : SIMD,
1266
1266
Scalar : BinaryFloatingPoint & Differentiable,
1267
- Self . CotangentVector == Self,
1268
- Scalar . CotangentVector == Scalar)
1267
+ Self . TangentVector == Self,
1268
+ Scalar . TangentVector == Scalar)
1269
1269
public static func * ( lhs: Self , rhs: Scalar ) -> Self {
1270
1270
return lhs * Self( repeating: rhs)
1271
1271
}
@@ -1274,10 +1274,10 @@ extension SIMD where Scalar: FloatingPoint {
1274
1274
// SWIFT_ENABLE_TENSORFLOW
1275
1275
@differentiable ( vjp: _vjpDivide ( lhs: rhs: )
1276
1276
where Self : Differentiable,
1277
- Self . CotangentVector : SIMD,
1277
+ Self . TangentVector : SIMD,
1278
1278
Scalar : BinaryFloatingPoint & Differentiable,
1279
- Self . CotangentVector == Self,
1280
- Scalar . CotangentVector == Scalar)
1279
+ Self . TangentVector == Self,
1280
+ Scalar . TangentVector == Scalar)
1281
1281
public static func / ( lhs: Self , rhs: Scalar ) -> Self {
1282
1282
return lhs / Self( repeating: rhs)
1283
1283
}
@@ -1476,16 +1476,13 @@ where T: SIMD, T.Scalar: FloatingPoint {
1476
1476
1477
1477
extension SIMD
1478
1478
where Self: Differentiable ,
1479
- CotangentVector : SIMD ,
1479
+ TangentVector : SIMD ,
1480
1480
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 {
1485
1482
@inlinable
1486
1483
static func _vjpAdd(
1487
1484
lhs: Self , rhs: Self
1488
- ) -> ( Self , ( CotangentVector ) -> ( CotangentVector , CotangentVector ) ) {
1485
+ ) -> ( Self , ( TangentVector ) -> ( TangentVector , TangentVector ) ) {
1489
1486
return ( lhs + rhs, { v in
1490
1487
return ( v, v)
1491
1488
} )
@@ -1494,22 +1491,22 @@ extension SIMD
1494
1491
@inlinable
1495
1492
static func _vjpSubtract(
1496
1493
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
1499
1496
return ( v, - v)
1500
1497
} )
1501
1498
}
1502
1499
}
1503
1500
1504
1501
extension SIMD
1505
1502
where Self: Differentiable ,
1506
- CotangentVector : SIMD ,
1503
+ TangentVector : SIMD ,
1507
1504
Scalar : BinaryFloatingPoint ,
1508
- Self. CotangentVector == Self {
1505
+ Self. TangentVector == Self {
1509
1506
@inlinable
1510
1507
static func _vjpMultiply(
1511
1508
lhs: Self , rhs: Self
1512
- ) -> ( Self , ( CotangentVector ) -> ( CotangentVector , CotangentVector ) ) {
1509
+ ) -> ( Self , ( TangentVector ) -> ( TangentVector , TangentVector ) ) {
1513
1510
return ( lhs * rhs, { v in
1514
1511
return ( v * rhs, v * lhs)
1515
1512
} )
@@ -1518,7 +1515,7 @@ extension SIMD
1518
1515
@inlinable
1519
1516
static func _vjpDivide(
1520
1517
lhs: Self , rhs: Self
1521
- ) -> ( Self , ( CotangentVector ) -> ( CotangentVector , CotangentVector ) ) {
1518
+ ) -> ( Self , ( TangentVector ) -> ( TangentVector , TangentVector ) ) {
1522
1519
return ( lhs / rhs, { v in
1523
1520
( v / rhs, - lhs / ( rhs * rhs) * v)
1524
1521
} )
@@ -1527,14 +1524,14 @@ extension SIMD
1527
1524
1528
1525
extension SIMD
1529
1526
where Self : Differentiable ,
1530
- CotangentVector : SIMD ,
1527
+ TangentVector : SIMD ,
1531
1528
Scalar : BinaryFloatingPoint & Differentiable ,
1532
- Scalar. CotangentVector : BinaryFloatingPoint ,
1533
- CotangentVector . Scalar == Scalar . CotangentVector {
1529
+ Scalar. TangentVector : BinaryFloatingPoint ,
1530
+ TangentVector . Scalar == Scalar . TangentVector {
1534
1531
@inlinable
1535
1532
static func _vjpAdd(
1536
1533
lhs: Scalar , rhs: Self
1537
- ) -> ( Self , ( CotangentVector ) -> ( Scalar . CotangentVector , CotangentVector ) ) {
1534
+ ) -> ( Self , ( TangentVector ) -> ( Scalar . TangentVector , TangentVector ) ) {
1538
1535
return ( lhs + rhs, { v in
1539
1536
return ( v. sum ( ) , v)
1540
1537
} )
@@ -1543,7 +1540,7 @@ extension SIMD
1543
1540
@inlinable
1544
1541
static func _vjpSubtract(
1545
1542
lhs: Scalar , rhs: Self
1546
- ) -> ( Self , ( CotangentVector ) -> ( Scalar . CotangentVector , CotangentVector ) ) {
1543
+ ) -> ( Self , ( TangentVector ) -> ( Scalar . TangentVector , TangentVector ) ) {
1547
1544
return ( lhs + rhs, { v in
1548
1545
return ( v. sum ( ) , - v)
1549
1546
} )
@@ -1552,7 +1549,7 @@ extension SIMD
1552
1549
@inlinable
1553
1550
static func _vjpAdd(
1554
1551
lhs: Self , rhs: Scalar
1555
- ) -> ( Self , ( CotangentVector ) -> ( CotangentVector , Scalar . CotangentVector ) ) {
1552
+ ) -> ( Self , ( TangentVector ) -> ( TangentVector , Scalar . TangentVector ) ) {
1556
1553
return ( lhs + rhs, { v in
1557
1554
return ( v, v. sum ( ) )
1558
1555
} )
@@ -1561,7 +1558,7 @@ extension SIMD
1561
1558
@inlinable
1562
1559
static func _vjpSubtract(
1563
1560
lhs: Self , rhs: Scalar
1564
- ) -> ( Self , ( CotangentVector ) -> ( CotangentVector , Scalar . CotangentVector ) ) {
1561
+ ) -> ( Self , ( TangentVector ) -> ( TangentVector , Scalar . TangentVector ) ) {
1565
1562
return ( lhs + rhs, { v in
1566
1563
return ( v, - v. sum ( ) )
1567
1564
} )
@@ -1570,14 +1567,14 @@ extension SIMD
1570
1567
1571
1568
extension SIMD
1572
1569
where Self : Differentiable ,
1573
- CotangentVector : SIMD ,
1570
+ TangentVector : SIMD ,
1574
1571
Scalar : BinaryFloatingPoint & Differentiable ,
1575
- Self. CotangentVector == Self ,
1576
- Scalar. CotangentVector == Scalar {
1572
+ Self. TangentVector == Self ,
1573
+ Scalar. TangentVector == Scalar {
1577
1574
@inlinable
1578
1575
static func _vjpMultiply(
1579
1576
lhs: Self , rhs: Scalar
1580
- ) -> ( Self , ( CotangentVector ) -> ( CotangentVector , Scalar . CotangentVector ) ) {
1577
+ ) -> ( Self , ( TangentVector ) -> ( TangentVector , Scalar . TangentVector ) ) {
1581
1578
return ( lhs * rhs, { v in
1582
1579
return ( v * rhs, ( v * lhs) . sum ( ) )
1583
1580
} )
@@ -1586,7 +1583,7 @@ extension SIMD
1586
1583
@inlinable
1587
1584
static func _vjpDivide(
1588
1585
lhs: Self , rhs: Scalar
1589
- ) -> ( Self , ( CotangentVector ) -> ( CotangentVector , Scalar . CotangentVector ) ) {
1586
+ ) -> ( Self , ( TangentVector ) -> ( TangentVector , Scalar . TangentVector ) ) {
1590
1587
return ( lhs / rhs, { v in
1591
1588
( - lhs / ( rhs * rhs) * v, ( v / rhs) . sum ( ) )
1592
1589
} )
@@ -1595,7 +1592,7 @@ extension SIMD
1595
1592
@inlinable
1596
1593
static func _vjpMultiply(
1597
1594
lhs: Scalar , rhs: Self
1598
- ) -> ( Self , ( CotangentVector ) -> ( Scalar . CotangentVector , CotangentVector ) ) {
1595
+ ) -> ( Self , ( TangentVector ) -> ( Scalar . TangentVector , TangentVector ) ) {
1599
1596
return ( lhs * rhs, { v in
1600
1597
return ( ( v * lhs) . sum ( ) , v * rhs)
1601
1598
} )
@@ -1604,7 +1601,7 @@ extension SIMD
1604
1601
@inlinable
1605
1602
static func _vjpDivide(
1606
1603
lhs: Scalar , rhs: Self
1607
- ) -> ( Self , ( CotangentVector ) -> ( Scalar . CotangentVector , CotangentVector ) ) {
1604
+ ) -> ( Self , ( TangentVector ) -> ( Scalar . TangentVector , TangentVector ) ) {
1608
1605
return ( lhs / rhs, { v in
1609
1606
( ( v / rhs) . sum ( ) , - lhs / ( rhs * rhs) * v)
1610
1607
} )
@@ -1613,12 +1610,12 @@ extension SIMD
1613
1610
1614
1611
extension SIMD
1615
1612
where Self : Differentiable ,
1616
- CotangentVector : SIMD ,
1613
+ TangentVector : SIMD ,
1617
1614
Scalar : BinaryFloatingPoint & Differentiable ,
1618
- Scalar. CotangentVector : BinaryFloatingPoint ,
1619
- CotangentVector == Self {
1615
+ Scalar. TangentVector : BinaryFloatingPoint ,
1616
+ TangentVector == Self {
1620
1617
@usableFromInline
1621
- func _vjpSum( ) -> ( Scalar , ( Scalar . CotangentVector ) -> CotangentVector ) {
1618
+ func _vjpSum( ) -> ( Scalar , ( Scalar . TangentVector ) -> TangentVector ) {
1622
1619
return ( sum ( ) , { v in Self ( repeating: Scalar ( v) ) } )
1623
1620
}
1624
1621
}
0 commit comments