Go to the documentation of this file.
19 #define _p_MemSum(i, r, s1, s2) r[i] = s1[i] + s2[i]
21 #define _p_MemSum_LengthOne(r, s1, s2) _p_MemSum(0, r, s1, s2)
22 #define _p_MemSum_LengthTwo(r, s1, s2) do{_p_MemSum_LengthOne(r, s1, s2); _p_MemSum(1, r, s1, s2);} while(0)
23 #define _p_MemSum_LengthThree(r, s1, s2) do{_p_MemSum_LengthTwo(r, s1, s2); _p_MemSum(2, r, s1, s2);} while(0)
24 #define _p_MemSum_LengthFour(r, s1, s2) do{_p_MemSum_LengthThree(r, s1, s2); _p_MemSum(3, r, s1, s2);} while(0)
25 #define _p_MemSum_LengthFive(r, s1, s2) do{_p_MemSum_LengthFour(r, s1, s2); _p_MemSum(4, r, s1, s2);} while(0)
26 #define _p_MemSum_LengthSix(r, s1, s2) do{_p_MemSum_LengthFive(r, s1, s2); _p_MemSum(5, r, s1, s2);} while(0)
27 #define _p_MemSum_LengthSeven(r, s1, s2) do{_p_MemSum_LengthSix(r, s1, s2); _p_MemSum(6, r, s1, s2);} while(0)
28 #define _p_MemSum_LengthEight(r, s1, s2) do{_p_MemSum_LengthSeven(r, s1, s2); _p_MemSum(7, r, s1, s2);} while(0)
30 #define _p_MemSum_Declare(r, s1, s2) \
31 const unsigned long* _s1 = ((unsigned long*) s1); \
32 const unsigned long* _s2 = ((unsigned long*) s2); \
33 unsigned long* _r = ((unsigned long*) r)
35 #define p_MemSum_LengthOne(r, s1, s2, length) _p_MemSum_LengthOne(r, s1, s2)
36 #define p_MemSum_LengthTwo(r, s1, s2, length) \
39 _p_MemSum_Declare(r,s1,s2); \
40 _p_MemSum_LengthTwo(_r, _s1, _s2); \
43 #define p_MemSum_LengthThree(r, s1, s2, length) \
46 _p_MemSum_Declare(r,s1,s2); \
47 _p_MemSum_LengthThree(_r, _s1, _s2); \
50 #define p_MemSum_LengthFour(r, s1, s2, length) \
53 _p_MemSum_Declare(r,s1,s2); \
54 _p_MemSum_LengthFour(_r, _s1, _s2); \
57 #define p_MemSum_LengthFive(r, s1, s2, length) \
60 _p_MemSum_Declare(r,s1,s2); \
61 _p_MemSum_LengthFive(_r, _s1, _s2); \
64 #define p_MemSum_LengthSix(r, s1, s2, length) \
67 _p_MemSum_Declare(r,s1,s2); \
68 _p_MemSum_LengthSix(_r, _s1, _s2); \
71 #define p_MemSum_LengthSeven(r, s1, s2, length) \
74 _p_MemSum_Declare(r,s1,s2); \
75 _p_MemSum_LengthSeven(_r, _s1, _s2); \
78 #define p_MemSum_LengthEight(r, s1, s2, length) \
81 _p_MemSum_Declare(r,s1,s2); \
82 _p_MemSum_LengthEight(_r, _s1, _s2); \
86 #define p_MemSum_LengthGeneral(r, s1, s2, length) \
89 _p_MemSum_Declare(r,s1,s2); \
90 const unsigned long _l = (unsigned long) length; \
91 unsigned long _i = 0; \
95 _r[_i] = _s1[_i] + _s2[_i]; \
107 #define _p_MemAdd(i, r, s) r[i] += s[i]
109 #define _p_MemAdd_LengthOne(r, s) _p_MemAdd(0, r, s)
110 #define _p_MemAdd_LengthTwo(r, s) do{_p_MemAdd_LengthOne(r, s); _p_MemAdd(1, r, s);} while(0)
111 #define _p_MemAdd_LengthThree(r, s) do{_p_MemAdd_LengthTwo(r, s); _p_MemAdd(2, r, s);} while(0)
112 #define _p_MemAdd_LengthFour(r, s) do{_p_MemAdd_LengthThree(r, s); _p_MemAdd(3, r, s);} while(0)
113 #define _p_MemAdd_LengthFive(r, s) do{_p_MemAdd_LengthFour(r, s); _p_MemAdd(4, r, s);} while(0)
114 #define _p_MemAdd_LengthSix(r, s) do{_p_MemAdd_LengthFive(r, s); _p_MemAdd(5, r, s);} while(0)
115 #define _p_MemAdd_LengthSeven(r, s) do{_p_MemAdd_LengthSix(r, s); _p_MemAdd(6, r, s);} while(0)
116 #define _p_MemAdd_LengthEight(r, s) do{_p_MemAdd_LengthSeven(r, s); _p_MemAdd(7, r, s);} while(0)
118 #define _p_MemAdd_Declare(r, s) \
119 const unsigned long* _s = ((unsigned long*) s); \
120 unsigned long* _r = ((unsigned long*) r)
122 #define p_MemAdd_LengthOne(r, s, length) _p_MemAdd_LengthOne(r, s)
123 #define p_MemAdd_LengthTwo(r, s, length) \
126 _p_MemAdd_Declare(r,s); \
127 _p_MemAdd_LengthTwo(_r, _s); \
130 #define p_MemAdd_LengthThree(r, s, length) \
133 _p_MemAdd_Declare(r,s); \
134 _p_MemAdd_LengthThree(_r, _s); \
137 #define p_MemAdd_LengthFour(r, s, length) \
140 _p_MemAdd_Declare(r,s); \
141 _p_MemAdd_LengthFour(_r, _s); \
144 #define p_MemAdd_LengthFive(r, s, length) \
147 _p_MemAdd_Declare(r,s); \
148 _p_MemAdd_LengthFive(_r, _s); \
151 #define p_MemAdd_LengthSix(r, s, length) \
154 _p_MemAdd_Declare(r,s); \
155 _p_MemAdd_LengthSix(_r, _s); \
158 #define p_MemAdd_LengthSeven(r, s, length) \
161 _p_MemAdd_Declare(r,s); \
162 _p_MemAdd_LengthSeven(_r, _s); \
165 #define p_MemAdd_LengthEight(r, s, length) \
168 _p_MemAdd_Declare(r,s); \
169 _p_MemAdd_LengthEight(_r, _s); \
173 #define p_MemAdd_LengthGeneral(r, s, length) \
176 _p_MemAdd_Declare(r,s); \
177 const unsigned long _l = (unsigned long) length; \
178 unsigned long _i = 0; \
195 #define _p_MemDiff(i, r, s1, s2) r[i] = s1[i] - s2[i]
197 #define _p_MemDiff_LengthOne(r, s1, s2) _p_MemDiff(0, r, s1, s2)
198 #define _p_MemDiff_LengthTwo(r, s1, s2) do{_p_MemDiff_LengthOne(r, s1, s2); _p_MemDiff(1, r, s1, s2);} while(0)
199 #define _p_MemDiff_LengthThree(r, s1, s2) do{_p_MemDiff_LengthTwo(r, s1, s2); _p_MemDiff(2, r, s1, s2);} while(0)
200 #define _p_MemDiff_LengthFour(r, s1, s2) do{_p_MemDiff_LengthThree(r, s1, s2); _p_MemDiff(3, r, s1, s2);} while(0)
201 #define _p_MemDiff_LengthFive(r, s1, s2) do{_p_MemDiff_LengthFour(r, s1, s2); _p_MemDiff(4, r, s1, s2);} while(0)
202 #define _p_MemDiff_LengthSix(r, s1, s2) do{_p_MemDiff_LengthFive(r, s1, s2); _p_MemDiff(5, r, s1, s2);} while(0)
203 #define _p_MemDiff_LengthSeven(r, s1, s2) do{_p_MemDiff_LengthSix(r, s1, s2); _p_MemDiff(6, r, s1, s2);} while(0)
204 #define _p_MemDiff_LengthEight(r, s1, s2) do{_p_MemDiff_LengthSeven(r, s1, s2); _p_MemDiff(7, r, s1, s2);} while(0)
206 #define _p_MemDiff_Declare(r, s1, s2) \
207 const unsigned long* _s1 = ((unsigned long*) s1); \
208 const unsigned long* _s2 = ((unsigned long*) s2); \
209 unsigned long* _r = ((unsigned long*) r)
211 #define p_MemDiff_LengthOne(r, s1, s2, length) _p_MemDiff_LengthOne(r, s1, s2)
212 #define p_MemDiff_LengthTwo(r, s1, s2, length) \
215 _p_MemDiff_Declare(r,s1,s2); \
216 _p_MemDiff_LengthTwo(_r, _s1, _s2); \
219 #define p_MemDiff_LengthThree(r, s1, s2, length) \
222 _p_MemDiff_Declare(r,s1,s2); \
223 _p_MemDiff_LengthThree(_r, _s1, _s2); \
226 #define p_MemDiff_LengthFour(r, s1, s2, length) \
229 _p_MemDiff_Declare(r,s1,s2); \
230 _p_MemDiff_LengthFour(_r, _s1, _s2); \
233 #define p_MemDiff_LengthFive(r, s1, s2, length) \
236 _p_MemDiff_Declare(r,s1,s2); \
237 _p_MemDiff_LengthFive(_r, _s1, _s2); \
240 #define p_MemDiff_LengthSix(r, s1, s2, length) \
243 _p_MemDiff_Declare(r,s1,s2); \
244 _p_MemDiff_LengthSix(_r, _s1, _s2); \
247 #define p_MemDiff_LengthSeven(r, s1, s2, length) \
250 _p_MemDiff_Declare(r,s1,s2); \
251 _p_MemDiff_LengthSeven(_r, _s1, _s2); \
254 #define p_MemDiff_LengthEight(r, s1, s2, length) \
257 _p_MemDiff_Declare(r,s1,s2); \
258 _p_MemDiff_LengthEight(_r, _s1, _s2); \
262 #define p_MemDiff_LengthGeneral(r, s1, s2, length) \
265 _p_MemDiff_Declare(r,s1,s2); \
266 const unsigned long _l = (unsigned long) length; \
267 unsigned long _i = 0; \
271 _r[_i] = _s1[_i] - _s2[_i]; \
285 #define _p_MemSub(i, r, s) r[i] -= s[i]
287 #define _p_MemSub_LengthOne(r, s) _p_MemSub(0, r, s)
288 #define _p_MemSub_LengthTwo(r, s) do{_p_MemSub_LengthOne(r, s); _p_MemSub(1, r, s);} while(0)
289 #define _p_MemSub_LengthThree(r, s) do{_p_MemSub_LengthTwo(r, s); _p_MemSub(2, r, s);} while(0)
290 #define _p_MemSub_LengthFour(r, s) do{_p_MemSub_LengthThree(r, s); _p_MemSub(3, r, s);} while(0)
291 #define _p_MemSub_LengthFive(r, s) do{_p_MemSub_LengthFour(r, s); _p_MemSub(4, r, s);} while(0)
292 #define _p_MemSub_LengthSix(r, s) do{_p_MemSub_LengthFive(r, s); _p_MemSub(5, r, s);} while(0)
293 #define _p_MemSub_LengthSeven(r, s) do{_p_MemSub_LengthSix(r, s); _p_MemSub(6, r, s);} while(0)
294 #define _p_MemSub_LengthEight(r, s) do{_p_MemSub_LengthSeven(r, s); _p_MemSub(7, r, s);} while(0)
296 #define _p_MemSub_Declare(r, s) \
297 const unsigned long* _s = ((unsigned long*) s); \
298 unsigned long* _r = ((unsigned long*) r)
300 #define p_MemSub_LengthOne(r, s, length) _p_MemSub_LengthOne(r, s)
301 #define p_MemSub_LengthTwo(r, s, length) \
304 _p_MemSub_Declare(r,s); \
305 _p_MemSub_LengthTwo(_r, _s); \
308 #define p_MemSub_LengthThree(r, s, length) \
311 _p_MemSub_Declare(r,s); \
312 _p_MemSub_LengthThree(_r, _s); \
315 #define p_MemSub_LengthFour(r, s, length) \
318 _p_MemSub_Declare(r,s); \
319 _p_MemSub_LengthFour(_r, _s); \
322 #define p_MemSub_LengthFive(r, s, length) \
325 _p_MemSub_Declare(r,s); \
326 _p_MemSub_LengthFive(_r, _s); \
329 #define p_MemSub_LengthSix(r, s, length) \
332 _p_MemSub_Declare(r,s); \
333 _p_MemSub_LengthSix(_r, _s); \
336 #define p_MemSub_LengthSeven(r, s, length) \
339 _p_MemSub_Declare(r,s); \
340 _p_MemSub_LengthSeven(_r, _s); \
343 #define p_MemSub_LengthEight(r, s, length) \
346 _p_MemSub_Declare(r,s); \
347 _p_MemSub_LengthEight(_r, _s); \
351 #define p_MemSub_LengthGeneral(r, s, length) \
354 _p_MemSub_Declare(r,s); \
355 const unsigned long _l = (unsigned long) length; \
356 unsigned long _i = 0; \
367 #define _p_MemAddSub_Declare(r, s, t) \
368 const unsigned long* _s = ((unsigned long*) s); \
369 const unsigned long* _t = ((unsigned long*) t); \
370 unsigned long* _r = ((unsigned long*) r)
372 #define p_MemAddSub_LengthGeneral(r, s, t, length) \
375 _p_MemAddSub_Declare(r,s, t); \
376 const unsigned long _l = (unsigned long) length; \
377 unsigned long _i = 0; \
381 _r[_i] += _s[_i] - _t[_i]; \