Skip to content

Commit f507269

Browse files
FieldLinkDefinition refactoring
1 parent b724bab commit f507269

File tree

11 files changed

+56
-38
lines changed

11 files changed

+56
-38
lines changed

fields/src/main/java/network/aika/fields/ExponentialFunction.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
*/
1717
package network.aika.fields;
1818

19-
import network.aika.fields.defs.FieldLinkDefinition;
2019
import network.aika.fields.defs.FieldLinkDefinitionOutputSide;
2120
import network.aika.fields.field.Field;
2221
import network.aika.type.Obj;

fields/src/main/java/network/aika/type/Obj.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
*/
3030
public interface Obj<T extends Type<T, O>, O extends Obj<T, O>> {
3131

32-
<RT extends Type<RT, RO>, RO extends Obj<RT, RO>> void initFields();
32+
void initFields();
3333

3434
T getType();
3535

fields/src/main/java/network/aika/type/ObjImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public ObjImpl(T type) {
4343

4444
@SuppressWarnings("unchecked")
4545
@Override
46-
public <RT extends Type<RT, RO>, RO extends Obj<RT, RO>> void initFields() {
46+
public void initFields() {
4747
for(short i = 0; i < type.getFlattenedType().getNumberOfFields(); i++) {
4848
FieldDefinition<T, O> fd = type.getFlattenedType().getFieldDefinitionIdByIndex(i);
4949

fields/src/test/java/network/aika/fields/oneobject/DivisionTest.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import static network.aika.fields.Division.div;
2626
import static network.aika.fields.InputField.inputField;
27-
import static network.aika.fields.oneobject.TestObject.linkObjectsAndInitFields;
27+
import static network.aika.fields.oneobject.TestObject.linkObjects;
2828
import static network.aika.fields.oneobject.TestType.TEST_RELATION_FROM;
2929

3030

@@ -57,20 +57,26 @@ public void testDivision(int linkingPos) {
5757
TestObject oa = typeA.instantiate();
5858
TestObject ob = typeB.instantiate();
5959

60-
if(linkingPos == 0)
61-
linkObjectsAndInitFields(oa, ob);
60+
if(linkingPos == 0) {
61+
linkObjects(oa, ob);
62+
ob.initFields();
63+
}
6264

6365
oa.setFieldValue(a, 25.0);
6466

65-
if(linkingPos == 1)
66-
linkObjectsAndInitFields(oa, ob);
67+
if(linkingPos == 1) {
68+
linkObjects(oa, ob);
69+
ob.initFields();
70+
}
6771

6872
Assertions.assertEquals(0.0, ob.getFieldValue(c));
6973

7074
oa.setFieldValue(b, 5.0);
7175

72-
if(linkingPos == 2)
73-
linkObjectsAndInitFields(oa, ob);
76+
if(linkingPos == 2) {
77+
linkObjects(oa, ob);
78+
ob.initFields();
79+
}
7480

7581
Assertions.assertEquals(
7682
5.0,

fields/src/test/java/network/aika/fields/oneobject/FieldInstantiationWithObjectsTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
import static network.aika.fields.InputField.inputField;
2525
import static network.aika.fields.SumField.sum;
26-
import static network.aika.fields.oneobject.TestObject.linkObjectsAndInitFields;
26+
import static network.aika.fields.oneobject.TestObject.linkObjects;
2727
import static network.aika.fields.oneobject.TestType.TEST_RELATION_TO;
2828

2929

@@ -53,7 +53,8 @@ public void testPropagateValue() {
5353

5454
TestObject objA = typeA.instantiate();
5555
TestObject objB = typeB.instantiate();
56-
linkObjectsAndInitFields(objA, objB);
56+
linkObjects(objA, objB);
57+
objB.initFields();
5758

5859
objA.setFieldValue(fieldA, 5.0);
5960

@@ -73,7 +74,8 @@ public void testInitFields() {
7374

7475
TestObject objB = new TestObject(typeB);
7576

76-
linkObjectsAndInitFields(objA, objB);
77+
linkObjects(objA, objB);
78+
objB.initFields();
7779

7880
Assertions.assertEquals(
7981
5.0,

fields/src/test/java/network/aika/fields/oneobject/MultiplicationTest.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import static network.aika.fields.InputField.inputField;
2626
import static network.aika.fields.Multiplication.mul;
27-
import static network.aika.fields.oneobject.TestObject.linkObjectsAndInitFields;
27+
import static network.aika.fields.oneobject.TestObject.linkObjects;
2828
import static network.aika.fields.oneobject.TestType.TEST_RELATION_FROM;
2929

3030

@@ -57,20 +57,26 @@ public void testMultiplication(int linkingPos) {
5757
TestObject oa = typeA.instantiate();
5858
TestObject ob = typeB.instantiate();
5959

60-
if(linkingPos == 0)
61-
linkObjectsAndInitFields(oa, ob);
60+
if(linkingPos == 0) {
61+
linkObjects(oa, ob);
62+
ob.initFields();
63+
}
6264

6365
oa.setFieldValue(a, 5.0);
6466

65-
if(linkingPos == 1)
66-
linkObjectsAndInitFields(oa, ob);
67+
if(linkingPos == 1) {
68+
linkObjects(oa, ob);
69+
ob.initFields();
70+
}
6771

6872
Assertions.assertEquals(0.0, ob.getFieldValue(c));
6973

7074
oa.setFieldValue(b, 5.0);
7175

72-
if(linkingPos == 2)
73-
linkObjectsAndInitFields(oa, ob);
76+
if(linkingPos == 2) {
77+
linkObjects(oa, ob);
78+
ob.initFields();
79+
}
7480

7581
Assertions.assertEquals(
7682
25.0,

fields/src/test/java/network/aika/fields/oneobject/SubtractionTest.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import static network.aika.fields.InputField.inputField;
2626
import static network.aika.fields.Subtraction.sub;
27-
import static network.aika.fields.oneobject.TestObject.linkObjectsAndInitFields;
27+
import static network.aika.fields.oneobject.TestObject.linkObjects;
2828
import static network.aika.fields.oneobject.TestType.TEST_RELATION_FROM;
2929

3030

@@ -58,18 +58,24 @@ public void testSubtraction(int linkingPos) {
5858
TestObject oa = typeA.instantiate();
5959
TestObject ob = typeB.instantiate();
6060

61-
if(linkingPos == 0)
62-
linkObjectsAndInitFields(oa, ob);
61+
if(linkingPos == 0) {
62+
linkObjects(oa, ob);
63+
ob.initFields();
64+
}
6365

6466
oa.setFieldValue(a, 50.0);
6567

66-
if(linkingPos == 1)
67-
linkObjectsAndInitFields(oa, ob);
68+
if(linkingPos == 1) {
69+
linkObjects(oa, ob);
70+
ob.initFields();
71+
}
6872

6973
oa.setFieldValue(b, 20.0);
7074

71-
if(linkingPos == 2)
72-
linkObjectsAndInitFields(oa, ob);
75+
if(linkingPos == 2) {
76+
linkObjects(oa, ob);
77+
ob.initFields();
78+
}
7379

7480
Assertions.assertEquals(
7581
30.0,

fields/src/test/java/network/aika/fields/oneobject/TestObject.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@ public TestObject getRelatedTestObject() {
1515
return relatedTestObject;
1616
}
1717

18-
public static void linkObjectsAndInitFields(TestObject objA, TestObject objB) {
18+
public static void linkObjects(TestObject objA, TestObject objB) {
1919
objA.relatedTestObject = objB;
2020
objB.relatedTestObject = objA;
21-
22-
objB.initFields(objA);
2321
}
2422
}

fields/src/test/java/network/aika/fields/softmax/SoftmaxNormObj.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,11 @@ public SoftmaxNormObj(SoftmaxNormType type) {
1717
}
1818

1919

20-
public static void linkObjectsAndInitFields(SoftmaxInputObj[] inputsObjs, SoftmaxNormObj normObj) {
20+
public static void linkObjects(SoftmaxInputObj[] inputsObjs, SoftmaxNormObj normObj) {
2121
for (int i = 0; i < inputsObjs.length; i++) {
2222
SoftmaxInputObj inputObj = inputsObjs[i];
2323
inputObj.normObject = normObj;
2424
normObj.inputs.add(inputObj);
25-
26-
normObj.initFields(inputObj);
2725
}
2826
}
2927

fields/src/test/java/network/aika/fields/softmax/SoftmaxOutputObj.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,11 @@ public SoftmaxNormObj getNormObj() {
1818
return normObj;
1919
}
2020

21-
public static void linkObjectsAndInitFields(SoftmaxNormObj normObj, SoftmaxOutputObj[] outputObjs) {
21+
public static void linkObjects(SoftmaxNormObj normObj, SoftmaxOutputObj[] outputObjs) {
2222
for(int i = 0; i < outputObjs.length; i++) {
2323
SoftmaxOutputObj outputObj = outputObjs[i];
2424
normObj.outputs.add(outputObj);
2525
outputObj.normObj = normObj;
26-
27-
outputObj.initFields(normObj);
2826
}
2927
}
3028

0 commit comments

Comments
 (0)