@@ -54,22 +54,31 @@ public class OpBuilderTestOps {
5454 * The general procedure for these Ops: Given a set of inputs in1, in2, ...,
5555 * inN, The output will be sum(in1, in2, ..., inN).
5656 */
57-
58- // ARITY ZERO
57+
58+ // ARITY 0
5959 @ OpField (names = "test.addDoubles" )
6060 public final Producer <Double > addDoubles0 = () -> 0. ;
61-
61+
6262 // ARITY 1
6363 @ OpField (names = "test.addDoubles" )
64- public final Function <Double , Double > addDoubles1 = (in1 ) -> in1 ;
65-
64+ public final Function <Double , Double > addDoubles1 = (input ) -> input ;
65+
6666 // ARITY 2
6767 @ OpField (names = "test.addDoubles" )
68- public final BiFunction <Double , Double , Double > addDoubles2 = (in1 , in2 ) -> in1 + in2 ;
69-
70- // ARITY 3+ (CODE GENERATE THESE)
68+ public final BiFunction <Double , Double , Double > addDoubles2 = (input1 , input2 ) -> input1 + input2 ;
69+
70+ // ARITY 3
71+ @ OpField (names = "test.addDoubles" )
72+ public final Functions .Arity3 <Double , Double , Double , Double > addDoubles3 = (input1 , input2 , input3 ) -> input1 + input2 + input3 ;
73+
74+ // ARITY 4
7175 @ OpField (names = "test.addDoubles" )
72- public final Functions .Arity3 <Double , Double , Double , Double > addDoubles3 = (in1 , in2 , in3 ) -> in1 + in2 + in3 ;
76+ public final Functions .Arity4 <Double , Double , Double , Double , Double > addDoubles4 = (input1 , input2 , input3 , input4 ) -> input1 + input2 + input3 + input4 ;
77+
78+ // ARITY 5
79+ @ OpField (names = "test.addDoubles" )
80+ public final Functions .Arity5 <Double , Double , Double , Double , Double , Double > addDoubles5 = (input1 , input2 , input3 , input4 , input5 ) -> input1 + input2 + input3 + input4 + input5 ;
81+
7382
7483 /*
7584 * -- INPLACES --
@@ -78,55 +87,151 @@ public class OpBuilderTestOps {
7887 * io, ..., inN, the output will be io = in1 * in2 * ... * io * ... * inN.
7988 * N.B. We do this in arrays since the doubles themselves are immutable.
8089 */
81-
82- // ARITY ONE
90+ // ARITY 1
8391 @ OpField (names = "test.mulArrays" )
84- public final Inplaces .Arity1 <double []> powDoubles1 = (io ) -> {};
85-
86- // ARITY TWO
92+ public final Inplaces .Arity1 <double []> powDoubles1_1 = (io ) -> {
93+ for (int i = 0 ; i < io .length ; i ++) {
94+ }
95+ };
96+
97+ // ARITY 2
8798 @ OpField (names = "test.mulArrays" )
88- public final Inplaces .Arity2_1 <double [], double []> powDoubles2_1 = (io ,
89- in2 ) -> {
90- for ( int i = 0 ; i < io . length ; i ++) {
91- io [ i ] *= in2 [ i ];
92- }
93- };
94-
99+ public final Inplaces .Arity2_1 <double [], double []> powDoubles2_1 = (io , in2 ) -> {
100+ for ( int i = 0 ; i < io . length ; i ++) {
101+ io [ i ] *= in2 [ i ];
102+ }
103+ };
104+
105+ // ARITY 2
95106 @ OpField (names = "test.mulArrays" )
96- public final Inplaces .Arity2_2 <double [], double []> powDoubles2_2 = (in1 ,
97- io ) -> {
98- for (int i = 0 ; i < io .length ; i ++) {
99- io [i ] *= in1 [i ];
100- }
101- };
102-
103- // ARITY THREES
107+ public final Inplaces .Arity2_2 <double [], double []> powDoubles2_2 = (in1 , io ) -> {
108+ for (int i = 0 ; i < io .length ; i ++) {
109+ io [i ] *= in1 [i ];
110+ }
111+ };
112+
113+ // ARITY 3
104114 @ OpField (names = "test.mulArrays" )
105- public final Inplaces .Arity3_1 <double [], double [], double []> powDoubles3_1 = (io , in2 ,
106- in3 ) -> {
107- for ( int i = 0 ; i < io . length ; i ++) {
108- io [i ] *= in2 [i ];
109- io [ i ] *= in3 [ i ];
110- }
111- };
112-
115+ public final Inplaces .Arity3_1 <double [], double [], double []> powDoubles3_1 = (io , in2 , in3 ) -> {
116+ for ( int i = 0 ; i < io . length ; i ++) {
117+ io [ i ] *= in2 [ i ];
118+ io [i ] *= in3 [i ];
119+ }
120+ };
121+
122+ // ARITY 3
113123 @ OpField (names = "test.mulArrays" )
114- public final Inplaces .Arity3_2 <double [], double [], double []> powDoubles3_2 = (in1 , io ,
115- in3 ) -> {
116- for (int i = 0 ; i < io .length ; i ++) {
117- io [i ] *= in1 [i ];
118- io [i ] *= in3 [i ];
119- }
120- };
121-
124+ public final Inplaces .Arity3_2 <double [], double [], double []> powDoubles3_2 = (in1 , io , in3 ) -> {
125+ for (int i = 0 ; i < io .length ; i ++) {
126+ io [i ] *= in1 [i ];
127+ io [i ] *= in3 [i ];
128+ }
129+ };
130+
131+ // ARITY 3
132+ @ OpField (names = "test.mulArrays" )
133+ public final Inplaces .Arity3_3 <double [], double [], double []> powDoubles3_3 = (in1 , in2 , io ) -> {
134+ for (int i = 0 ; i < io .length ; i ++) {
135+ io [i ] *= in1 [i ];
136+ io [i ] *= in2 [i ];
137+ }
138+ };
139+
140+ // ARITY 4
141+ @ OpField (names = "test.mulArrays" )
142+ public final Inplaces .Arity4_1 <double [], double [], double [], double []> powDoubles4_1 = (io , in2 , in3 , in4 ) -> {
143+ for (int i = 0 ; i < io .length ; i ++) {
144+ io [i ] *= in2 [i ];
145+ io [i ] *= in3 [i ];
146+ io [i ] *= in4 [i ];
147+ }
148+ };
149+
150+ // ARITY 4
151+ @ OpField (names = "test.mulArrays" )
152+ public final Inplaces .Arity4_2 <double [], double [], double [], double []> powDoubles4_2 = (in1 , io , in3 , in4 ) -> {
153+ for (int i = 0 ; i < io .length ; i ++) {
154+ io [i ] *= in1 [i ];
155+ io [i ] *= in3 [i ];
156+ io [i ] *= in4 [i ];
157+ }
158+ };
159+
160+ // ARITY 4
161+ @ OpField (names = "test.mulArrays" )
162+ public final Inplaces .Arity4_3 <double [], double [], double [], double []> powDoubles4_3 = (in1 , in2 , io , in4 ) -> {
163+ for (int i = 0 ; i < io .length ; i ++) {
164+ io [i ] *= in1 [i ];
165+ io [i ] *= in2 [i ];
166+ io [i ] *= in4 [i ];
167+ }
168+ };
169+
170+ // ARITY 4
171+ @ OpField (names = "test.mulArrays" )
172+ public final Inplaces .Arity4_4 <double [], double [], double [], double []> powDoubles4_4 = (in1 , in2 , in3 , io ) -> {
173+ for (int i = 0 ; i < io .length ; i ++) {
174+ io [i ] *= in1 [i ];
175+ io [i ] *= in2 [i ];
176+ io [i ] *= in3 [i ];
177+ }
178+ };
179+
180+ // ARITY 5
181+ @ OpField (names = "test.mulArrays" )
182+ public final Inplaces .Arity5_1 <double [], double [], double [], double [], double []> powDoubles5_1 = (io , in2 , in3 , in4 , in5 ) -> {
183+ for (int i = 0 ; i < io .length ; i ++) {
184+ io [i ] *= in2 [i ];
185+ io [i ] *= in3 [i ];
186+ io [i ] *= in4 [i ];
187+ io [i ] *= in5 [i ];
188+ }
189+ };
190+
191+ // ARITY 5
192+ @ OpField (names = "test.mulArrays" )
193+ public final Inplaces .Arity5_2 <double [], double [], double [], double [], double []> powDoubles5_2 = (in1 , io , in3 , in4 , in5 ) -> {
194+ for (int i = 0 ; i < io .length ; i ++) {
195+ io [i ] *= in1 [i ];
196+ io [i ] *= in3 [i ];
197+ io [i ] *= in4 [i ];
198+ io [i ] *= in5 [i ];
199+ }
200+ };
201+
202+ // ARITY 5
122203 @ OpField (names = "test.mulArrays" )
123- public final Inplaces .Arity3_3 <double [], double [], double []> powDoubles3_3 = (in1 , in2 ,
124- io ) -> {
125- for (int i = 0 ; i < io .length ; i ++) {
126- io [i ] *= in1 [i ];
127- io [i ] *= in2 [i ];
128- }
129- };
204+ public final Inplaces .Arity5_3 <double [], double [], double [], double [], double []> powDoubles5_3 = (in1 , in2 , io , in4 , in5 ) -> {
205+ for (int i = 0 ; i < io .length ; i ++) {
206+ io [i ] *= in1 [i ];
207+ io [i ] *= in2 [i ];
208+ io [i ] *= in4 [i ];
209+ io [i ] *= in5 [i ];
210+ }
211+ };
212+
213+ // ARITY 5
214+ @ OpField (names = "test.mulArrays" )
215+ public final Inplaces .Arity5_4 <double [], double [], double [], double [], double []> powDoubles5_4 = (in1 , in2 , in3 , io , in5 ) -> {
216+ for (int i = 0 ; i < io .length ; i ++) {
217+ io [i ] *= in1 [i ];
218+ io [i ] *= in2 [i ];
219+ io [i ] *= in3 [i ];
220+ io [i ] *= in5 [i ];
221+ }
222+ };
223+
224+ // ARITY 5
225+ @ OpField (names = "test.mulArrays" )
226+ public final Inplaces .Arity5_5 <double [], double [], double [], double [], double []> powDoubles5_5 = (in1 , in2 , in3 , in4 , io ) -> {
227+ for (int i = 0 ; i < io .length ; i ++) {
228+ io [i ] *= in1 [i ];
229+ io [i ] *= in2 [i ];
230+ io [i ] *= in3 [i ];
231+ io [i ] *= in4 [i ];
232+ }
233+ };
234+
130235
131236 /*
132237 * -- COMPUTERS --
@@ -138,49 +243,65 @@ public class OpBuilderTestOps {
138243
139244 // ARITY 0
140245 @ OpField (names = "test.addArrays" )
141- public final Computers .Arity0 <double []> mulStrings0 = (out ) -> {
142- for (int i = 0 ; i < out .length ; i ++)
143- out [i ] = 0 ;
246+ public final Computers .Arity0 <double []> mulStrings0 = (output ) -> {
247+ for (int i = 0 ; i < output .length ; i ++) {
248+ output [i ] = 0 ;
249+ }
144250 };
145251
146252 // ARITY 1
147253 @ OpField (names = "test.addArrays" )
148- public final Computers .Arity1 <double [], double []> mulStrings1 = (in ,
149- out ) -> {
150- for ( int i = 0 ; i < out . length ; i ++) {
151- out [i ] = in [i ];
152- }
153- };
254+ public final Computers .Arity1 <double [], double []> mulStrings1 = (input , output ) -> {
255+ for ( int i = 0 ; i < output . length ; i ++) {
256+ output [ i ] = 0 ;
257+ output [i ] += input [i ];
258+ }
259+ };
154260
155261 // ARITY 2
156262 @ OpField (names = "test.addArrays" )
157- public final Computers .Arity2 <double [], double [], double []> mulStrings2 = (in1 , in2 ,
158- out ) -> {
159- for (int i = 0 ; i < out .length ; i ++) {
160- out [i ] = in1 [i ] + in2 [i ];
161- }
162- };
263+ public final Computers .Arity2 <double [], double [], double []> mulStrings2 = (input1 , input2 , output ) -> {
264+ for (int i = 0 ; i < output .length ; i ++) {
265+ output [i ] = 0 ;
266+ output [i ] += input1 [i ];
267+ output [i ] += input2 [i ];
268+ }
269+ };
163270
164271 // ARITY 3
165272 @ OpField (names = "test.addArrays" )
166- public final Computers .Arity3 <double [], double [], double [], double []> mulStrings3 = (in1 , in2 , in3 ,
167- out ) -> {
168- for ( int i = 0 ; i < out . length ; i ++) {
169- out [i ] = in1 [ i ] + in2 [ i ] + in3 [i ];
170- }
171- } ;
172-
173- // TODO: delete
273+ public final Computers .Arity3 <double [], double [], double [], double []> mulStrings3 = (input1 , input2 , input3 , output ) -> {
274+ for ( int i = 0 ; i < output . length ; i ++) {
275+ output [ i ] = 0 ;
276+ output [i ] += input1 [i ];
277+ output [ i ] += input2 [ i ];
278+ output [ i ] += input3 [ i ] ;
279+ }
280+ };
174281
175- @ OpField (names = "test.castToInt" )
176- public final Computers .Arity1 <double [], int []> castToInt = (src , dest ) -> {
177- for (int i = 0 ; i < dest .length ; i ++)
178- dest [i ] = (int ) src [i ];
282+ // ARITY 4
283+ @ OpField (names = "test.addArrays" )
284+ public final Computers .Arity4 <double [], double [], double [], double [], double []> mulStrings4 = (input1 , input2 , input3 , input4 , output ) -> {
285+ for (int i = 0 ; i < output .length ; i ++) {
286+ output [i ] = 0 ;
287+ output [i ] += input1 [i ];
288+ output [i ] += input2 [i ];
289+ output [i ] += input3 [i ];
290+ output [i ] += input4 [i ];
291+ }
179292 };
180293
181- @ OpField (names = "test.concat" )
182- public final Computers .Arity2 <String [], Object [], String []> concat = (s , o , out ) -> {
183- for (int i = 0 ; i < out .length ; i ++)
184- out [i ] = s [i ] + o [i ];
294+ // ARITY 5
295+ @ OpField (names = "test.addArrays" )
296+ public final Computers .Arity5 <double [], double [], double [], double [], double [], double []> mulStrings5 = (input1 , input2 , input3 , input4 , input5 , output ) -> {
297+ for (int i = 0 ; i < output .length ; i ++) {
298+ output [i ] = 0 ;
299+ output [i ] += input1 [i ];
300+ output [i ] += input2 [i ];
301+ output [i ] += input3 [i ];
302+ output [i ] += input4 [i ];
303+ output [i ] += input5 [i ];
304+ }
185305 };
306+
186307}
0 commit comments