Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/charisee/ertest/vispaper/tiso3d/resamp.c
ViewVC logotype

Annotation of /branches/charisee/ertest/vispaper/tiso3d/resamp.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3092 - (view) (download) (as text)

1 : glk 3090 #define DIDEROT_SINGLE_PRECISION
2 :     #define DIDEROT_INT
3 :     #define DIDEROT_TARGET_C
4 :     #include "Diderot/diderot.h"
5 :     static char *ProgramName = "resamp";
6 :     int32_t G_sz0_0;
7 :     Diderot_real_t G_xdir_1[3];
8 :     Diderot_real_t G_ydir_2[3];
9 :     Diderot_real_t G_zdir_3[3];
10 :     float G__t_4;
11 :     float G__t_5;
12 :     Diderot_image3D_t *G__t_6;
13 :     Diderot_vec4_t load3to4 (Diderot_real_t *a, int i)
14 :     {
15 :     return (Diderot_vec4_t){a[i],a[1+i],a[2+i],0};
16 :     }
17 :     void store4to3 (Diderot_real_t *a, int i, Diderot_vec4_t v)
18 :     {
19 :     Diderot_union4_t u = __extension__ (Diderot_union4_t)v;
20 :     a[i] = u.r[0];
21 :     a[1+i] = u.r[1];
22 :     a[2+i] = u.r[2];
23 :     return;
24 :     }
25 :     Diderot_vec4_t V_ConsVec4 (Diderot_real_t r0, Diderot_real_t r1, Diderot_real_t r2, Diderot_real_t r3)
26 :     {
27 :     return __extension__ (Diderot_vec4_t){r0,r1,r2,r3};
28 :     }
29 :     Diderot_vec4_t V_Scale4 (Diderot_real_t r, Diderot_vec4_t v)
30 :     {
31 :     return V_ConsVec4(r, r, r, r)*v;
32 :     }
33 :     void V_ConsArr3 (Diderot_real_t *a, Diderot_real_t r0, Diderot_real_t r1, Diderot_real_t r2)
34 :     {
35 :     a[0] = r0;
36 :     a[1] = r1;
37 :     a[2] = r2;
38 :     return;
39 :     }
40 :     void V_CopyArr3 (Diderot_real_t *a, Diderot_real_t *b, int i)
41 :     {
42 :     a[i] = b[0];
43 :     a[1+i] = b[1];
44 :     a[2+i] = b[2];
45 :     }
46 :     void V_CopyArr4 (Diderot_real_t *a, Diderot_real_t *b, int i)
47 :     {
48 :     a[i] = b[0];
49 :     a[1+i] = b[1];
50 :     a[2+i] = b[2];
51 :     a[3+i] = b[3];
52 :     }
53 :     void V_CopyArr9 (Diderot_real_t *a, Diderot_real_t *b, int i)
54 :     {
55 :     a[i] = b[0];
56 :     a[1+i] = b[1];
57 :     a[2+i] = b[2];
58 :     a[3+i] = b[3];
59 :     a[4+i] = b[4];
60 :     a[5+i] = b[5];
61 :     a[6+i] = b[6];
62 :     a[7+i] = b[7];
63 :     a[8+i] = b[8];
64 :     }
65 :     Diderot_real_t V_SumVec3 (Diderot_vec4_t v_0)
66 :     {
67 :     Diderot_union4_t u_0 = __extension__ (Diderot_union4_t)v_0;
68 :     return u_0.r[0]+u_0.r[1]+u_0.r[2]+u_0.r[3];
69 :     }
70 :     Diderot_real_t V_SumVec4 (Diderot_vec4_t v_0)
71 :     {
72 :     Diderot_union4_t u_0 = __extension__ (Diderot_union4_t)v_0;
73 :     return u_0.r[0]+u_0.r[1]+u_0.r[2]+u_0.r[3];
74 :     }
75 :     Diderot_vec4_t V_FloorVec4 (Diderot_vec4_t v)
76 :     {
77 :     Diderot_union4_t u = __extension__ (Diderot_union4_t)v;
78 :     return __extension__ (Diderot_vec4_t){FLOOR(u.r[0]),FLOOR(u.r[1]),FLOOR(u.r[2]),FLOOR(u.r[3])};
79 :     }
80 :     void Diderot_RegisterGlobalOpts (Diderot_Options_t *opts)
81 :     {
82 :     return;
83 :     }
84 :     void Diderot_InitGlobals ()
85 :     {
86 :     float l_divSca_7;
87 :     Diderot_vec4_t l_spc_8;
88 :     Diderot_vec4_t l_4spc_9;
89 :     G_sz0_0 = 30;
90 :     G__t_4 = (float)(G_sz0_0-1);
91 :     l_divSca_7 = 0.58e2f/G__t_4;
92 :     l_4spc_9 = V_ConsVec4(l_divSca_7, l_divSca_7, l_divSca_7, 0);
93 :     V_ConsArr3(G_xdir_1, ((union3f_t)l_4spc_9).r[0], 0.0f, 0.0f);
94 :     V_ConsArr3(G_ydir_2, 0.0f, ((union3f_t)l_4spc_9).r[1], 0.0f);
95 :     V_ConsArr3(G_zdir_3, 0.0f, 0.0f, ((union3f_t)l_4spc_9).r[2]);
96 :     G__t_5 = (float)2;
97 :     {
98 :     Status_t _sts = Diderot_LoadImage3D("tball.nrrd", &G__t_6);
99 :     if (DIDEROT_OK!=_sts) exit(1);
100 :     }
101 :     return;
102 :     }
103 :     void Diderot_Shutdown (Diderot_World_t *wrld)
104 :     {
105 :     }
106 :     typedef struct {
107 :     float vv;
108 :     int32_t zi;
109 :     int32_t yi;
110 :     int32_t xi;
111 :     } Strand_sample_t;
112 :     void sample_InitState (Strand_sample_t *selfOut, int32_t p_xi_10, int32_t p_yi_11, int32_t p_zi_12)
113 :     {
114 :     selfOut->zi = p_zi_12;
115 :     selfOut->yi = p_yi_11;
116 :     selfOut->xi = p_xi_10;
117 :     selfOut->vv = 0.0f;
118 :     return;
119 :     }
120 :     static void sample_Stabilize (Strand_sample_t *selfIn, Strand_sample_t *selfOut)
121 :     {
122 :     int32_t l_xi_203;
123 :     int32_t l_yi_204;
124 :     int32_t l_zi_205;
125 :     float l_vv_206;
126 :     selfOut->vv = selfIn->vv;
127 :     return;
128 :     }
129 :     static StrandStatus_t sample_Update (Strand_sample_t *selfIn, Strand_sample_t *selfOut)
130 :     {
131 :     int32_t l_xi_13;
132 :     int32_t l_yi_14;
133 :     int32_t l_zi_15;
134 :     Diderot_vec4_t l_prodScaV_16;
135 :     Diderot_vec4_t l_prodScaV_17;
136 :     Diderot_vec4_t l_prodScaV_18;
137 :     Diderot_vec4_t l_prodScaV_19;
138 :     Diderot_vec4_t l_mult_3_20;
139 :     Diderot_vec4_t l_mult_2_21;
140 :     float l_cast_22;
141 :     Diderot_vec4_t l_prodScaV_23;
142 :     Diderot_vec4_t l_4prodScaV_24;
143 :     float l_cast_25;
144 :     float l_divSca_26;
145 :     Diderot_vec4_t l_cons__27;
146 :     Diderot_vec4_t l_prodScaV_28;
147 :     Diderot_vec4_t l_prodScaV_29;
148 :     Diderot_vec4_t l_mult_4_30;
149 :     Diderot_vec4_t l_mult_3_31;
150 :     Diderot_vec4_t l_mult_2_32;
151 :     Diderot_vec4_t l_4mult_2_33;
152 :     Diderot_real_t l_M_0_34[9];
153 :     Diderot_vec4_t l_Proj_0__35;
154 :     Diderot_vec4_t l_prodV_36;
155 :     float l_sumVec_37;
156 :     Diderot_vec4_t l_Proj_1__38;
157 :     Diderot_vec4_t l_prodV_39;
158 :     float l_sumVec_40;
159 :     Diderot_vec4_t l_Proj_2__41;
160 :     Diderot_vec4_t l_prodV_42;
161 :     float l_sumVec_43;
162 :     Diderot_vec4_t l_cons__44;
163 :     Diderot_vec4_t l_mult_2_45;
164 :     Diderot_vec4_t l_4mult_2_46;
165 :     Diderot_vec4_t l_cons__47;
166 :     Diderot_vec4_t l_cons__48;
167 :     Diderot_vec4_t l_cons__49;
168 :     Diderot_real_t l_cons__50[9];
169 :     Diderot_vec4_t l_nd_51;
170 :     Diderot_vec4_t l_4nd_52;
171 :     Diderot_vec4_t l_subVec_53;
172 :     Diderot_vec4_t l_4subVec_54;
173 :     vec3i_t l_n_55;
174 :     float *l_baseAddr_56;
175 :     int32_t l_addInt_57;
176 :     int32_t l_Indx_1__58;
177 :     int32_t l_addInt_59;
178 :     int32_t l_Indx_2__60;
179 :     int32_t l_prodInt_61;
180 :     float *l_addPtr_62;
181 :     float *l_rp_imgLoad_63;
182 :     Diderot_vec4_t l_4imgLoad_64;
183 :     float *l_addPtr_65;
184 :     float *l_rp_imgLoad_66;
185 :     Diderot_vec4_t l_4imgLoad_67;
186 :     int32_t l_addInt_68;
187 :     float *l_addPtr_69;
188 :     float *l_rp_imgLoad_70;
189 :     Diderot_vec4_t l_4imgLoad_71;
190 :     int32_t l_addInt_72;
191 :     float *l_addPtr_73;
192 :     float *l_rp_imgLoad_74;
193 :     Diderot_vec4_t l_4imgLoad_75;
194 :     int32_t l_prodInt_76;
195 :     float *l_addPtr_77;
196 :     float *l_rp_imgLoad_78;
197 :     Diderot_vec4_t l_4imgLoad_79;
198 :     float *l_addPtr_80;
199 :     float *l_rp_imgLoad_81;
200 :     Diderot_vec4_t l_4imgLoad_82;
201 :     float *l_addPtr_83;
202 :     float *l_rp_imgLoad_84;
203 :     Diderot_vec4_t l_4imgLoad_85;
204 :     float *l_addPtr_86;
205 :     float *l_rp_imgLoad_87;
206 :     Diderot_vec4_t l_4imgLoad_88;
207 :     int32_t l_prodInt_89;
208 :     float *l_addPtr_90;
209 :     float *l_rp_imgLoad_91;
210 :     Diderot_vec4_t l_4imgLoad_92;
211 :     float *l_addPtr_93;
212 :     float *l_rp_imgLoad_94;
213 :     Diderot_vec4_t l_4imgLoad_95;
214 :     float *l_addPtr_96;
215 :     float *l_rp_imgLoad_97;
216 :     Diderot_vec4_t l_4imgLoad_98;
217 :     float *l_addPtr_99;
218 :     float *l_rp_imgLoad_100;
219 :     Diderot_vec4_t l_4imgLoad_101;
220 :     int32_t l_prodInt_102;
221 :     float *l_addPtr_103;
222 :     float *l_rp_imgLoad_104;
223 :     Diderot_vec4_t l_4imgLoad_105;
224 :     float *l_addPtr_106;
225 :     float *l_rp_imgLoad_107;
226 :     Diderot_vec4_t l_4imgLoad_108;
227 :     float *l_addPtr_109;
228 :     float *l_rp_imgLoad_110;
229 :     Diderot_vec4_t l_4imgLoad_111;
230 :     float *l_addPtr_112;
231 :     float *l_rp_imgLoad_113;
232 :     Diderot_vec4_t l_4imgLoad_114;
233 :     float l_Indx_0__115;
234 :     float l_cast_116;
235 :     float l_Indx_1__117;
236 :     float l_Indx_2__118;
237 :     Diderot_vec4_t l_cons__119;
238 :     Diderot_vec4_t l_4cons__120;
239 :     Diderot_vec4_t l_cons__121;
240 :     Diderot_vec4_t l_4cons__122;
241 :     Diderot_vec4_t l_cons__123;
242 :     Diderot_vec4_t l_4cons__124;
243 :     Diderot_vec4_t l_P0_125;
244 :     Diderot_vec4_t l_4P0_126;
245 :     Diderot_vec4_t l_P1_127;
246 :     Diderot_vec4_t l_4P1_128;
247 :     Diderot_vec4_t l_P2_129;
248 :     Diderot_vec4_t l_4P2_130;
249 :     Diderot_vec4_t l_P3_131;
250 :     Diderot_vec4_t l_4P3_132;
251 :     Diderot_vec4_t l_prodV_133;
252 :     Diderot_vec4_t l_addV_134;
253 :     Diderot_vec4_t l_prodV_135;
254 :     Diderot_vec4_t l_addV_136;
255 :     Diderot_vec4_t l_prodV_137;
256 :     Diderot_vec4_t l_addV_138;
257 :     Diderot_vec4_t l_4addV_139;
258 :     Diderot_vec4_t l_prodV_140;
259 :     Diderot_vec4_t l_addV_141;
260 :     Diderot_vec4_t l_prodV_142;
261 :     Diderot_vec4_t l_addV_143;
262 :     Diderot_vec4_t l_prodV_144;
263 :     Diderot_vec4_t l_addV_145;
264 :     Diderot_vec4_t l_4addV_146;
265 :     Diderot_vec4_t l_prodV_147;
266 :     Diderot_vec4_t l_addV_148;
267 :     Diderot_vec4_t l_prodV_149;
268 :     Diderot_vec4_t l_addV_150;
269 :     Diderot_vec4_t l_prodV_151;
270 :     Diderot_vec4_t l_addV_152;
271 :     Diderot_vec4_t l_prodV_153;
272 :     float l_sumVec_154;
273 :     Diderot_vec4_t l_prodV_155;
274 :     float l_sumVec_156;
275 :     Diderot_vec4_t l_prodV_157;
276 :     float l_sumVec_158;
277 :     Diderot_vec4_t l_prodV_159;
278 :     float l_sumVec_160;
279 :     Diderot_vec4_t l_cons__161;
280 :     Diderot_vec4_t l_prodV_162;
281 :     float l_sumVec_163;
282 :     Diderot_vec4_t l_prodV_164;
283 :     float l_sumVec_165;
284 :     Diderot_vec4_t l_prodV_166;
285 :     float l_sumVec_167;
286 :     Diderot_vec4_t l_prodV_168;
287 :     float l_sumVec_169;
288 :     Diderot_vec4_t l_cons__170;
289 :     Diderot_vec4_t l_prodV_171;
290 :     float l_sumVec_172;
291 :     Diderot_vec4_t l_prodV_173;
292 :     float l_sumVec_174;
293 :     Diderot_vec4_t l_prodV_175;
294 :     float l_sumVec_176;
295 :     Diderot_vec4_t l_prodV_177;
296 :     float l_sumVec_178;
297 :     Diderot_vec4_t l_cons__179;
298 :     Diderot_vec4_t l_prodV_180;
299 :     float l_sumVec_181;
300 :     Diderot_vec4_t l_prodV_182;
301 :     float l_sumVec_183;
302 :     Diderot_vec4_t l_prodV_184;
303 :     float l_sumVec_185;
304 :     Diderot_vec4_t l_prodV_186;
305 :     float l_sumVec_187;
306 :     Diderot_vec4_t l_cons__188;
307 :     Diderot_vec4_t l_prodV_189;
308 :     float l_sumVec_190;
309 :     Diderot_vec4_t l_prodV_191;
310 :     float l_sumVec_192;
311 :     Diderot_vec4_t l_prodV_193;
312 :     float l_sumVec_194;
313 :     Diderot_vec4_t l_prodV_195;
314 :     float l_sumVec_196;
315 :     Diderot_vec4_t l_cons__197;
316 :     Diderot_vec4_t l_prodV_198;
317 :     float l_sumVec_199;
318 :     float l_sumVec_200;
319 :     float l_mult_2_201;
320 : cchiw 3092 float l_mult_2_202;
321 : glk 3090 l_cast_22 = (float)-1;
322 :     l_4prodScaV_24 = V_Scale4(l_cast_22,
323 :     V_Scale4(G__t_4, load3to4(G_xdir_1, 0))+V_Scale4(G__t_4, load3to4(G_ydir_2, 0))+V_Scale4(G__t_4,
324 :     load3to4(G_zdir_3, 0)));
325 :     l_cast_25 = (float)1;
326 :     l_divSca_26 = l_cast_25/G__t_5;
327 :     l_4mult_2_33 = V_ConsVec4(l_divSca_26*((Diderot_union4_t)l_4prodScaV_24).r[0],
328 :     l_divSca_26*((Diderot_union4_t)l_4prodScaV_24).r[1], l_divSca_26*((Diderot_union4_t)l_4prodScaV_24).r[2], 0)+V_Scale4(
329 :     (float)selfIn->xi, load3to4(G_xdir_1, 0))+V_Scale4((float)selfIn->yi, load3to4(G_ydir_2, 0))+V_Scale4(
330 :     (float)selfIn->zi, load3to4(G_zdir_3, 0));
331 :     store4to3(l_M_0_34, 0, G__t_6->w2i[0].v);
332 :     store4to3(l_M_0_34, 3, G__t_6->w2i[1].v);
333 :     store4to3(l_M_0_34, 6, G__t_6->w2i[2].v);
334 :     l_4mult_2_46 = V_ConsVec4(V_SumVec3(load3to4(l_M_0_34, 0)*l_4mult_2_33),
335 :     V_SumVec3(load3to4(l_M_0_34, 3)*l_4mult_2_33), V_SumVec3(load3to4(l_M_0_34, 6)*l_4mult_2_33), 0)+G__t_6->tVec;
336 :     store4to3(l_cons__50, 0, V_ConsVec4(l_M_0_34[0], l_M_0_34[3], l_M_0_34[6], 0));
337 :     store4to3(l_cons__50, 3, V_ConsVec4(l_M_0_34[1], l_M_0_34[4], l_M_0_34[7], 0));
338 :     store4to3(l_cons__50, 6, V_ConsVec4(l_M_0_34[2], l_M_0_34[5], l_M_0_34[8], 0));
339 :     l_4nd_52 = V_FloorVec4(l_4mult_2_46);
340 :     l_4subVec_54 = l_4mult_2_46-l_4nd_52;
341 :     l_n_55 = vec3rtoi(l_4nd_52);
342 :     l_baseAddr_56 = (float *)G__t_6->data;
343 :     l_addInt_57 = ((Diderot_iunion3_t)l_n_55).i[0]+-1;
344 :     l_Indx_1__58 = ((Diderot_iunion3_t)l_n_55).i[1];
345 :     l_addInt_59 = l_Indx_1__58+-1;
346 :     l_Indx_2__60 = ((Diderot_iunion3_t)l_n_55).i[2];
347 :     l_prodInt_61 = 32*(l_Indx_2__60+-1);
348 :     l_addPtr_62 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_59+l_prodInt_61));
349 :     l_rp_imgLoad_63 = l_addPtr_62;
350 :     l_4imgLoad_64 = V_ConsVec4(l_rp_imgLoad_63[0], l_rp_imgLoad_63[9], l_rp_imgLoad_63[18], l_rp_imgLoad_63[27]);
351 :     l_addPtr_65 = l_baseAddr_56+9*(l_addInt_57+32*(l_Indx_1__58+l_prodInt_61));
352 :     l_rp_imgLoad_66 = l_addPtr_65;
353 :     l_4imgLoad_67 = V_ConsVec4(l_rp_imgLoad_66[0], l_rp_imgLoad_66[9], l_rp_imgLoad_66[18], l_rp_imgLoad_66[27]);
354 :     l_addInt_68 = l_Indx_1__58+1;
355 :     l_addPtr_69 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_68+l_prodInt_61));
356 :     l_rp_imgLoad_70 = l_addPtr_69;
357 :     l_4imgLoad_71 = V_ConsVec4(l_rp_imgLoad_70[0], l_rp_imgLoad_70[9], l_rp_imgLoad_70[18], l_rp_imgLoad_70[27]);
358 :     l_addInt_72 = l_Indx_1__58+2;
359 :     l_addPtr_73 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_72+l_prodInt_61));
360 :     l_rp_imgLoad_74 = l_addPtr_73;
361 :     l_4imgLoad_75 = V_ConsVec4(l_rp_imgLoad_74[0], l_rp_imgLoad_74[9], l_rp_imgLoad_74[18], l_rp_imgLoad_74[27]);
362 :     l_prodInt_76 = 32*l_Indx_2__60;
363 :     l_addPtr_77 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_59+l_prodInt_76));
364 :     l_rp_imgLoad_78 = l_addPtr_77;
365 :     l_4imgLoad_79 = V_ConsVec4(l_rp_imgLoad_78[0], l_rp_imgLoad_78[9], l_rp_imgLoad_78[18], l_rp_imgLoad_78[27]);
366 :     l_addPtr_80 = l_baseAddr_56+9*(l_addInt_57+32*(l_Indx_1__58+l_prodInt_76));
367 :     l_rp_imgLoad_81 = l_addPtr_80;
368 :     l_4imgLoad_82 = V_ConsVec4(l_rp_imgLoad_81[0], l_rp_imgLoad_81[9], l_rp_imgLoad_81[18], l_rp_imgLoad_81[27]);
369 :     l_addPtr_83 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_68+l_prodInt_76));
370 :     l_rp_imgLoad_84 = l_addPtr_83;
371 :     l_4imgLoad_85 = V_ConsVec4(l_rp_imgLoad_84[0], l_rp_imgLoad_84[9], l_rp_imgLoad_84[18], l_rp_imgLoad_84[27]);
372 :     l_addPtr_86 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_72+l_prodInt_76));
373 :     l_rp_imgLoad_87 = l_addPtr_86;
374 :     l_4imgLoad_88 = V_ConsVec4(l_rp_imgLoad_87[0], l_rp_imgLoad_87[9], l_rp_imgLoad_87[18], l_rp_imgLoad_87[27]);
375 :     l_prodInt_89 = 32*(l_Indx_2__60+1);
376 :     l_addPtr_90 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_59+l_prodInt_89));
377 :     l_rp_imgLoad_91 = l_addPtr_90;
378 :     l_4imgLoad_92 = V_ConsVec4(l_rp_imgLoad_91[0], l_rp_imgLoad_91[9], l_rp_imgLoad_91[18], l_rp_imgLoad_91[27]);
379 :     l_addPtr_93 = l_baseAddr_56+9*(l_addInt_57+32*(l_Indx_1__58+l_prodInt_89));
380 :     l_rp_imgLoad_94 = l_addPtr_93;
381 :     l_4imgLoad_95 = V_ConsVec4(l_rp_imgLoad_94[0], l_rp_imgLoad_94[9], l_rp_imgLoad_94[18], l_rp_imgLoad_94[27]);
382 :     l_addPtr_96 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_68+l_prodInt_89));
383 :     l_rp_imgLoad_97 = l_addPtr_96;
384 :     l_4imgLoad_98 = V_ConsVec4(l_rp_imgLoad_97[0], l_rp_imgLoad_97[9], l_rp_imgLoad_97[18], l_rp_imgLoad_97[27]);
385 :     l_addPtr_99 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_72+l_prodInt_89));
386 :     l_rp_imgLoad_100 = l_addPtr_99;
387 :     l_4imgLoad_101 = V_ConsVec4(l_rp_imgLoad_100[0], l_rp_imgLoad_100[9], l_rp_imgLoad_100[18], l_rp_imgLoad_100[27]);
388 :     l_prodInt_102 = 32*(l_Indx_2__60+2);
389 :     l_addPtr_103 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_59+l_prodInt_102));
390 :     l_rp_imgLoad_104 = l_addPtr_103;
391 :     l_4imgLoad_105 = V_ConsVec4(l_rp_imgLoad_104[0], l_rp_imgLoad_104[9], l_rp_imgLoad_104[18], l_rp_imgLoad_104[27]);
392 :     l_addPtr_106 = l_baseAddr_56+9*(l_addInt_57+32*(l_Indx_1__58+l_prodInt_102));
393 :     l_rp_imgLoad_107 = l_addPtr_106;
394 :     l_4imgLoad_108 = V_ConsVec4(l_rp_imgLoad_107[0], l_rp_imgLoad_107[9], l_rp_imgLoad_107[18], l_rp_imgLoad_107[27]);
395 :     l_addPtr_109 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_68+l_prodInt_102));
396 :     l_rp_imgLoad_110 = l_addPtr_109;
397 :     l_4imgLoad_111 = V_ConsVec4(l_rp_imgLoad_110[0], l_rp_imgLoad_110[9], l_rp_imgLoad_110[18], l_rp_imgLoad_110[27]);
398 :     l_addPtr_112 = l_baseAddr_56+9*(l_addInt_57+32*(l_addInt_72+l_prodInt_102));
399 :     l_rp_imgLoad_113 = l_addPtr_112;
400 :     l_4imgLoad_114 = V_ConsVec4(l_rp_imgLoad_113[0], l_rp_imgLoad_113[9], l_rp_imgLoad_113[18], l_rp_imgLoad_113[27]);
401 :     l_Indx_0__115 = ((Diderot_union4_t)l_4subVec_54).r[0];
402 :     l_cast_116 = (float)2;
403 :     l_Indx_1__117 = ((Diderot_union4_t)l_4subVec_54).r[1];
404 :     l_Indx_2__118 = ((Diderot_union4_t)l_4subVec_54).r[2];
405 :     l_4cons__120 = V_ConsVec4(l_Indx_0__115-l_cast_22, l_Indx_0__115, l_Indx_0__115-l_cast_25,
406 :     l_Indx_0__115-l_cast_116);
407 :     l_4cons__122 = V_ConsVec4(l_Indx_1__117-l_cast_22, l_Indx_1__117, l_Indx_1__117-l_cast_25,
408 :     l_Indx_1__117-l_cast_116);
409 :     l_4cons__124 = V_ConsVec4(l_Indx_2__118-l_cast_22, l_Indx_2__118, l_Indx_2__118-l_cast_25,
410 :     l_Indx_2__118-l_cast_116);
411 :     l_4P0_126 = V_ConsVec4(0.133333333333e1f, 0.666666666667e0f, 0.666666666667e0f, 0.133333333333e1f);
412 :     l_4P1_128 = V_ConsVec4(-0.2e1f, 0.0f, 0.0f, 0.2e1f);
413 :     l_4P2_130 = V_ConsVec4(0.1e1f, -0.1e1f, -0.1e1f, 0.1e1f);
414 :     l_4P3_132 = V_ConsVec4(-0.166666666667e0f, 0.5e0f, -0.5e0f, 0.166666666667e0f);
415 :     l_4addV_139 = l_4P0_126+l_4cons__120*(l_4P1_128+l_4cons__120*(l_4P2_130+l_4cons__120*l_4P3_132));
416 :     l_4addV_146 = l_4P0_126+l_4cons__122*(l_4P1_128+l_4cons__122*(l_4P2_130+l_4cons__122*l_4P3_132));
417 :     l_sumVec_200 = V_SumVec4(
418 :     (l_4P0_126+l_4cons__124*(l_4P1_128+l_4cons__124*(l_4P2_130+l_4cons__124*l_4P3_132)))*V_ConsVec4(
419 :     V_SumVec4(
420 :     V_ConsVec4(V_SumVec4(l_4addV_139*l_4imgLoad_64), V_SumVec4(l_4addV_139*l_4imgLoad_67),
421 :     V_SumVec4(l_4addV_139*l_4imgLoad_71), V_SumVec4(l_4addV_139*l_4imgLoad_75))*l_4addV_146),
422 :     V_SumVec4(
423 :     V_ConsVec4(V_SumVec4(l_4addV_139*l_4imgLoad_79), V_SumVec4(l_4addV_139*l_4imgLoad_82),
424 :     V_SumVec4(l_4addV_139*l_4imgLoad_85), V_SumVec4(l_4addV_139*l_4imgLoad_88))*l_4addV_146),
425 :     V_SumVec4(
426 :     V_ConsVec4(V_SumVec4(l_4addV_139*l_4imgLoad_92), V_SumVec4(l_4addV_139*l_4imgLoad_95),
427 :     V_SumVec4(l_4addV_139*l_4imgLoad_98), V_SumVec4(l_4addV_139*l_4imgLoad_101))*l_4addV_146),
428 :     V_SumVec4(
429 :     V_ConsVec4(V_SumVec4(l_4addV_139*l_4imgLoad_105), V_SumVec4(l_4addV_139*l_4imgLoad_108),
430 :     V_SumVec4(l_4addV_139*l_4imgLoad_111), V_SumVec4(l_4addV_139*l_4imgLoad_114))*l_4addV_146)));
431 :     l_mult_2_201 = l_sumVec_200*l_sumVec_200*l_sumVec_200;
432 : cchiw 3092 l_mult_2_202 = l_mult_2_201+l_mult_2_201+l_mult_2_201;
433 :     selfOut->vv = l_mult_2_202-l_mult_2_202;
434 : glk 3090 return DIDEROT_STABILIZE;
435 :     }
436 :     static void sample_Output (void *outS, Strand_sample_t *self)
437 :     {
438 :     memcpy(outS, &self->vv, sizeof(float));
439 :     }
440 :     static void sample_Print (FILE *outS, Strand_sample_t *self)
441 :     {
442 :     fprintf(outS, "%f\n", self->vv);
443 :     }
444 :     Strand_t Strand_sample = {.name = "sample",.stateSzb = sizeof(Strand_sample_t),.outputSzb = 4,.nrrdSzb = 4,.nrrdType = 9,.update = (update_method_t)sample_Update,.stabilize = (stabilize_method_t)sample_Stabilize,.print = (print_method_t)sample_Print,.output = (output_method_t)sample_Output,};
445 :     int32_t Diderot_NumStrands = 1;
446 :     Strand_t *Diderot_Strands[1] = {[0] = &Strand_sample,};
447 :     Diderot_World_t *Diderot_Initially ()
448 :     {
449 :     int32_t l__t_207;
450 :     l__t_207 = G_sz0_0-1;
451 :     // allocate initial block of strands
452 :    
453 :     int32_t base[3] = {[0] = 0,[1] = 0,[2] = 0,};
454 :     uint32_t size[3] = {[0] = l__t_207-0+1,[1] = l__t_207-0+1,[2] = l__t_207-0+1,};
455 :     Diderot_World_t *wrld = Diderot_AllocInitially(ProgramName, &Strand_sample, true, 3, base, size);
456 :     // initially
457 :    
458 :     uint32_t ix = 0;
459 :     for (int32_t i_zi_210 = 0; i_zi_210<=l__t_207; i_zi_210++)
460 :     for (int32_t i_yi_209 = 0; i_yi_209<=l__t_207; i_yi_209++)
461 :     for (int32_t i_xi_208 = 0; i_xi_208<=l__t_207; i_xi_208++) {
462 :     Strand_sample_t *sp = (Strand_sample_t *)Diderot_InState(wrld, ix);
463 :     sample_InitState(sp, i_xi_208, i_yi_209, i_zi_210);
464 :     ix = ix+1;
465 :     }
466 :     return wrld;
467 :     }

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0