diff options
author | sanine <sanine.not@pm.me> | 2023-06-17 12:55:58 -0500 |
---|---|---|
committer | sanine <sanine.not@pm.me> | 2023-06-17 12:55:58 -0500 |
commit | 9f233aa540f01848fea62f6f5031142c6e96621a (patch) | |
tree | 966abf8f138d0363f5b1f6007a5ab748d47d4faa | |
parent | c079d06fdeeaa5e7a7b007e5bbc35a2d19bbc316 (diff) |
fix the order of arbitrary neuron test
-rw-r--r-- | src/mind/topology.js | 7 | ||||
-rw-r--r-- | src/mind/topology.test.js | 25 |
2 files changed, 18 insertions, 14 deletions
diff --git a/src/mind/topology.js b/src/mind/topology.js index 5d4d52c..8e59c54 100644 --- a/src/mind/topology.js +++ b/src/mind/topology.js @@ -116,13 +116,14 @@ function get_value(n, index, input, prev, cache) { } const adj = n.adjacency[index]; // get adjacency list - const incident = incident_edges(n, adj); // get incident edges + const incident = incident_edges(n, adj); // get incident edges const weight = incident.map(x => n.weight[x]); // edge weights const sources = incident // get ancestor nodes .map(x => edge_ends(n, x).source); - const values = sources // get the value of each ancestor - .map(x => x === index // if the ancestor is this node + // get the value of each ancestor + const values = sources + .map(x => x === index // if the ancestor is this node ? prev[x - n.input_count] // then the value is the previous value : get_value(n, x, input, prev, cache)); // else recurse diff --git a/src/mind/topology.test.js b/src/mind/topology.test.js index b272040..9776132 100644 --- a/src/mind/topology.test.js +++ b/src/mind/topology.test.js @@ -175,17 +175,20 @@ test('arbitrary hidden neurons', () => { .connect(1, 2, -1) .connect(2, 3, 2) - expect(n.compute([1], [0, 0])).toEqual([ - [ Math.tanh ( - 2*Math.tanh( - -1*Math.tanh( 1 ) - ) - ) ], - [ - Math.tanh( -Math.tanh(1) ), - Math.tanh(1), - ], - ]); + const [output, state] = n.compute([1], [0, 0]); + + expect(output).toEqual([ + Math.tanh( + 2*Math.tanh( + -1*Math.tanh(1) + ) + ) + ]); + + expect(state).toEqual([ + Math.tanh(1), + Math.tanh( -Math.tanh(1) ), + ]); }); |