@@ -116,139 +116,119 @@ public FieldElement negate() {
116116 */
117117 public FieldElement multiply (FieldElement val ) {
118118 int [] g = ((Ed25519FieldElement )val ).t ;
119- int f0 = t [0 ];
120- int f1 = t [1 ];
121- int f2 = t [2 ];
122- int f3 = t [3 ];
123- int f4 = t [4 ];
124- int f5 = t [5 ];
125- int f6 = t [6 ];
126- int f7 = t [7 ];
127- int f8 = t [8 ];
128- int f9 = t [9 ];
129- int g0 = g [0 ];
130- int g1 = g [1 ];
131- int g2 = g [2 ];
132- int g3 = g [3 ];
133- int g4 = g [4 ];
134- int g5 = g [5 ];
135- int g6 = g [6 ];
136- int g7 = g [7 ];
137- int g8 = g [8 ];
138- int g9 = g [9 ];
139- int g1_19 = 19 * g1 ; /* 1.959375*2^29 */
140- int g2_19 = 19 * g2 ; /* 1.959375*2^30; still ok */
141- int g3_19 = 19 * g3 ;
142- int g4_19 = 19 * g4 ;
143- int g5_19 = 19 * g5 ;
144- int g6_19 = 19 * g6 ;
145- int g7_19 = 19 * g7 ;
146- int g8_19 = 19 * g8 ;
147- int g9_19 = 19 * g9 ;
148- int f1_2 = 2 * f1 ;
149- int f3_2 = 2 * f3 ;
150- int f5_2 = 2 * f5 ;
151- int f7_2 = 2 * f7 ;
152- int f9_2 = 2 * f9 ;
153- long f0g0 = f0 * (long ) g0 ;
154- long f0g1 = f0 * (long ) g1 ;
155- long f0g2 = f0 * (long ) g2 ;
156- long f0g3 = f0 * (long ) g3 ;
157- long f0g4 = f0 * (long ) g4 ;
158- long f0g5 = f0 * (long ) g5 ;
159- long f0g6 = f0 * (long ) g6 ;
160- long f0g7 = f0 * (long ) g7 ;
161- long f0g8 = f0 * (long ) g8 ;
162- long f0g9 = f0 * (long ) g9 ;
163- long f1g0 = f1 * (long ) g0 ;
164- long f1g1_2 = f1_2 * (long ) g1 ;
165- long f1g2 = f1 * (long ) g2 ;
166- long f1g3_2 = f1_2 * (long ) g3 ;
167- long f1g4 = f1 * (long ) g4 ;
168- long f1g5_2 = f1_2 * (long ) g5 ;
169- long f1g6 = f1 * (long ) g6 ;
170- long f1g7_2 = f1_2 * (long ) g7 ;
171- long f1g8 = f1 * (long ) g8 ;
119+ int g1_19 = 19 * g [1 ]; /* 1.959375*2^29 */
120+ int g2_19 = 19 * g [2 ]; /* 1.959375*2^30; still ok */
121+ int g3_19 = 19 * g [3 ];
122+ int g4_19 = 19 * g [4 ];
123+ int g5_19 = 19 * g [5 ];
124+ int g6_19 = 19 * g [6 ];
125+ int g7_19 = 19 * g [7 ];
126+ int g8_19 = 19 * g [8 ];
127+ int g9_19 = 19 * g [9 ];
128+ int f1_2 = 2 * t [1 ];
129+ int f3_2 = 2 * t [3 ];
130+ int f5_2 = 2 * t [5 ];
131+ int f7_2 = 2 * t [7 ];
132+ int f9_2 = 2 * t [9 ];
133+ long f0g0 = t [0 ] * (long ) g [0 ];
134+ long f0g1 = t [0 ] * (long ) g [1 ];
135+ long f0g2 = t [0 ] * (long ) g [2 ];
136+ long f0g3 = t [0 ] * (long ) g [3 ];
137+ long f0g4 = t [0 ] * (long ) g [4 ];
138+ long f0g5 = t [0 ] * (long ) g [5 ];
139+ long f0g6 = t [0 ] * (long ) g [6 ];
140+ long f0g7 = t [0 ] * (long ) g [7 ];
141+ long f0g8 = t [0 ] * (long ) g [8 ];
142+ long f0g9 = t [0 ] * (long ) g [9 ];
143+ long f1g0 = t [1 ] * (long ) g [0 ];
144+ long f1g1_2 = f1_2 * (long ) g [1 ];
145+ long f1g2 = t [1 ] * (long ) g [2 ];
146+ long f1g3_2 = f1_2 * (long ) g [3 ];
147+ long f1g4 = t [1 ] * (long ) g [4 ];
148+ long f1g5_2 = f1_2 * (long ) g [5 ];
149+ long f1g6 = t [1 ] * (long ) g [6 ];
150+ long f1g7_2 = f1_2 * (long ) g [7 ];
151+ long f1g8 = t [1 ] * (long ) g [8 ];
172152 long f1g9_38 = f1_2 * (long ) g9_19 ;
173- long f2g0 = f2 * (long ) g0 ;
174- long f2g1 = f2 * (long ) g1 ;
175- long f2g2 = f2 * (long ) g2 ;
176- long f2g3 = f2 * (long ) g3 ;
177- long f2g4 = f2 * (long ) g4 ;
178- long f2g5 = f2 * (long ) g5 ;
179- long f2g6 = f2 * (long ) g6 ;
180- long f2g7 = f2 * (long ) g7 ;
181- long f2g8_19 = f2 * (long ) g8_19 ;
182- long f2g9_19 = f2 * (long ) g9_19 ;
183- long f3g0 = f3 * (long ) g0 ;
184- long f3g1_2 = f3_2 * (long ) g1 ;
185- long f3g2 = f3 * (long ) g2 ;
186- long f3g3_2 = f3_2 * (long ) g3 ;
187- long f3g4 = f3 * (long ) g4 ;
188- long f3g5_2 = f3_2 * (long ) g5 ;
189- long f3g6 = f3 * (long ) g6 ;
153+ long f2g0 = t [ 2 ] * (long ) g [ 0 ] ;
154+ long f2g1 = t [ 2 ] * (long ) g [ 1 ] ;
155+ long f2g2 = t [ 2 ] * (long ) g [ 2 ] ;
156+ long f2g3 = t [ 2 ] * (long ) g [ 3 ] ;
157+ long f2g4 = t [ 2 ] * (long ) g [ 4 ] ;
158+ long f2g5 = t [ 2 ] * (long ) g [ 5 ] ;
159+ long f2g6 = t [ 2 ] * (long ) g [ 6 ] ;
160+ long f2g7 = t [ 2 ] * (long ) g [ 7 ] ;
161+ long f2g8_19 = t [ 2 ] * (long ) g8_19 ;
162+ long f2g9_19 = t [ 2 ] * (long ) g9_19 ;
163+ long f3g0 = t [ 3 ] * (long ) g [ 0 ] ;
164+ long f3g1_2 = f3_2 * (long ) g [ 1 ] ;
165+ long f3g2 = t [ 3 ] * (long ) g [ 2 ] ;
166+ long f3g3_2 = f3_2 * (long ) g [ 3 ] ;
167+ long f3g4 = t [ 3 ] * (long ) g [ 4 ] ;
168+ long f3g5_2 = f3_2 * (long ) g [ 5 ] ;
169+ long f3g6 = t [ 3 ] * (long ) g [ 6 ] ;
190170 long f3g7_38 = f3_2 * (long ) g7_19 ;
191- long f3g8_19 = f3 * (long ) g8_19 ;
171+ long f3g8_19 = t [ 3 ] * (long ) g8_19 ;
192172 long f3g9_38 = f3_2 * (long ) g9_19 ;
193- long f4g0 = f4 * (long ) g0 ;
194- long f4g1 = f4 * (long ) g1 ;
195- long f4g2 = f4 * (long ) g2 ;
196- long f4g3 = f4 * (long ) g3 ;
197- long f4g4 = f4 * (long ) g4 ;
198- long f4g5 = f4 * (long ) g5 ;
199- long f4g6_19 = f4 * (long ) g6_19 ;
200- long f4g7_19 = f4 * (long ) g7_19 ;
201- long f4g8_19 = f4 * (long ) g8_19 ;
202- long f4g9_19 = f4 * (long ) g9_19 ;
203- long f5g0 = f5 * (long ) g0 ;
204- long f5g1_2 = f5_2 * (long ) g1 ;
205- long f5g2 = f5 * (long ) g2 ;
206- long f5g3_2 = f5_2 * (long ) g3 ;
207- long f5g4 = f5 * (long ) g4 ;
173+ long f4g0 = t [ 4 ] * (long ) g [ 0 ] ;
174+ long f4g1 = t [ 4 ] * (long ) g [ 1 ] ;
175+ long f4g2 = t [ 4 ] * (long ) g [ 2 ] ;
176+ long f4g3 = t [ 4 ] * (long ) g [ 3 ] ;
177+ long f4g4 = t [ 4 ] * (long ) g [ 4 ] ;
178+ long f4g5 = t [ 4 ] * (long ) g [ 5 ] ;
179+ long f4g6_19 = t [ 4 ] * (long ) g6_19 ;
180+ long f4g7_19 = t [ 4 ] * (long ) g7_19 ;
181+ long f4g8_19 = t [ 4 ] * (long ) g8_19 ;
182+ long f4g9_19 = t [ 4 ] * (long ) g9_19 ;
183+ long f5g0 = t [ 5 ] * (long ) g [ 0 ] ;
184+ long f5g1_2 = f5_2 * (long ) g [ 1 ] ;
185+ long f5g2 = t [ 5 ] * (long ) g [ 2 ] ;
186+ long f5g3_2 = f5_2 * (long ) g [ 3 ] ;
187+ long f5g4 = t [ 5 ] * (long ) g [ 4 ] ;
208188 long f5g5_38 = f5_2 * (long ) g5_19 ;
209- long f5g6_19 = f5 * (long ) g6_19 ;
189+ long f5g6_19 = t [ 5 ] * (long ) g6_19 ;
210190 long f5g7_38 = f5_2 * (long ) g7_19 ;
211- long f5g8_19 = f5 * (long ) g8_19 ;
191+ long f5g8_19 = t [ 5 ] * (long ) g8_19 ;
212192 long f5g9_38 = f5_2 * (long ) g9_19 ;
213- long f6g0 = f6 * (long ) g0 ;
214- long f6g1 = f6 * (long ) g1 ;
215- long f6g2 = f6 * (long ) g2 ;
216- long f6g3 = f6 * (long ) g3 ;
217- long f6g4_19 = f6 * (long ) g4_19 ;
218- long f6g5_19 = f6 * (long ) g5_19 ;
219- long f6g6_19 = f6 * (long ) g6_19 ;
220- long f6g7_19 = f6 * (long ) g7_19 ;
221- long f6g8_19 = f6 * (long ) g8_19 ;
222- long f6g9_19 = f6 * (long ) g9_19 ;
223- long f7g0 = f7 * (long ) g0 ;
224- long f7g1_2 = f7_2 * (long ) g1 ;
225- long f7g2 = f7 * (long ) g2 ;
193+ long f6g0 = t [ 6 ] * (long ) g [ 0 ] ;
194+ long f6g1 = t [ 6 ] * (long ) g [ 1 ] ;
195+ long f6g2 = t [ 6 ] * (long ) g [ 2 ] ;
196+ long f6g3 = t [ 6 ] * (long ) g [ 3 ] ;
197+ long f6g4_19 = t [ 6 ] * (long ) g4_19 ;
198+ long f6g5_19 = t [ 6 ] * (long ) g5_19 ;
199+ long f6g6_19 = t [ 6 ] * (long ) g6_19 ;
200+ long f6g7_19 = t [ 6 ] * (long ) g7_19 ;
201+ long f6g8_19 = t [ 6 ] * (long ) g8_19 ;
202+ long f6g9_19 = t [ 6 ] * (long ) g9_19 ;
203+ long f7g0 = t [ 7 ] * (long ) g [ 0 ] ;
204+ long f7g1_2 = f7_2 * (long ) g [ 1 ] ;
205+ long f7g2 = t [ 7 ] * (long ) g [ 2 ] ;
226206 long f7g3_38 = f7_2 * (long ) g3_19 ;
227- long f7g4_19 = f7 * (long ) g4_19 ;
207+ long f7g4_19 = t [ 7 ] * (long ) g4_19 ;
228208 long f7g5_38 = f7_2 * (long ) g5_19 ;
229- long f7g6_19 = f7 * (long ) g6_19 ;
209+ long f7g6_19 = t [ 7 ] * (long ) g6_19 ;
230210 long f7g7_38 = f7_2 * (long ) g7_19 ;
231- long f7g8_19 = f7 * (long ) g8_19 ;
211+ long f7g8_19 = t [ 7 ] * (long ) g8_19 ;
232212 long f7g9_38 = f7_2 * (long ) g9_19 ;
233- long f8g0 = f8 * (long ) g0 ;
234- long f8g1 = f8 * (long ) g1 ;
235- long f8g2_19 = f8 * (long ) g2_19 ;
236- long f8g3_19 = f8 * (long ) g3_19 ;
237- long f8g4_19 = f8 * (long ) g4_19 ;
238- long f8g5_19 = f8 * (long ) g5_19 ;
239- long f8g6_19 = f8 * (long ) g6_19 ;
240- long f8g7_19 = f8 * (long ) g7_19 ;
241- long f8g8_19 = f8 * (long ) g8_19 ;
242- long f8g9_19 = f8 * (long ) g9_19 ;
243- long f9g0 = f9 * (long ) g0 ;
213+ long f8g0 = t [ 8 ] * (long ) g [ 0 ] ;
214+ long f8g1 = t [ 8 ] * (long ) g [ 1 ] ;
215+ long f8g2_19 = t [ 8 ] * (long ) g2_19 ;
216+ long f8g3_19 = t [ 8 ] * (long ) g3_19 ;
217+ long f8g4_19 = t [ 8 ] * (long ) g4_19 ;
218+ long f8g5_19 = t [ 8 ] * (long ) g5_19 ;
219+ long f8g6_19 = t [ 8 ] * (long ) g6_19 ;
220+ long f8g7_19 = t [ 8 ] * (long ) g7_19 ;
221+ long f8g8_19 = t [ 8 ] * (long ) g8_19 ;
222+ long f8g9_19 = t [ 8 ] * (long ) g9_19 ;
223+ long f9g0 = t [ 9 ] * (long ) g [ 0 ] ;
244224 long f9g1_38 = f9_2 * (long ) g1_19 ;
245- long f9g2_19 = f9 * (long ) g2_19 ;
225+ long f9g2_19 = t [ 9 ] * (long ) g2_19 ;
246226 long f9g3_38 = f9_2 * (long ) g3_19 ;
247- long f9g4_19 = f9 * (long ) g4_19 ;
227+ long f9g4_19 = t [ 9 ] * (long ) g4_19 ;
248228 long f9g5_38 = f9_2 * (long ) g5_19 ;
249- long f9g6_19 = f9 * (long ) g6_19 ;
229+ long f9g6_19 = t [ 9 ] * (long ) g6_19 ;
250230 long f9g7_38 = f9_2 * (long ) g7_19 ;
251- long f9g8_19 = f9 * (long ) g8_19 ;
231+ long f9g8_19 = t [ 9 ] * (long ) g8_19 ;
252232 long f9g9_38 = f9_2 * (long ) g9_19 ;
253233 long h0 = f0g0 +f1g9_38 +f2g8_19 +f3g7_38 +f4g6_19 +f5g5_38 +f6g4_19 +f7g3_38 +f8g2_19 +f9g1_38 ;
254234 long h1 = f0g1 +f1g0 +f2g9_19 +f3g8_19 +f4g7_19 +f5g6_19 +f6g5_19 +f7g4_19 +f8g3_19 +f9g2_19 ;
0 commit comments