Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 pj 1
/*
2
 * Copyright (c) 1997-1999 Massachusetts Institute of Technology
3
 *
4
 * This program is free software; you can redistribute it and/or modify
5
 * it under the terms of the GNU General Public License as published by
6
 * the Free Software Foundation; either version 2 of the License, or
7
 * (at your option) any later version.
8
 *
9
 * This program is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 * GNU General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU General Public License
15
 * along with this program; if not, write to the Free Software
16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
 *
18
 */
19
 
20
/* This file was automatically generated --- DO NOT EDIT */
21
/* Generated on Tue May 18 13:54:51 EDT 1999 */
22
 
23
#include <ports/fftw-int.h>
24
#include <ports/fftw.h>
25
 
26
/* Generated by: ./genfft -magic-alignment-check -magic-twiddle-load-all -magic-variables 4 -magic-loopi -notwiddleinv 13 */
27
 
28
/*
29
 * This function contains 176 FP additions, 68 FP multiplications,
30
 * (or, 138 additions, 30 multiplications, 38 fused multiply/add),
31
 * 50 stack variables, and 52 memory accesses
32
 */
33
static const fftw_real K1_732050807 = FFTW_KONST(+1.732050807568877293527446341505872366942805254);
34
static const fftw_real K156891391 = FFTW_KONST(+0.156891391051584611046832726756003269660212636);
35
static const fftw_real K256247671 = FFTW_KONST(+0.256247671582936600958684654061725059144125175);
36
static const fftw_real K300238635 = FFTW_KONST(+0.300238635966332641462884626667381504676006424);
37
static const fftw_real K011599105 = FFTW_KONST(+0.011599105605768290721655456654083252189827041);
38
static const fftw_real K174138601 = FFTW_KONST(+0.174138601152135905005660794929264742616964676);
39
static const fftw_real K575140729 = FFTW_KONST(+0.575140729474003121368385547455453388461001608);
40
static const fftw_real K2_000000000 = FFTW_KONST(+2.000000000000000000000000000000000000000000000);
41
static const fftw_real K083333333 = FFTW_KONST(+0.083333333333333333333333333333333333333333333);
42
static const fftw_real K075902986 = FFTW_KONST(+0.075902986037193865983102897245103540356428373);
43
static const fftw_real K251768516 = FFTW_KONST(+0.251768516431883313623436926934233488546674281);
44
static const fftw_real K258260390 = FFTW_KONST(+0.258260390311744861420450644284508567852516811);
45
static const fftw_real K132983124 = FFTW_KONST(+0.132983124607418643793760531921092974399165133);
46
static const fftw_real K503537032 = FFTW_KONST(+0.503537032863766627246873853868466977093348562);
47
static const fftw_real K113854479 = FFTW_KONST(+0.113854479055790798974654345867655310534642560);
48
static const fftw_real K265966249 = FFTW_KONST(+0.265966249214837287587521063842185948798330267);
49
static const fftw_real K387390585 = FFTW_KONST(+0.387390585467617292130675966426762851778775217);
50
static const fftw_real K866025403 = FFTW_KONST(+0.866025403784438646763723170752936183471402627);
51
static const fftw_real K300462606 = FFTW_KONST(+0.300462606288665774426601772289207995520941381);
52
static const fftw_real K500000000 = FFTW_KONST(+0.500000000000000000000000000000000000000000000);
53
 
54
/*
55
 * Generator Id's :
56
 * $Id: fni_13.c,v 1.1.1.1 2002-03-29 14:12:56 pj Exp $
57
 * $Id: fni_13.c,v 1.1.1.1 2002-03-29 14:12:56 pj Exp $
58
 * $Id: fni_13.c,v 1.1.1.1 2002-03-29 14:12:56 pj Exp $
59
 */
60
 
