Skip to content

Commit ec91791

Browse files
author
lukas.molzberger
committed
- Moved storedAt to the SynapseTypeDefinition
1 parent 48ad006 commit ec91791

21 files changed

+76
-37
lines changed

core/src/main/java/network/aika/elements/synapses/ConjunctiveSynapse.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -180,12 +180,6 @@ public void setModified() {
180180
no.setModified();
181181
}
182182

183-
@Override
184-
public Direction getStoredAt() {
185-
return OUTPUT;
186-
}
187-
188-
189183
@Override
190184
public boolean isWeak() {
191185
return getOutput().getBias().getUpdatedValue() > -synapseBias.getUpdatedValue();

core/src/main/java/network/aika/elements/synapses/DisjunctiveSynapse.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,4 @@ public void setModified() {
6060
if(in != null)
6161
in.setModified();
6262
}
63-
64-
@Override
65-
public Direction getStoredAt() {
66-
return INPUT;
67-
}
6863
}

core/src/main/java/network/aika/elements/synapses/Synapse.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,9 @@ public void setTrainingAllowed(boolean trainingAllowed) {
361361
this.trainingAllowed = trainingAllowed;
362362
}
363363

364-
public abstract Direction getStoredAt();
364+
public final Direction getStoredAt() {
365+
return synapseType.getStoredAt();
366+
}
365367

366368
public NeuronProvider getPInput() {
367369
return input;

core/src/main/java/network/aika/elements/synapses/SynapseType.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import network.aika.elements.activations.StateType;
2121
import network.aika.enums.Trigger;
2222
import network.aika.enums.Transition;
23+
import network.aika.enums.direction.Direction;
24+
import network.aika.enums.direction.DirectionEnum;
2325

2426
import java.lang.annotation.Retention;
2527
import java.lang.annotation.RetentionPolicy;
@@ -47,4 +49,6 @@
4749
StateType outputState() default StateType.PRE_FEEDBACK;
4850

4951
boolean propagateRange() default true;
52+
53+
DirectionEnum storedAt();
5054
}

core/src/main/java/network/aika/elements/synapses/types/BindingCategoryInputSynapse.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import network.aika.elements.synapses.CategoryInputSynapse;
2626
import network.aika.elements.synapses.ConjunctiveCategoryInputSynapse;
2727
import network.aika.elements.synapses.SynapseType;
28+
import network.aika.enums.direction.DirectionEnum;
2829

2930
import java.io.DataInput;
3031
import java.io.DataOutput;
@@ -47,7 +48,8 @@
4748
transition = {INPUT_INPUT, SAME_SAME},
4849
required = INPUT_INPUT,
4950
outputState = PRE_FEEDBACK,
50-
trigger = FIRED_PRE_FEEDBACK
51+
trigger = FIRED_PRE_FEEDBACK,
52+
storedAt = DirectionEnum.OUTPUT
5153
)
5254
public class BindingCategoryInputSynapse extends ConjunctiveCategoryInputSynapse<
5355
BindingCategoryInputSynapse,

core/src/main/java/network/aika/elements/synapses/types/BindingCategorySynapse.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import network.aika.elements.neurons.Neuron;
2323
import network.aika.elements.synapses.CategorySynapse;
2424
import network.aika.elements.synapses.SynapseType;
25+
import network.aika.enums.direction.DirectionEnum;
2526

