File tree 3 files changed +23
-20
lines changed
3 files changed +23
-20
lines changed Original file line number Diff line number Diff line change
1
+ import {
2
+ gradientStateGetWithDefault ,
3
+ gradientStateSet ,
4
+ type GradientState ,
5
+ } from "../gradient-descent/index.js"
6
+ import { type Scalar } from "./Scalar.js"
7
+
8
+ export type Link = (
9
+ y : Scalar ,
10
+ accumulator : number ,
11
+ state : GradientState ,
12
+ ) => GradientState
13
+
14
+ export function endOfChain (
15
+ d : Scalar ,
16
+ z : number ,
17
+ state : GradientState ,
18
+ ) : GradientState {
19
+ const g = gradientStateGetWithDefault ( state , d , 0 )
20
+ return gradientStateSet ( state , d , z + g )
21
+ }
Original file line number Diff line number Diff line change 1
- import {
2
- gradientStateGetWithDefault ,
3
- gradientStateSet ,
4
- type GradientState ,
5
- } from "../gradient-descent/index.js"
1
+ import { endOfChain , type Link } from "./Link.js"
6
2
7
3
export type Dual = { "@type" : "Dual" ; real : number ; link : Link }
8
4
@@ -39,18 +35,3 @@ export function scalarLink(x: Scalar): Link {
39
35
export function scalarTruncate ( x : Scalar ) : Scalar {
40
36
return Dual ( scalarReal ( x ) , endOfChain )
41
37
}
42
-
43
- export type Link = (
44
- y : Scalar ,
45
- accumulator : number ,
46
- state : GradientState ,
47
- ) => GradientState
48
-
49
- export function endOfChain (
50
- d : Scalar ,
51
- z : number ,
52
- state : GradientState ,
53
- ) : GradientState {
54
- const g = gradientStateGetWithDefault ( state , d , 0 )
55
- return gradientStateSet ( state , d , z + g )
56
- }
Original file line number Diff line number Diff line change
1
+ export * from "./Link.js"
1
2
export * from "./Scalar.js"
2
3
export * from "./Tensor.js"
3
4
export * from "./assertions.js"
You can’t perform that action at this time.
0 commit comments