@@ -1202,8 +1202,9 @@ extension Array : EuclideanDifferentiable
1202
1202
}
1203
1203
1204
1204
extension Array where Element : Differentiable {
1205
+ @usableFromInline
1205
1206
@derivative ( of: subscript)
1206
- public func _vjpSubscript( index: Int ) ->
1207
+ func _vjpSubscript( index: Int ) ->
1207
1208
( value: Element , pullback: ( Element . TangentVector ) -> TangentVector )
1208
1209
{
1209
1210
func pullback( _ gradientIn: Element . TangentVector ) -> TangentVector {
@@ -1216,8 +1217,9 @@ extension Array where Element : Differentiable {
1216
1217
return ( self [ index] , pullback)
1217
1218
}
1218
1219
1220
+ @usableFromInline
1219
1221
@derivative ( of: + )
1220
- public static func _vjpPlus ( _ lhs: [ Element ] , _ rhs: [ Element ] ) ->
1222
+ static func _vjpConcatenate ( _ lhs: [ Element ] , _ rhs: [ Element ] ) ->
1221
1223
( value: [ Element ] , pullback: ( TangentVector ) -> ( TangentVector , TangentVector ) ) {
1222
1224
func pullback( _ gradientIn: TangentVector ) ->
1223
1225
( TangentVector , TangentVector ) {
@@ -1237,17 +1239,19 @@ extension Array where Element : Differentiable {
1237
1239
}
1238
1240
1239
1241
extension Array where Element: Differentiable {
1242
+ @usableFromInline
1240
1243
@derivative ( of: append)
1241
- public mutating func _vjpAppend( _ element: Element ) -> (
1244
+ mutating func _vjpAppend( _ element: Element ) -> (
1242
1245
value: Void , pullback: ( inout TangentVector ) -> Element . TangentVector
1243
1246
) {
1244
1247
let appendedElementIndex = count
1245
1248
defer { append ( element) }
1246
1249
return ( ( ) , { dself in dself. base [ appendedElementIndex] } )
1247
1250
}
1248
1251
1252
+ @usableFromInline
1249
1253
@derivative ( of: append)
1250
- public mutating func _jvpAppend( _ element: Element ) -> (
1254
+ mutating func _jvpAppend( _ element: Element ) -> (
1251
1255
value: Void , differential: ( inout TangentVector , Element . TangentVector ) -> Void
1252
1256
) {
1253
1257
append ( element)
0 commit comments