61
void fftwi_no_twiddle_13(const fftw_complex *input, fftw_complex *output, int istride, int ostride)
62
{
63
     fftw_real tmp1;
64
     fftw_real tmp88;
65
     fftw_real tmp25;
66
     fftw_real tmp24;
67
     fftw_real tmp126;
68
     fftw_real tmp124;
69
     fftw_real tmp129;
70
     fftw_real tmp30;
71
     fftw_real tmp36;
72
     fftw_real tmp43;
73
     fftw_real tmp121;
74
     fftw_real tmp128;
75
     fftw_real tmp41;
76
     fftw_real tmp44;
77
     fftw_real tmp136;
78
     fftw_real tmp144;
79
     fftw_real tmp146;
80
     fftw_real tmp77;
81
     fftw_real tmp86;
82
     fftw_real tmp137;
83
     fftw_real tmp83;
84
     fftw_real tmp89;
85
     fftw_real tmp70;
86
     fftw_real tmp85;
87
     fftw_real tmp141;
88
     fftw_real tmp147;
89
     ASSERT_ALIGNED_DOUBLE();
90
     tmp1 = c_re(input[0]);
91
     tmp88 = c_im(input[0]);
92
     {
93
          fftw_real tmp15;
94
          fftw_real tmp26;
95
          fftw_real tmp18;
96
          fftw_real tmp27;
97
          fftw_real tmp21;
98
          fftw_real tmp28;
99
          fftw_real tmp22;
100
          fftw_real tmp29;
101
          fftw_real tmp6;
102
          fftw_real tmp37;
103
          fftw_real tmp32;
104
          fftw_real tmp11;
105
          fftw_real tmp38;
106
          fftw_real tmp33;
107
          fftw_real tmp13;
108
          fftw_real tmp14;
109
          fftw_real tmp34;
110
          fftw_real tmp35;
111
          ASSERT_ALIGNED_DOUBLE();
112
          tmp13 = c_re(input[8 * istride]);
113
          tmp14 = c_re(input[5 * istride]);
114
          tmp15 = tmp13 + tmp14;
115
          tmp26 = tmp13 - tmp14;
116
          {
117
               fftw_real tmp16;
118
               fftw_real tmp17;
119
               fftw_real tmp19;
120
               fftw_real tmp20;
121
               ASSERT_ALIGNED_DOUBLE();
122
               tmp16 = c_re(input[6 * istride]);
123
               tmp17 = c_re(input[11 * istride]);
124
               tmp18 = tmp16 + tmp17;
125
               tmp27 = tmp16 - tmp17;
126
               tmp19 = c_re(input[2 * istride]);
127
               tmp20 = c_re(input[7 * istride]);
128
               tmp21 = tmp19 + tmp20;
129
               tmp28 = tmp19 - tmp20;
130
          }
131
          tmp22 = tmp18 + tmp21;
132
          tmp29 = tmp27 + tmp28;
133
          {
134
               fftw_real tmp2;
135
               fftw_real tmp3;
136
               fftw_real tmp4;
137
               fftw_real tmp5;
138
               ASSERT_ALIGNED_DOUBLE();
139
               tmp2 = c_re(input[istride]);
140
               tmp3 = c_re(input[3 * istride]);
141
               tmp4 = c_re(input[9 * istride]);
142
               tmp5 = tmp3 + tmp4;
143
               tmp6 = tmp2 + tmp5;
144
               tmp37 = tmp2 - (K500000000 * tmp5);
145
               tmp32 = tmp3 - tmp4;
146
          }
147
          {
148
               fftw_real tmp7;
149
               fftw_real tmp8;
150
               fftw_real tmp9;
151
               fftw_real tmp10;
152
               ASSERT_ALIGNED_DOUBLE();
153
               tmp7 = c_re(input[12 * istride]);
154
               tmp8 = c_re(input[4 * istride]);
155
               tmp9 = c_re(input[10 * istride]);
156
               tmp10 = tmp8 + tmp9;
157
               tmp11 = tmp7 + tmp10;
158
               tmp38 = tmp7 - (K500000000 * tmp10);
159
               tmp33 = tmp8 - tmp9;
160
          }
161
          tmp25 = tmp6 - tmp11;
162
          {
163
               fftw_real tmp12;
164
               fftw_real tmp23;
165
               fftw_real tmp122;
166
               fftw_real tmp123;
167
               ASSERT_ALIGNED_DOUBLE();
168
               tmp12 = tmp6 + tmp11;
169
               tmp23 = tmp15 + tmp22;
170
               tmp24 = tmp12 + tmp23;
171
               tmp126 = K300462606 * (tmp12 - tmp23);
172
               tmp122 = tmp37 + tmp38;
173
               tmp123 = tmp15 - (K500000000 * tmp22);
174
               tmp124 = tmp122 - tmp123;
175
               tmp129 = tmp122 + tmp123;
176
          }
177
          tmp30 = tmp26 - tmp29;
178
          tmp34 = K866025403 * (tmp32 + tmp33);
179
          tmp35 = tmp26 + (K500000000 * tmp29);
180
          tmp36 = tmp34 + tmp35;
181
          tmp43 = tmp35 - tmp34;
182
          {
183
               fftw_real tmp119;
184
               fftw_real tmp120;
185
               fftw_real tmp39;
186
               fftw_real tmp40;
187
               ASSERT_ALIGNED_DOUBLE();
188
               tmp119 = tmp28 - tmp27;
189
               tmp120 = tmp32 - tmp33;
190
               tmp121 = tmp119 - tmp120;
191
               tmp128 = tmp120 + tmp119;
192
               tmp39 = tmp37 - tmp38;
193
               tmp40 = K866025403 * (tmp18 - tmp21);
194
               tmp41 = tmp39 - tmp40;
195
               tmp44 = tmp39 + tmp40;
196
          }
197
     }
198
     {
199
          fftw_real tmp61;
200
          fftw_real tmp134;
201
          fftw_real tmp64;
202
          fftw_real tmp71;
203
          fftw_real tmp67;
204
          fftw_real tmp72;
205
          fftw_real tmp68;
206
          fftw_real tmp135;
207
          fftw_real tmp52;
208
          fftw_real tmp79;
209
          fftw_real tmp75;
210
          fftw_real tmp57;
211
          fftw_real tmp80;
212
          fftw_real tmp74;
213
          fftw_real tmp59;
214
          fftw_real tmp60;
215
          fftw_real tmp81;
216
          fftw_real tmp82;
217
          ASSERT_ALIGNED_DOUBLE();
218
          tmp59 = c_im(input[8 * istride]);
219
          tmp60 = c_im(input[5 * istride]);
220
          tmp61 = tmp59 + tmp60;
221
          tmp134 = tmp59 - tmp60;
222
          {
223
               fftw_real tmp62;
224
               fftw_real tmp63;
225
               fftw_real tmp65;
226
               fftw_real tmp66;
227
               ASSERT_ALIGNED_DOUBLE();
228
               tmp62 = c_im(input[6 * istride]);
229
               tmp63 = c_im(input[11 * istride]);
230
               tmp64 = tmp62 + tmp63;
231
               tmp71 = tmp62 - tmp63;
232
               tmp65 = c_im(input[2 * istride]);
233
               tmp66 = c_im(input[7 * istride]);
234
               tmp67 = tmp65 + tmp66;
235
               tmp72 = tmp65 - tmp66;
236
          }
237
          tmp68 = tmp64 + tmp67;
238
          tmp135 = tmp71 + tmp72;
239
          {
240
               fftw_real tmp48;
241
               fftw_real tmp49;
242
               fftw_real tmp50;
243
               fftw_real tmp51;
244
               ASSERT_ALIGNED_DOUBLE();
245
               tmp48 = c_im(input[istride]);
246
               tmp49 = c_im(input[3 * istride]);
247
               tmp50 = c_im(input[9 * istride]);
248
               tmp51 = tmp49 + tmp50;
249
               tmp52 = tmp48 - (K500000000 * tmp51);
250
               tmp79 = tmp48 + tmp51;
251
               tmp75 = tmp49 - tmp50;
252
          }
253
          {
254
               fftw_real tmp53;
255
               fftw_real tmp54;
256
               fftw_real tmp55;
257
               fftw_real tmp56;
258
               ASSERT_ALIGNED_DOUBLE();
259
               tmp53 = c_im(input[12 * istride]);
260
               tmp54 = c_im(input[4 * istride]);
261
               tmp55 = c_im(input[10 * istride]);
262
               tmp56 = tmp54 + tmp55;
263
               tmp57 = tmp53 - (K500000000 * tmp56);
264
               tmp80 = tmp53 + tmp56;
265
               tmp74 = tmp54 - tmp55;
266
          }
267
          tmp136 = tmp134 - tmp135;
268
          {
269
               fftw_real tmp142;
270
               fftw_real tmp143;
271
               fftw_real tmp73;
272
               fftw_real tmp76;
273
               ASSERT_ALIGNED_DOUBLE();
274
               tmp142 = K866025403 * (tmp75 + tmp74);
275
               tmp143 = tmp134 + (K500000000 * tmp135);
276
               tmp144 = tmp142 - tmp143;
277
               tmp146 = tmp142 + tmp143;
278
               tmp73 = tmp71 - tmp72;
279
               tmp76 = tmp74 - tmp75;
280
               tmp77 = tmp73 - tmp76;
281
               tmp86 = tmp76 + tmp73;
282
          }
283
          tmp137 = tmp79 - tmp80;
284
          tmp81 = tmp79 + tmp80;
285
          tmp82 = tmp61 + tmp68;
286
          tmp83 = K300462606 * (tmp81 - tmp82);
287
          tmp89 = tmp81 + tmp82;
288
          {
289
               fftw_real tmp58;
290
               fftw_real tmp69;
291
               fftw_real tmp139;
292
               fftw_real tmp140;
293
               ASSERT_ALIGNED_DOUBLE();
294
               tmp58 = tmp52 + tmp57;
295
               tmp69 = tmp61 - (K500000000 * tmp68);
296
               tmp70 = tmp58 - tmp69;
297
               tmp85 = tmp58 + tmp69;
298
               tmp139 = tmp52 - tmp57;
299
               tmp140 = K866025403 * (tmp67 - tmp64);
300
               tmp141 = tmp139 - tmp140;
301
               tmp147 = tmp139 + tmp140;
302
          }
303
     }
304
     c_re(output[0]) = tmp1 + tmp24;
305
     {
306
          fftw_real tmp164;
307
          fftw_real tmp172;
308
          fftw_real tmp127;
309
          fftw_real tmp169;
310
          fftw_real tmp159;
311
          fftw_real tmp132;
312
          fftw_real tmp138;
313
          fftw_real tmp149;
314
          fftw_real tmp160;
315
          fftw_real tmp170;
316
          fftw_real tmp152;
317
          fftw_real tmp155;
318
          fftw_real tmp165;
319
          fftw_real tmp173;
320
          fftw_real tmp162;
321
          fftw_real tmp163;
322
          ASSERT_ALIGNED_DOUBLE();
323
          tmp162 = (K387390585 * tmp121) - (K265966249 * tmp124);
324
          tmp163 = (K113854479 * tmp128) - (K503537032 * tmp129);
325
          tmp164 = tmp162 + tmp163;
326
          tmp172 = tmp163 - tmp162;
327
          {
328
               fftw_real tmp125;
329
               fftw_real tmp158;
330
               fftw_real tmp130;
331
               fftw_real tmp131;
332
               fftw_real tmp157;
333
               ASSERT_ALIGNED_DOUBLE();
334
               tmp125 = (K132983124 * tmp121) + (K258260390 * tmp124);
335
               tmp158 = tmp126 - tmp125;
336
               tmp130 = (K251768516 * tmp128) + (K075902986 * tmp129);
337
               tmp131 = tmp1 - (K083333333 * tmp24);
338
               tmp157 = tmp131 - tmp130;
339
               tmp127 = (K2_000000000 * tmp125) + tmp126;
340
               tmp169 = tmp158 + tmp157;
341
               tmp159 = tmp157 - tmp158;
342
               tmp132 = (K2_000000000 * tmp130) + tmp131;
343
          }
344
          {
345
               fftw_real tmp145;
346
               fftw_real tmp148;
347
               fftw_real tmp153;
348
               fftw_real tmp154;
349
               ASSERT_ALIGNED_DOUBLE();
350
               tmp138 = (K575140729 * tmp136) - (K174138601 * tmp137);
351
               tmp145 = (K011599105 * tmp141) - (K300238635 * tmp144);
352
               tmp148 = (K256247671 * tmp146) + (K156891391 * tmp147);
353
               tmp149 = tmp145 - tmp148;
354
               tmp160 = K1_732050807 * (tmp145 + tmp148);
355
               tmp170 = tmp138 - tmp149;
356
               tmp152 = (K575140729 * tmp137) + (K174138601 * tmp136);
357
               tmp153 = (K256247671 * tmp147) - (K156891391 * tmp146);
358
               tmp154 = (K011599105 * tmp144) + (K300238635 * tmp141);
359
               tmp155 = tmp153 - tmp154;
360
               tmp165 = tmp152 + tmp155;
361
               tmp173 = K1_732050807 * (tmp154 + tmp153);
362
          }
363
          {
364
               fftw_real tmp133;
365
               fftw_real tmp150;
366
               fftw_real tmp167;
367
               fftw_real tmp168;
368
               ASSERT_ALIGNED_DOUBLE();
369
               tmp133 = tmp127 + tmp132;
370
               tmp150 = tmp138 + (K2_000000000 * tmp149);
371
               c_re(output[12 * ostride]) = tmp133 - tmp150;
372
               c_re(output[ostride]) = tmp133 + tmp150;
373
               {
374
                    fftw_real tmp151;
375
                    fftw_real tmp156;
376
                    fftw_real tmp161;
377
                    fftw_real tmp166;
378
                    ASSERT_ALIGNED_DOUBLE();
379
                    tmp151 = tmp132 - tmp127;
380
                    tmp156 = tmp152 - (K2_000000000 * tmp155);
381
                    c_re(output[5 * ostride]) = tmp151 - tmp156;
382
                    c_re(output[8 * ostride]) = tmp151 + tmp156;
383
                    tmp161 = tmp159 - tmp160;
384
                    tmp166 = tmp164 + tmp165;
385
                    c_re(output[2 * ostride]) = tmp161 - tmp166;
386
                    c_re(output[7 * ostride]) = tmp161 + tmp166;
387
               }
388
               tmp167 = tmp159 + tmp160;
389
               tmp168 = tmp165 - tmp164;
390
               c_re(output[6 * ostride]) = tmp167 - tmp168;
391
               c_re(output[11 * ostride]) = tmp167 + tmp168;
392
               {
393
                    fftw_real tmp175;
394
                    fftw_real tmp176;
395
                    fftw_real tmp171;
396
                    fftw_real tmp174;
397
                    ASSERT_ALIGNED_DOUBLE();
398
                    tmp175 = tmp169 - tmp170;
399
                    tmp176 = tmp173 - tmp172;
400
                    c_re(output[4 * ostride]) = tmp175 - tmp176;
401
                    c_re(output[10 * ostride]) = tmp175 + tmp176;
402
                    tmp171 = tmp169 + tmp170;
403
                    tmp174 = tmp172 + tmp173;
404
                    c_re(output[3 * ostride]) = tmp171 - tmp174;
405
                    c_re(output[9 * ostride]) = tmp171 + tmp174;
406
               }
407
          }
408
     }
409
     c_im(output[0]) = tmp88 + tmp89;
410
     {
411
          fftw_real tmp102;
412
          fftw_real tmp115;
413
          fftw_real tmp84;
414
          fftw_real tmp112;
415
          fftw_real tmp107;
416
          fftw_real tmp91;
417
          fftw_real tmp31;
418
          fftw_real tmp46;
419
          fftw_real tmp104;
420
          fftw_real tmp111;
421
          fftw_real tmp93;
422
          fftw_real tmp96;
423
          fftw_real tmp99;
424
          fftw_real tmp114;
425
          fftw_real tmp100;
426
          fftw_real tmp101;
427
          ASSERT_ALIGNED_DOUBLE();
428
          tmp100 = (K387390585 * tmp77) + (K265966249 * tmp70);
429
          tmp101 = (K113854479 * tmp86) + (K503537032 * tmp85);
430
          tmp102 = tmp100 + tmp101;
431
          tmp115 = tmp100 - tmp101;
432
          {
433
               fftw_real tmp78;
434
               fftw_real tmp106;
435
               fftw_real tmp87;
436
               fftw_real tmp90;
437
               fftw_real tmp105;
438
               ASSERT_ALIGNED_DOUBLE();
439
               tmp78 = (K258260390 * tmp70) - (K132983124 * tmp77);
440
               tmp106 = tmp83 - tmp78;
441
               tmp87 = (K075902986 * tmp85) - (K251768516 * tmp86);
442
               tmp90 = tmp88 - (K083333333 * tmp89);
443
               tmp105 = tmp90 - tmp87;
444
               tmp84 = (K2_000000000 * tmp78) + tmp83;
445
               tmp112 = tmp106 + tmp105;
446
               tmp107 = tmp105 - tmp106;
447
               tmp91 = (K2_000000000 * tmp87) + tmp90;
448
          }
449
          {
450
               fftw_real tmp42;
451
               fftw_real tmp45;
452
               fftw_real tmp94;
453
               fftw_real tmp95;
454
               ASSERT_ALIGNED_DOUBLE();
455
               tmp31 = (K174138601 * tmp25) - (K575140729 * tmp30);
456
               tmp42 = (K256247671 * tmp36) + (K156891391 * tmp41);
457
               tmp45 = (K300238635 * tmp43) + (K011599105 * tmp44);
458
               tmp46 = tmp42 - tmp45;
459
               tmp104 = K1_732050807 * (tmp42 + tmp45);
460
               tmp111 = tmp31 - tmp46;
461
               tmp93 = (K575140729 * tmp25) + (K174138601 * tmp30);
462
               tmp94 = (K256247671 * tmp41) - (K156891391 * tmp36);
463
               tmp95 = (K011599105 * tmp43) - (K300238635 * tmp44);
464
               tmp96 = tmp94 + tmp95;
465
               tmp99 = tmp93 + tmp96;
466
               tmp114 = K1_732050807 * (tmp95 - tmp94);
467
          }
468
          {
469
               fftw_real tmp47;
470
               fftw_real tmp92;
471
               fftw_real tmp109;
472
               fftw_real tmp110;
473
               ASSERT_ALIGNED_DOUBLE();
474
               tmp47 = tmp31 + (K2_000000000 * tmp46);
475
               tmp92 = tmp84 + tmp91;
476
               c_im(output[ostride]) = tmp47 + tmp92;
477
               c_im(output[12 * ostride]) = tmp92 - tmp47;
478
               {
479
                    fftw_real tmp97;
480
                    fftw_real tmp98;
481
                    fftw_real tmp103;
482
                    fftw_real tmp108;
483
                    ASSERT_ALIGNED_DOUBLE();
484
                    tmp97 = tmp93 - (K2_000000000 * tmp96);
485
                    tmp98 = tmp91 - tmp84;
486
                    c_im(output[5 * ostride]) = tmp97 + tmp98;
487
                    c_im(output[8 * ostride]) = tmp98 - tmp97;
488
                    tmp103 = tmp99 + tmp102;
489
                    tmp108 = tmp104 + tmp107;
490
                    c_im(output[2 * ostride]) = tmp103 + tmp108;
491
                    c_im(output[7 * ostride]) = tmp108 - tmp103;
492
               }
493
               tmp109 = tmp107 - tmp104;
494
               tmp110 = tmp102 - tmp99;
495
               c_im(output[6 * ostride]) = tmp109 - tmp110;
496
               c_im(output[11 * ostride]) = tmp110 + tmp109;
497
               {
498
                    fftw_real tmp117;
499
                    fftw_real tmp118;
500
                    fftw_real tmp113;
501
                    fftw_real tmp116;
502
                    ASSERT_ALIGNED_DOUBLE();
503
                    tmp117 = tmp112 - tmp111;
504
                    tmp118 = tmp114 - tmp115;
505
                    c_im(output[4 * ostride]) = tmp117 - tmp118;
506
                    c_im(output[10 * ostride]) = tmp118 + tmp117;
507
                    tmp113 = tmp111 + tmp112;
508
                    tmp116 = tmp114 + tmp115;
509
                    c_im(output[3 * ostride]) = tmp113 - tmp116;
510
                    c_im(output[9 * ostride]) = tmp116 + tmp113;
511
               }
512
          }
513
     }
514
}
515
 
516
fftw_codelet_desc fftwi_no_twiddle_13_desc =
517
{
518
     "fftwi_no_twiddle_13",
519
     (void (*)()) fftwi_no_twiddle_13,
520
     13,
521
     FFTW_BACKWARD,
522
     FFTW_NOTW,
523
     298,
524
     0,
525
     (const int *) 0,
526
};