|
24 | 24 | },
|
25 | 25 | {
|
26 | 26 | "cell_type": "code",
|
27 |
| - "execution_count": 89, |
| 27 | + "execution_count": 122, |
28 | 28 | "metadata": {
|
29 | 29 | "collapsed": true
|
30 | 30 | },
|
31 | 31 | "outputs": [],
|
32 | 32 | "source": [
|
33 | 33 | "TEST_LINES=\"\"\"\n",
|
34 |
| - "tmp0 = data_ptr[0] + data_ptr[7];\n", |
35 |
| - "tmp7 = data_ptr[0] - data_ptr[7];\n", |
36 |
| - "tmp1 = data_ptr[1] + data_ptr[6];\n", |
37 |
| - "tmp6 = data_ptr[1] - data_ptr[6];\n", |
38 |
| - "tmp2 = data_ptr[2] + data_ptr[5];\n", |
39 |
| - "tmp5 = data_ptr[2] - data_ptr[5];\n", |
40 |
| - "tmp3 = data_ptr[3] + data_ptr[4];\n", |
41 |
| - "tmp4 = data_ptr[3] - data_ptr[4];\n", |
| 34 | + "tmp0 = data_ptr[0] + data_ptr[56];\n", |
| 35 | + "tmp7 = data_ptr[0] - data_ptr[56];\n", |
| 36 | + "tmp1 = data_ptr[8] + data_ptr[48];\n", |
| 37 | + "tmp6 = data_ptr[8] - data_ptr[48];\n", |
| 38 | + "tmp2 = data_ptr[16] + data_ptr[40];\n", |
| 39 | + "tmp5 = data_ptr[16] - data_ptr[40];\n", |
| 40 | + "tmp3 = data_ptr[24] + data_ptr[32];\n", |
| 41 | + "tmp4 = data_ptr[24] - data_ptr[32];\n", |
42 | 42 | "tmp10 = tmp0 + tmp3;\n",
|
43 | 43 | "tmp13 = tmp0 - tmp3;\n",
|
44 | 44 | "tmp11 = tmp1 + tmp2;\n",
|
45 | 45 | "tmp12 = tmp1 - tmp2;\n",
|
46 |
| - "data_ptr[0] = tmp10 + tmp11;\n", |
47 |
| - "data_ptr[4] = tmp10 - tmp11;\n", |
| 46 | + "data_ptr[0] = (tmp10 + tmp11) * 0.125;\n", |
| 47 | + "data_ptr[32] = (tmp10 - tmp11) * 0.125;\n", |
48 | 48 | "z1 = (tmp12 + tmp13) * 0.541196100;\n",
|
49 |
| - "data_ptr[2] = z1 + tmp13 * 0.765366865;\n", |
50 |
| - "data_ptr[6] = z1 + tmp12 * - 1.847759065;\n", |
| 49 | + "data_ptr[16] = (z1 + tmp13 * 0.765366865) * 0.125;\n", |
| 50 | + "data_ptr[48] = (z1 + tmp12 * -1.847759065) * 0.125;\n", |
51 | 51 | "z1 = tmp4 + tmp7;\n",
|
52 | 52 | "z2 = tmp5 + tmp6;\n",
|
53 | 53 | "z3 = tmp4 + tmp6;\n",
|
|
63 | 63 | "z4 *= -0.390180644;\n",
|
64 | 64 | "z3 += z5;\n",
|
65 | 65 | "z4 += z5;\n",
|
66 |
| - "data_ptr[7] = tmp4 + z1 + z3;\n", |
67 |
| - "data_ptr[5] = tmp5 + z2 + z4;\n", |
68 |
| - "data_ptr[3] = tmp6 + z2 + z3;\n", |
69 |
| - "data_ptr[1] = tmp7 + z1 + z4;\n", |
| 66 | + "data_ptr[56] = (tmp4 + z1 + z3) * 0.125;\n", |
| 67 | + "data_ptr[40] = (tmp5 + z2 + z4) * 0.125;\n", |
| 68 | + "data_ptr[24] = (tmp6 + z2 + z3) * 0.125;\n", |
| 69 | + "data_ptr[8] = (tmp7 + z1 + z4) * 0.125;\n", |
70 | 70 | "\"\"\""
|
71 | 71 | ]
|
72 | 72 | },
|
73 | 73 | {
|
74 | 74 | "cell_type": "code",
|
75 |
| - "execution_count": 90, |
| 75 | + "execution_count": 123, |
76 | 76 | "metadata": {
|
77 | 77 | "collapsed": true
|
78 | 78 | },
|
|
88 | 88 | },
|
89 | 89 | {
|
90 | 90 | "cell_type": "code",
|
91 |
| - "execution_count": 105, |
| 91 | + "execution_count": 124, |
92 | 92 | "metadata": {
|
93 | 93 | "collapsed": true
|
94 | 94 | },
|
|
169 | 169 | },
|
170 | 170 | {
|
171 | 171 | "cell_type": "code",
|
172 |
| - "execution_count": 120, |
| 172 | + "execution_count": 125, |
173 | 173 | "metadata": {},
|
174 | 174 | "outputs": [],
|
175 | 175 | "source": [
|
|
245 | 245 | },
|
246 | 246 | {
|
247 | 247 | "cell_type": "code",
|
248 |
| - "execution_count": 121, |
| 248 | + "execution_count": 126, |
249 | 249 | "metadata": {},
|
250 | 250 | "outputs": [
|
251 | 251 | {
|
252 | 252 | "name": "stdout",
|
253 | 253 | "output_type": "stream",
|
254 | 254 | "text": [
|
255 | 255 | "ERROR\n",
|
256 |
| - "Ciphertext goodmorning457(data_ptr[0]); evaluator.add(goodmorning457, data_ptr[7]); tmp0 = goodmorning457;\n", |
257 |
| - "Ciphertext goodmorning458(data_ptr[0]); evaluator.sub(goodmorning458, data_ptr[7]); tmp7 = goodmorning458;\n", |
258 |
| - "Ciphertext goodmorning459(data_ptr[1]); evaluator.add(goodmorning459, data_ptr[6]); tmp1 = goodmorning459;\n", |
259 |
| - "Ciphertext goodmorning460(data_ptr[1]); evaluator.sub(goodmorning460, data_ptr[6]); tmp6 = goodmorning460;\n", |
260 |
| - "Ciphertext goodmorning461(data_ptr[2]); evaluator.add(goodmorning461, data_ptr[5]); tmp2 = goodmorning461;\n", |
261 |
| - "Ciphertext goodmorning462(data_ptr[2]); evaluator.sub(goodmorning462, data_ptr[5]); tmp5 = goodmorning462;\n", |
262 |
| - "Ciphertext goodmorning463(data_ptr[3]); evaluator.add(goodmorning463, data_ptr[4]); tmp3 = goodmorning463;\n", |
263 |
| - "Ciphertext goodmorning464(data_ptr[3]); evaluator.sub(goodmorning464, data_ptr[4]); tmp4 = goodmorning464;\n", |
264 |
| - "Ciphertext goodmorning465(tmp0); evaluator.add(goodmorning465, tmp3); tmp10 = goodmorning465;\n", |
265 |
| - "Ciphertext goodmorning466(tmp0); evaluator.sub(goodmorning466, tmp3); tmp13 = goodmorning466;\n", |
266 |
| - "Ciphertext goodmorning467(tmp1); evaluator.add(goodmorning467, tmp2); tmp11 = goodmorning467;\n", |
267 |
| - "Ciphertext goodmorning468(tmp1); evaluator.sub(goodmorning468, tmp2); tmp12 = goodmorning468;\n", |
268 |
| - "Ciphertext goodmorning469(tmp10); evaluator.add(goodmorning469, tmp11); data_ptr[0] = goodmorning469;\n", |
269 |
| - "Ciphertext goodmorning470(tmp10); evaluator.sub(goodmorning470, tmp11); data_ptr[4] = goodmorning470;\n", |
270 |
| - "Ciphertext goodmorning471(tmp12); evaluator.add(goodmorning471, tmp13); Ciphertext goodmorning472(goodmorning471); evaluator.multiply_plain(goodmorning472, encoder.encode(0.541196100)); z1 = goodmorning472;\n", |
271 |
| - "Ciphertext goodmorning473(tmp13); evaluator.multiply_plain(goodmorning473, encoder.encode(0.765366865)); Ciphertext goodmorning474(z1); evaluator.add(goodmorning474, goodmorning473); data_ptr[2] = goodmorning474;\n", |
| 256 | + "Ciphertext goodmorning1(data_ptr[0]); evaluator.add(goodmorning1, data_ptr[56]); tmp0 = goodmorning1;\n", |
| 257 | + "Ciphertext goodmorning2(data_ptr[0]); evaluator.sub(goodmorning2, data_ptr[56]); tmp7 = goodmorning2;\n", |
| 258 | + "Ciphertext goodmorning3(data_ptr[8]); evaluator.add(goodmorning3, data_ptr[48]); tmp1 = goodmorning3;\n", |
| 259 | + "Ciphertext goodmorning4(data_ptr[8]); evaluator.sub(goodmorning4, data_ptr[48]); tmp6 = goodmorning4;\n", |
| 260 | + "Ciphertext goodmorning5(data_ptr[16]); evaluator.add(goodmorning5, data_ptr[40]); tmp2 = goodmorning5;\n", |
| 261 | + "Ciphertext goodmorning6(data_ptr[16]); evaluator.sub(goodmorning6, data_ptr[40]); tmp5 = goodmorning6;\n", |
| 262 | + "Ciphertext goodmorning7(data_ptr[24]); evaluator.add(goodmorning7, data_ptr[32]); tmp3 = goodmorning7;\n", |
| 263 | + "Ciphertext goodmorning8(data_ptr[24]); evaluator.sub(goodmorning8, data_ptr[32]); tmp4 = goodmorning8;\n", |
| 264 | + "Ciphertext goodmorning9(tmp0); evaluator.add(goodmorning9, tmp3); tmp10 = goodmorning9;\n", |
| 265 | + "Ciphertext goodmorning10(tmp0); evaluator.sub(goodmorning10, tmp3); tmp13 = goodmorning10;\n", |
| 266 | + "Ciphertext goodmorning11(tmp1); evaluator.add(goodmorning11, tmp2); tmp11 = goodmorning11;\n", |
| 267 | + "Ciphertext goodmorning12(tmp1); evaluator.sub(goodmorning12, tmp2); tmp12 = goodmorning12;\n", |
| 268 | + "Ciphertext goodmorning13(tmp10); evaluator.add(goodmorning13, tmp11); Ciphertext goodmorning14(goodmorning13); evaluator.multiply_plain(goodmorning14, encoder.encode(0.125)); data_ptr[0] = goodmorning14;\n", |
| 269 | + "Ciphertext goodmorning15(tmp10); evaluator.sub(goodmorning15, tmp11); Ciphertext goodmorning16(goodmorning15); evaluator.multiply_plain(goodmorning16, encoder.encode(0.125)); data_ptr[32] = goodmorning16;\n", |
| 270 | + "Ciphertext goodmorning17(tmp12); evaluator.add(goodmorning17, tmp13); Ciphertext goodmorning18(goodmorning17); evaluator.multiply_plain(goodmorning18, encoder.encode(0.541196100)); z1 = goodmorning18;\n", |
| 271 | + "Ciphertext goodmorning19(tmp13); evaluator.multiply_plain(goodmorning19, encoder.encode(0.765366865)); Ciphertext goodmorning20(z1); evaluator.add(goodmorning20, goodmorning19); Ciphertext goodmorning21(goodmorning20); evaluator.multiply_plain(goodmorning21, encoder.encode(0.125)); data_ptr[16] = goodmorning21;\n", |
272 | 272 | "ERROR\n",
|
273 |
| - "Ciphertext goodmorning475(tmp4); evaluator.add(goodmorning475, tmp7); z1 = goodmorning475;\n", |
274 |
| - "Ciphertext goodmorning476(tmp5); evaluator.add(goodmorning476, tmp6); z2 = goodmorning476;\n", |
275 |
| - "Ciphertext goodmorning477(tmp4); evaluator.add(goodmorning477, tmp6); z3 = goodmorning477;\n", |
276 |
| - "Ciphertext goodmorning478(tmp5); evaluator.add(goodmorning478, tmp7); z4 = goodmorning478;\n", |
277 |
| - "Ciphertext goodmorning479(z3); evaluator.add(goodmorning479, z4); Ciphertext goodmorning480(goodmorning479); evaluator.multiply_plain(goodmorning480, encoder.encode(1.175875602)); z5 = goodmorning480;\n", |
278 |
| - "Ciphertext goodmorning481(tmp4); evaluator.multiply_plain(goodmorning481, encoder.encode(0.298631336)); tmp4 = goodmorning481;\n", |
279 |
| - "Ciphertext goodmorning482(tmp5); evaluator.multiply_plain(goodmorning482, encoder.encode(2.053119869)); tmp5 = goodmorning482;\n", |
280 |
| - "Ciphertext goodmorning483(tmp6); evaluator.multiply_plain(goodmorning483, encoder.encode(3.072711026)); tmp6 = goodmorning483;\n", |
281 |
| - "Ciphertext goodmorning484(tmp7); evaluator.multiply_plain(goodmorning484, encoder.encode(1.501321110)); tmp7 = goodmorning484;\n", |
| 273 | + "Ciphertext goodmorning22(tmp4); evaluator.add(goodmorning22, tmp7); z1 = goodmorning22;\n", |
| 274 | + "Ciphertext goodmorning23(tmp5); evaluator.add(goodmorning23, tmp6); z2 = goodmorning23;\n", |
| 275 | + "Ciphertext goodmorning24(tmp4); evaluator.add(goodmorning24, tmp6); z3 = goodmorning24;\n", |
| 276 | + "Ciphertext goodmorning25(tmp5); evaluator.add(goodmorning25, tmp7); z4 = goodmorning25;\n", |
| 277 | + "Ciphertext goodmorning26(z3); evaluator.add(goodmorning26, z4); Ciphertext goodmorning27(goodmorning26); evaluator.multiply_plain(goodmorning27, encoder.encode(1.175875602)); z5 = goodmorning27;\n", |
| 278 | + "Ciphertext goodmorning28(tmp4); evaluator.multiply_plain(goodmorning28, encoder.encode(0.298631336)); tmp4 = goodmorning28;\n", |
| 279 | + "Ciphertext goodmorning29(tmp5); evaluator.multiply_plain(goodmorning29, encoder.encode(2.053119869)); tmp5 = goodmorning29;\n", |
| 280 | + "Ciphertext goodmorning30(tmp6); evaluator.multiply_plain(goodmorning30, encoder.encode(3.072711026)); tmp6 = goodmorning30;\n", |
| 281 | + "Ciphertext goodmorning31(tmp7); evaluator.multiply_plain(goodmorning31, encoder.encode(1.501321110)); tmp7 = goodmorning31;\n", |
282 | 282 | "ERROR\n",
|
283 | 283 | "ERROR\n",
|
284 | 284 | "ERROR\n",
|
285 | 285 | "ERROR\n",
|
286 |
| - "Ciphertext goodmorning485(z3); evaluator.add(goodmorning485, z5); z3 = goodmorning485;\n", |
287 |
| - "Ciphertext goodmorning486(z4); evaluator.add(goodmorning486, z5); z4 = goodmorning486;\n", |
288 |
| - "Ciphertext goodmorning487(tmp4); evaluator.add(goodmorning487, z1); Ciphertext goodmorning488(goodmorning487); evaluator.add(goodmorning488, z3); data_ptr[7] = goodmorning488;\n", |
289 |
| - "Ciphertext goodmorning489(tmp5); evaluator.add(goodmorning489, z2); Ciphertext goodmorning490(goodmorning489); evaluator.add(goodmorning490, z4); data_ptr[5] = goodmorning490;\n", |
290 |
| - "Ciphertext goodmorning491(tmp6); evaluator.add(goodmorning491, z2); Ciphertext goodmorning492(goodmorning491); evaluator.add(goodmorning492, z3); data_ptr[3] = goodmorning492;\n", |
291 |
| - "Ciphertext goodmorning493(tmp7); evaluator.add(goodmorning493, z1); Ciphertext goodmorning494(goodmorning493); evaluator.add(goodmorning494, z4); data_ptr[1] = goodmorning494;\n" |
| 286 | + "Ciphertext goodmorning32(z3); evaluator.add(goodmorning32, z5); z3 = goodmorning32;\n", |
| 287 | + "Ciphertext goodmorning33(z4); evaluator.add(goodmorning33, z5); z4 = goodmorning33;\n", |
| 288 | + "Ciphertext goodmorning34(tmp4); evaluator.add(goodmorning34, z1); Ciphertext goodmorning35(goodmorning34); evaluator.add(goodmorning35, z3); Ciphertext goodmorning36(goodmorning35); evaluator.multiply_plain(goodmorning36, encoder.encode(0.125)); data_ptr[56] = goodmorning36;\n", |
| 289 | + "Ciphertext goodmorning37(tmp5); evaluator.add(goodmorning37, z2); Ciphertext goodmorning38(goodmorning37); evaluator.add(goodmorning38, z4); Ciphertext goodmorning39(goodmorning38); evaluator.multiply_plain(goodmorning39, encoder.encode(0.125)); data_ptr[40] = goodmorning39;\n", |
| 290 | + "Ciphertext goodmorning40(tmp6); evaluator.add(goodmorning40, z2); Ciphertext goodmorning41(goodmorning40); evaluator.add(goodmorning41, z3); Ciphertext goodmorning42(goodmorning41); evaluator.multiply_plain(goodmorning42, encoder.encode(0.125)); data_ptr[24] = goodmorning42;\n", |
| 291 | + "Ciphertext goodmorning43(tmp7); evaluator.add(goodmorning43, z1); Ciphertext goodmorning44(goodmorning43); evaluator.add(goodmorning44, z4); Ciphertext goodmorning45(goodmorning44); evaluator.multiply_plain(goodmorning45, encoder.encode(0.125)); data_ptr[8] = goodmorning45;\n" |
292 | 292 | ]
|
293 | 293 | }
|
294 | 294 | ],
|
|
0 commit comments