2627
import static network.aika.elements.Type.BINDING;
2728
import static network.aika.enums.Transition.INPUT_INPUT;
@@ -37,7 +38,8 @@
3738
outputType = BINDING,
3839
transition = {INPUT_INPUT, SAME_SAME},
3940
required = INPUT_INPUT,
40-
trigger = FIRED_PRE_FEEDBACK
41+
trigger = FIRED_PRE_FEEDBACK,
42+
storedAt = DirectionEnum.INPUT
4143
)
4244
public class BindingCategorySynapse extends CategorySynapse<BindingCategorySynapse, Neuron, BindingActivation> {
4345

core/src/main/java/network/aika/elements/synapses/types/InhibitoryCategoryInputSynapse.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import network.aika.elements.synapses.DisjunctiveSynapse;
2727
import network.aika.elements.synapses.SynapseType;
2828
import network.aika.enums.direction.Direction;
29+
import network.aika.enums.direction.DirectionEnum;
2930

3031
import java.io.DataInput;
3132
import java.io.DataOutput;
@@ -48,7 +49,8 @@
4849
transition = INPUT_INPUT,
4950
required = INPUT_INPUT,
5051
outputState = PRE_FEEDBACK,
51-
trigger = FIRED_PRE_FEEDBACK
52+
trigger = FIRED_PRE_FEEDBACK,
53+
storedAt = DirectionEnum.OUTPUT
5254
)
5355
public class InhibitoryCategoryInputSynapse extends DisjunctiveSynapse<
5456
InhibitoryCategoryInputSynapse,
@@ -61,11 +63,6 @@ public class InhibitoryCategoryInputSynapse extends DisjunctiveSynapse<
6163
{
6264
private double initialCategorySynapseWeight;
6365

64-
@Override
65-
public Direction getStoredAt() {
66-
return OUTPUT;
67-
}
68-
6966
@Override
7067
public void link() {
7168
input.addOutputSynapse(this);

core/src/main/java/network/aika/elements/synapses/types/InhibitoryCategorySynapse.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import network.aika.elements.neurons.Neuron;
2323
import network.aika.elements.synapses.CategorySynapse;
2424
import network.aika.elements.synapses.SynapseType;
25+
import network.aika.enums.direction.DirectionEnum;
2526

2627
import static network.aika.elements.Type.INHIBITORY;
2728
import static network.aika.enums.Transition.INPUT_INPUT;
@@ -36,7 +37,8 @@
3637
outputType = INHIBITORY,
3738
transition = INPUT_INPUT,
3839
required = INPUT_INPUT,
39-
trigger = NOT_FIRED
40+
trigger = NOT_FIRED,
41+
storedAt = DirectionEnum.INPUT
4042
)
4143
public class InhibitoryCategorySynapse extends CategorySynapse<InhibitoryCategorySynapse, Neuron, InhibitoryActivation> {
4244

core/src/main/java/network/aika/elements/synapses/types/InhibitorySynapse.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import network.aika.elements.neurons.types.InhibitoryNeuron;
2424
import network.aika.elements.synapses.DisjunctiveSynapse;
2525
import network.aika.elements.synapses.SynapseType;
26+
import network.aika.enums.direction.DirectionEnum;
2627

2728
import static network.aika.elements.Type.*;
2829
import static network.aika.enums.Transition.INPUT_INPUT;
@@ -37,7 +38,8 @@
3738
outputType = INHIBITORY,
3839
transition = INPUT_INPUT,
3940
required = INPUT_INPUT,
40-
trigger = FIRED_PRE_FEEDBACK
41+
trigger = FIRED_PRE_FEEDBACK,
42+
storedAt = DirectionEnum.INPUT
4143
)
4244
public class InhibitorySynapse extends DisjunctiveSynapse<
4345
InhibitorySynapse,

core/src/main/java/network/aika/elements/synapses/types/InnerPositiveFeedbackSynapse.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import network.aika.elements.links.types.InnerPositiveFeedbackLink;
2424
import network.aika.elements.neurons.types.PatternNeuron;
2525
import network.aika.elements.synapses.PositiveFeedbackSynapse;
26+
import network.aika.enums.direction.DirectionEnum;
2627

2728
import static network.aika.elements.Type.*;
2829
import static network.aika.elements.activations.StateType.INNER_FEEDBACK;
@@ -40,7 +41,8 @@
4041
required = SAME_SAME,
4142
trigger = NOT_FIRED,
4243
outputState = INNER_FEEDBACK,
43-
propagateRange = false
44+
propagateRange = false,
45+
storedAt = DirectionEnum.OUTPUT
4446
)
4547
public class InnerPositiveFeedbackSynapse extends PositiveFeedbackSynapse<
4648
InnerPositiveFeedbackSynapse,

0 commit comments

Comments
 (0)