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]; \