QDP++
qdp_scalarsite_generic_blas_g5_wrapper.h
Go to the documentation of this file.
1#ifndef QDP_SCALARSITE_GENERIC_BLAS_G5_WRAPPER_H
2#define QDP_SCALARSITE_GENERIC_BLAS_G5_WRAPPER_H
3
5// Threading evaluates wrappers
6//
7// by Xu Guo, EPCC, 26 August, 2008
9
10//
11// for vaypx3_g5: xpayz_g5ProjPlus, xpayz_g5ProjMinus, xmayz_g5ProjPlus, xmayz_g5ProjMinus
12//
13
14// structure for vaypx3_g5 of having order
22
23// user func for vaypx3_g5 of having order
24inline
26
27 REAL* Out = a->Out;
28 REAL* scalep = a->scalep;
29 REAL* Add = a->Add;
30 REAL* InScale = a->InScale;
31 void (*func)(REAL*, REAL*, REAL*, REAL*, int) = a->func;
32
33 int n_4vec = hi - lo;
34
35 int index = lo * 24;
36 InScale = &InScale[index];
37 Add = &Add[index];
38 Out = &Out[index];
39
40 func(Out, scalep, Add, InScale, n_4vec);
41
42}
43
44// structure for vaypx3_g5 of NOT having order (with y only)
47 const OLattice< TVec >& x_,
48 OLattice< TVec >& d_,
49 REAL* aptr_,
50 int Ns_,
51 const int* tab_,
52 void (*func_)(REAL*, REAL*, REAL*, REAL*, int)) : x(x_), d(d_), aptr(aptr_), Ns(Ns_), tab(tab_), func(func_) {}
53
54
55 const OLattice< TVec >& x;
56 OLattice< TVec >& d;
58 int Ns;
59 const int* tab;
60 void (*func)(REAL*, REAL*, REAL*, REAL*, int);
61};
62
63// user func for vaypx3_g5 of NOT having order (with y only)
64inline
66
67 const OLattice< TVec >& x = a->x;
68 OLattice< TVec >& d = a->d;
69 REAL* aptr = a->aptr;
70 int Ns = a->Ns;
71 const int* tab = a->tab;
72 void (*func)(REAL*, REAL*, REAL*, REAL*, int) = a->func;
73
74 for(int j=lo; j < hi; j++) {
75 int i=tab[j];
76 REAL* xptr = (REAL *)&(x.elem(i).elem(0).elem(0).real());
77 REAL* yptr = (REAL *)&(d.elem(i).elem(0).elem(0).real());
78 func(yptr, aptr, yptr, xptr, Ns);
79 }
80}
81
82
83// structure for vaypx3_g5 of NOT having order (with z )
86 const OLattice< TVec >& x_,
87 const OLattice< TVec >& y_,
88 OLattice< TVec >& d_,
89 REAL* aptr_,
90 int Ns_,
91 const int* tab_,
92 void (*func_)(REAL*, REAL*, REAL*, REAL*, int)) : x(x_),y(y_),d(d_),aptr(aptr_), Ns(Ns_), tab(tab_),func(func_) {}
93
94 const OLattice< TVec >& x;
95 const OLattice< TVec >& y;
96 OLattice< TVec >& d;
98 int Ns;
99 const int* tab;
100 void (*func)(REAL*, REAL*, REAL*, REAL*, int);
101};
102
103// user func for vaypx3_g5 of NOT having order (with z)
104inline
106
107 const OLattice< TVec >& x = a->x;
108 const OLattice< TVec >& y = a->y;
109 OLattice< TVec >& d = a->d;
110 REAL* aptr = a->aptr;
111 int Ns = a->Ns;
112 const int* tab = a->tab;
113 void (*func)(REAL*, REAL*, REAL*, REAL*, int) = a->func;
114
115 for(int j=lo; j < hi; j++) {
116 int i=tab[j];
117
118 REAL *xptr = (REAL *) &(x.elem(i).elem(0).elem(0).real());
119 REAL *yptr = (REAL *) &(y.elem(i).elem(0).elem(0).real());
120 REAL* zptr = &(d.elem(i).elem(0).elem(0).real());
121
122 // Get the no of 3vecs. s.start() and s.end() are inclusive so add +1
123 func(zptr, aptr, xptr, yptr, Ns);
124 }
125}
126
127
128//
129// for vadd3_g5: add_g5ProjPlus, add_g5ProjMinus, sub_g5ProjPlus, sub_g5ProjMinus
130//
131
132// structure for vadd3_g5 of having order
139
140// user func for vadd3_g5 of having order
141inline
143
144 REAL* Out = a->Out;
145 REAL* X = a->X;
146 REAL* Y = a->Y;
147 void (*func)(REAL*, REAL*, REAL*,int) = a->func;
148
149 int n_4vec = hi - lo;
150
151 int index = lo * 24;
152 X = &X[index];
153 Y = &Y[index];
154 Out = &Out[index];
155
156 func(Out, X, Y, n_4vec);
157
158}
159
160// structure for vadd3_g5 of NOT having order
162 unordered_vadd3_g5_user_arg( const OLattice< TVec >& x_,
163 OLattice< TVec >& d_,
164 int Ns_,
165 const int* tab_,
166 void (*func_)(REAL*, REAL*, REAL*, int)) : x(x_),d(d_),Ns(Ns_),tab(tab_),func(func_) {}
167
168 const OLattice< TVec >& x;
169 OLattice< TVec >& d;
170 int Ns;
171 const int* tab;
172 void (*func)(REAL*, REAL*, REAL*, int);
173};
174
175// user func for vadd3_g5 of NOT having order
176inline
178
179 const OLattice< TVec >& x = a->x;
180 OLattice< TVec >& d = a->d;
181 int Ns = a->Ns;
182 const int* tab = a->tab;
183 void (*func)(REAL*, REAL*, REAL*, int) = a->func;
184
185 for(int j=lo; j < hi; j++) {
186 int i=tab[j];
187 REAL* xptr = (REAL *)&(x.elem(i).elem(0).elem(0).real());
188 REAL* yptr = (REAL *)&(d.elem(i).elem(0).elem(0).real());
189 func(yptr, yptr, xptr, Ns);
190 }
191}
192
193
194
195//
196// for vaxpy3_g5: axpyz_g5ProjPlus, axpyz_g5ProjMinus, axmyz_g5ProjPlus, axmyz_g5ProjMinus
197//
198
199// structure for vaxpy3_g5 of having order
207
208// user func for vaxpy3_g5 of having order
209inline
211
212 REAL* Out = a->Out;
213 REAL* scalep = a->scalep;
214 REAL* InScale = a->InScale;
215 REAL* Add = a->Add;
216 void (*func)(REAL*, REAL*, REAL*, REAL*, int) = a->func;
217
218 int n_4vec = hi - lo;
219
220 int index = lo * 24;
221 Out = &Out[index];
222 InScale = &InScale[index];
223 Add = &Add[index];
224
225 func(Out, scalep, InScale, Add, n_4vec);
226
227}
228
229// structure for vaxpy3_g5 of NOT having order
232 const OLattice< TVec >& x_,
233 const OLattice< TVec >& y_,
234 OLattice< TVec >& d_,
235 REAL* aptr_,
236 int Ns_,
237 const int* tab_,
238 void (*func_)(REAL*, REAL*, REAL*, REAL*, int)) : x(x_), y(y_),d(d_),aptr(aptr_),Ns(Ns_), tab(tab_), func(func_) {}
239
240 const OLattice< TVec >& x;
241 const OLattice< TVec >& y;
242 OLattice< TVec >& d;
244 int Ns;
245 const int* tab;
246 void (*func)(REAL*, REAL*, REAL*, REAL*, int);
247};
248
249// user func for vaxpy3_g5 of NOT having order
250inline
252
253 const OLattice< TVec >& x = a->x;
254 const OLattice< TVec >& y = a->y;
255 OLattice< TVec >& d = a->d;
256 REAL* aptr = a->aptr;
257 int Ns = a->Ns;
258 const int* tab = a->tab;
259 void (*func)(REAL*, REAL*, REAL*, REAL*, int) = a->func;
260
261 for(int j=lo; j < hi; j++) {
262 int i=tab[j];
263 REAL *xptr = (REAL *) &(x.elem(i).elem(0).elem(0).real());
264 REAL *yptr = (REAL *) &(y.elem(i).elem(0).elem(0).real());
265 REAL* zptr = &(d.elem(i).elem(0).elem(0).real());
266
267 func(zptr, aptr, xptr, yptr, Ns);
268 }
269}
270
271
272
273
274//
275// for vscal3_g5: scal_g5ProjPlus, scal_g5ProjMinus
276//
277
278// structure for vscal_g5 of having order
285
286// user func for vscal_g5 of having order
287inline
289
290 REAL* Out = a->Out;
291 REAL* scalep = a->scalep;
292 REAL* In = a->In;
293 void (*func)(REAL*, REAL*, REAL*, int) = a->func;
294
295 int n_4vec = hi - lo;
296
297 int index = lo * 24;
298 Out = &Out[index];
299 In = &In[index];
300
301 func(Out, scalep, In, n_4vec);
302
303}
304
305// structure for vscal_g5 of NOT having order
307 unordered_vscal_g5_user_arg(const OLattice< TVec >& x_,
308 OLattice< TVec >& d_,
309 REAL* aptr_,
310 int Ns_,
311 const int* tab_,
312 void (*func_)(REAL*, REAL*, REAL*, int))
313 : x(x_), d(d_),aptr(aptr_),Ns(Ns_),tab(tab_),func(func_) {}
314
315 const OLattice< TVec >& x;
316 OLattice< TVec >& d;
318 int Ns;
319 const int* tab;
320 void (*func)(REAL*, REAL*, REAL*, int);
321};
322
323// user func for vscal_g5 of NOT having order
324inline
326
327 const OLattice< TVec >& x = a->x;
328 OLattice< TVec >& d = a->d;
329 REAL* aptr = a->aptr;
330 int Ns = a->Ns;
331 const int* tab = a->tab;
332 void (*func)(REAL*, REAL*, REAL*, int) = a->func;
333
334 for(int j=lo; j < hi; j++) {
335 int i=tab[j];
336 REAL *xptr = (REAL *) &(x.elem(i).elem(0).elem(0).real());
337 REAL* zptr = &(d.elem(i).elem(0).elem(0).real());
338
339 func(zptr, aptr, xptr, Ns);
340 }
341}
342
343
344
345
346
347//
348// for vaxpby3_g5: axpbyz_g5ProjPlus, axpbyz_g5ProjMinus, axmbyz_g5ProjPlus, axmbyz_g5ProjMinus
349//
350
351// structure for vaxpby3_g5 of having order
360
361// user func for vaxpby3_g5 of having order
362inline
364
365 REAL* Out = a->Out;
366 REAL* scalep = a->scalep;
367 REAL* InScale = a->InScale;
368 REAL* scalep2 = a->scalep2;
369 REAL* Add = a->Add;
370 void (*func)(REAL*, REAL*, REAL*, REAL*, REAL*, int) = a->func;
371
372 int n_4vec = hi - lo;
373
374 int index = lo * 24;
375 Out = &Out[index];
376 InScale = &InScale[index];
377 Add = &Add[index];
378
379 func(Out, scalep, InScale, scalep2, Add, n_4vec);
380
381}
382
383// structure for vaxpby3_g5 of NOT having order
386 const OLattice< TVec >& x_,
387 const OLattice< TVec >& y_,
388 OLattice< TVec >& d_,
389 REAL* aptr_,
390 REAL* bptr_,
391 int Ns_,
392 const int* tab_,
393 void (*func_)(REAL*, REAL*, REAL*, REAL*, REAL*, int)) : x(x_),y(y_),d(d_),aptr(aptr_),bptr(bptr_),Ns(Ns_),tab(tab_),func(func_) {}
394
395 const OLattice< TVec >& x;
396 const OLattice< TVec >& y;
397 OLattice< TVec >& d;
400 int Ns;
401 const int* tab;
402 void (*func)(REAL*, REAL*, REAL*, REAL*, REAL*, int);
403};
404
405// user func for vaxpby3_g5 of NOT having order
406inline
408
409 const OLattice< TVec >& x = a->x;
410 const OLattice< TVec >& y = a->y;
411 OLattice< TVec >& d = a->d;
412 REAL* aptr = a->aptr;
413 REAL* bptr = a->bptr;
414 int Ns = a->Ns;
415 const int* tab = a->tab;
416 void (*func)(REAL*, REAL*, REAL*, REAL*, REAL*, int) = a->func;
417
418 for(int j=lo; j < hi; j++) {
419 int i=tab[j];
420 REAL *xptr = (REAL *) &(x.elem(i).elem(0).elem(0).real());
421 REAL *yptr = (REAL *) &(y.elem(i).elem(0).elem(0).real());
422 REAL* zptr = &(d.elem(i).elem(0).elem(0).real());
423
424 func(zptr, aptr, xptr, bptr, yptr, Ns);
425 }
426}
427
428
429
430
431
432//
433// for scal3_g5
434//
435
436// structure for scal_g5 of having order
442
443// user func for scal_g5 of having order
444inline
446
447 REAL* Out = a->Out;
448 REAL* scalep = a->scalep;
449 REAL* In = a->In;
450
451 int n_4vec = hi - lo;
452
453 int index = lo * 24;
454 Out = &Out[index];
455 In = &In[index];
456
457 scal_g5(Out, scalep, In, n_4vec);
458
459}
460
461// structure for scal_g5 of NOT having order
463 unordered_scal_g5_user_arg( const OLattice< TVec >& x_,
464 OLattice< TVec >& d_,
465 REAL* aptr_,
466 int Ns_,
467 const int* tab_):x(x_),d(d_),aptr(aptr_),Ns(Ns_),tab(tab_) {}
468
469 const OLattice< TVec >& x;
470 OLattice< TVec >& d;
472 int Ns;
473 const int* tab;
474};
475
476// user func for scal_g5 of NOT having order
477inline
479
480 const OLattice< TVec >& x = a->x;
481 OLattice< TVec >& d = a->d;
482 REAL* aptr = a->aptr;
483 int Ns = a->Ns;
484 const int* tab = a->tab;
485
486 for(int j=lo; j < hi; j++) {
487 int i=tab[j];
488 REAL *xptr = (REAL *) &(x.elem(i).elem(0).elem(0).real());
489 REAL* zptr = &(d.elem(i).elem(0).elem(0).real());
490
491 scal_g5(zptr, aptr, xptr, Ns);
492 }
493}
494
495
496
497
498
499//
500// for xOpayz_g5: xpayz_g5, xmayz_g5, xpayz_ig5, xmayz_ig5
501//
502
503// structure for x0payz_g5 of having order
511
512// user func for xOpayz_g5 of having order
513inline
515
516 REAL* Out = a->Out;
517 REAL* scalep = a->scalep;
518 REAL* InScale = a->InScale;
519 REAL* Add = a->Add;
520 void (*func)(REAL*, REAL*, REAL*, REAL*, int) = a->func;
521
522 int n_4vec = hi - lo;
523
524 int index = lo * 24;
525 Out = &Out[index];
526 InScale = &InScale[index];
527 Add = &Add[index];
528
529 func(Out, scalep, InScale, Add, n_4vec);
530
531}
532
533// structure for xOpayz_g5 of NOT having order
536 const OLattice< TVec >& x_,
537 const OLattice< TVec >& y_,
538 OLattice< TVec >& d_,
539 REAL* aptr_,
540 int Ns_,
541 const int* tab_,
542 void (*func_)(REAL*, REAL*, REAL*, REAL*, int)) :
543 x(x_),y(y_),d(d_),aptr(aptr_),Ns(Ns_),tab(tab_),func(func_) {}
544
545 const OLattice< TVec >& x;
546 const OLattice< TVec >& y;
547 OLattice< TVec >& d;
549 int Ns;
550 const int* tab;
551 void (*func)(REAL*, REAL*, REAL*, REAL*, int);
552};
553
554// user func for xOpayz_g5 of NOT having order
555inline
557
558 const OLattice< TVec >& x = a->x;
559 const OLattice< TVec >& y = a->y;
560 OLattice< TVec >& d = a->d;
561 REAL* aptr = a->aptr;
562 int Ns = a->Ns;
563 const int* tab = a->tab;
564 void (*func)(REAL*, REAL*, REAL*, REAL*, int) = a->func;
565
566 for(int j=lo; j < hi; j++) {
567 int i=tab[j];
568 REAL *xptr = (REAL *) &(x.elem(i).elem(0).elem(0).real());
569 REAL *yptr = (REAL *) &(y.elem(i).elem(0).elem(0).real());
570 REAL* zptr = &(d.elem(i).elem(0).elem(0).real());
571
572 func(zptr, aptr, xptr, yptr, Ns);
573 }
574}
575
576
577
578
579//
580// for axOpbyz_g5: axpbyz_g5, g5_axmbyz, axpbyz_ig5, axmbyz_ig5
581//
582
583// structure for axOpbyz_g5 of having order
592
593// user func for axOpbyz_g5 of having order
594inline
596
597 REAL* Out = a->Out;
598 REAL* scalep = a->scalep;
599 REAL* InScale = a->InScale;
600 REAL* scalep2 = a->scalep2;
601 REAL* Add = a->Add;
602 void (*func)(REAL*, REAL*, REAL*, REAL*, REAL*, int) = a->func;
603
604 int n_4vec = hi - lo;
605
606 int index = lo * 24;
607 Out = &Out[index];
608 InScale = &InScale[index];
609 Add = &Add[index];
610
611 func(Out, scalep, InScale, scalep2, Add, n_4vec);
612
613}
614
615// structure for axOpbyz_g5 of NOT having order
617 unordered_axOpbyz_g5_user_arg( const OLattice< TVec >& x_,
618 const OLattice< TVec >& y_,
619 OLattice< TVec >& d_,
620 REAL* aptr_,
621 REAL* bptr_,
622 int Ns_,
623 const int* tab_,
624 void (*func_)(REAL*, REAL*, REAL*, REAL*, REAL*, int)) : x(x_),y(y_),d(d_),aptr(aptr_),bptr(bptr_),Ns(Ns_),tab(tab_),func(func_) {}
625
626 const OLattice< TVec >& x;
627 const OLattice< TVec >& y;
628 OLattice< TVec >& d;
631 int Ns;
632 const int* tab;
633 void (*func)(REAL*, REAL*, REAL*, REAL*, REAL*, int);
634};
635
636// user func for axOpbyz_g5 of NOT having order
637inline
639
640 const OLattice< TVec >& x = a->x;
641 const OLattice< TVec >& y = a->y;
642 OLattice< TVec >& d = a->d;
643 REAL* aptr = a->aptr;
644 REAL* bptr = a->bptr;
645 int Ns = a->Ns;
646 const int* tab = a->tab;
647 void (*func)(REAL*, REAL*, REAL*, REAL*, REAL*, int) = a->func;
648
649 for(int j=lo; j < hi; j++) {
650 int i=tab[j];
651 REAL *xptr = (REAL *) &(x.elem(i).elem(0).elem(0).real());
652 REAL *yptr = (REAL *) &(y.elem(i).elem(0).elem(0).real());
653 REAL* zptr = &(d.elem(i).elem(0).elem(0).real());
654
655 func(zptr, aptr, xptr, bptr, yptr, Ns);
656 }
657}
658
659
660
661
662//
663// for xOpayz_ig5: xpayz_ig5, xmayz_ig5
664//
665
666// structure for x0payz_ig5 of having order
674
675// user func for xOpayz_ig5 of having order
676inline
678
679 REAL* Out = a->Out;
680 REAL* scalep = a->scalep;
681 REAL* InScale = a->InScale;
682 REAL* Add = a->Add;
683 void (*func)(REAL*, REAL*, REAL*, REAL*, int) = a->func;
684
685 int n_4vec = hi - lo;
686
687 int index = lo * 24;
688 Out = &Out[index];
689 InScale = &InScale[index];
690 Add = &Add[index];
691
692 func(Out, scalep, InScale, Add, n_4vec);
693
694}
695
696// structure for xOpayz_ig5 of NOT having order (with xyz)
699 const OLattice< TVec >& x_,
700 const OLattice< TVec >& y_,
701 OLattice< TVec >& d_,
702 REAL* aptr_,
703 int Ns_,
704 const int* tab_,
705 void (*func_)(REAL*, REAL*, REAL*, REAL*, int)) : x(x_), y(y_),d(d_),aptr(aptr_),Ns(Ns_),tab(tab_),func(func_) {}
706
707 const OLattice< TVec >& x;
708 const OLattice< TVec >& y;
709 OLattice< TVec >& d;
711 int Ns;
712 const int* tab;
713 void (*func)(REAL*, REAL*, REAL*, REAL*, int);
714};
715
716// user func for xOpayz_ig5 of NOT having order (with xz)
717inline
719
720 const OLattice< TVec >& x = a->x;
721 const OLattice< TVec >& y = a->y;
722 OLattice< TVec >& d = a->d;
723 REAL* aptr = a->aptr;
724 int Ns = a->Ns;
725 const int* tab = a->tab;
726 void (*func)(REAL*, REAL*, REAL*, REAL*, int) = a->func;
727
728 for(int j=lo; j < hi; j++) {
729 int i=tab[j];
730 REAL *xptr = (REAL *) &(x.elem(i).elem(0).elem(0).real());
731 REAL *yptr = (REAL *) &(y.elem(i).elem(0).elem(0).real());
732 REAL* zptr = &(d.elem(i).elem(0).elem(0).real());
733
734 func(zptr, aptr, xptr, yptr, Ns);
735 }
736}
737
738
739
740
741// structure for xOpayz_ig5 of NOT having order (with xz)
744 const OLattice< TVec >& x_,
745 OLattice< TVec >& d_,
746 REAL* aptr_,
747 int Ns_,
748 const int* tab_,
749 void (*func_)(REAL*, REAL*, REAL*, REAL*, int)) : x(x_),d(d_),aptr(aptr_),Ns(Ns_),tab(tab_),func(func_) {}
750 const OLattice< TVec >& x;
751 OLattice< TVec >& d;
753 int Ns;
754 const int* tab;
755 void (*func)(REAL*, REAL*, REAL*, REAL*, int);
756};
757
758// user func for xOpayz_ig5 of NOT having order (with xz)
759inline
761
762 const OLattice< TVec >& x = a->x;
763 OLattice< TVec >& d = a->d;
764 REAL* aptr = a->aptr;
765 int Ns = a->Ns;
766 const int* tab = a->tab;
767 void (*func)(REAL*, REAL*, REAL*, REAL*, int) = a->func;
768
769 for(int j=lo; j < hi; j++) {
770 int i=tab[j];
771 REAL *xptr = (REAL *) &(x.elem(i).elem(0).elem(0).real());
772 REAL* zptr = &(d.elem(i).elem(0).elem(0).real());
773
774 func(zptr, aptr, zptr, xptr, Ns);
775 }
776}
777
778
779
780
781
782
783#endif
MakeReturn< UnaryNode< FnReal, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnReal >::Type_t >::Expression_t real(const QDPExpr< T1, C1 > &l)
REAL32 REAL
void unordered_vscal_g5_evaluate_function(int lo, int hi, int myId, unordered_vscal_g5_user_arg *a)
void ordered_scal_g5_evaluate_function(int lo, int hi, int myId, ordered_scal_g5_user_arg *a)
void unordered_vadd3_g5_evaluate_function(int lo, int hi, int myId, unordered_vadd3_g5_user_arg *a)
void unordered_vaxpby3_g5_evaluate_function(int lo, int hi, int myId, unordered_vaxpby3_g5_user_arg *a)
void ordered_xOpayz_ig5_evaluate_function(int lo, int hi, int myId, ordered_xOpayz_ig5_user_arg *a)
void unordered_xOpayz_ig5_z_evaluate_function(int lo, int hi, int myId, unordered_xOpayz_ig5_z_user_arg *a)
void ordered_vscal_g5_evaluate_function(int lo, int hi, int myId, ordered_vscal_g5_user_arg *a)
void unordered_vaypx3_g5_y_evaluate_function(int lo, int hi, int myId, unordered_vaypx3_g5_y_user_arg *a)
void unordered_vaxpy3_g5_evaluate_function(int lo, int hi, int myId, unordered_vaxpy3_g5_user_arg *a)
void ordered_vaxpy3_g5_evaluate_function(int lo, int hi, int myId, ordered_vaxpy3_g5_user_arg *a)
void unordered_scal_g5_evaluate_function(int lo, int hi, int myId, unordered_scal_g5_user_arg *a)
void unordered_xOpayz_ig5_y_evaluate_function(int lo, int hi, int myId, unordered_xOpayz_ig5_y_user_arg *a)
void ordered_xOpayz_g5_evaluate_function(int lo, int hi, int myId, ordered_xOpayz_g5_user_arg *a)
void ordered_vadd3_g5_evaluate_function(int lo, int hi, int myId, ordered_vadd3_g5_user_arg *a)
void ordered_axOpbyz_g5_evaluate_function(int lo, int hi, int myId, ordered_axOpbyz_g5_user_arg *a)
void ordered_vaxpby3_g5_evaluate_function(int lo, int hi, int myId, ordered_vaxpby3_g5_user_arg *a)
void unordered_vaypx3_g5_z_evaluate_function(int lo, int hi, int myId, unordered_vaypx3_g5_z_user_arg *a)
void unordered_xOpayz_g5_evaluate_function(int lo, int hi, int myId, unordered_xOpayz_g5_user_arg *a)
void ordered_vaypx3_g5_evaluate_function(int lo, int hi, int myId, ordered_vaypx3_g5_user_arg *a)
void unordered_axOpbyz_g5_evaluate_function(int lo, int hi, int myId, unordered_axOpbyz_g5_user_arg *a)
void(* func)(REAL *, REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, REAL *, int)
unordered_axOpbyz_g5_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, REAL *bptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, REAL *, int))
unordered_scal_g5_user_arg(const OLattice< TVec > &x_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_)
unordered_vadd3_g5_user_arg(const OLattice< TVec > &x_, OLattice< TVec > &d_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, int))
void(* func)(REAL *, REAL *, REAL *, int)
unordered_vaxpby3_g5_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, REAL *bptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, REAL *, int))
void(* func)(REAL *, REAL *, REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
unordered_vaxpy3_g5_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
unordered_vaypx3_g5_y_user_arg(const OLattice< TVec > &x_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
unordered_vaypx3_g5_z_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))
unordered_vscal_g5_user_arg(const OLattice< TVec > &x_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, int))
void(* func)(REAL *, REAL *, REAL *, int)
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
unordered_xOpayz_g5_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
unordered_xOpayz_ig5_y_user_arg(const OLattice< TVec > &x_, const OLattice< TVec > &y_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))
void(* func)(REAL *, REAL *, REAL *, REAL *, int)
unordered_xOpayz_ig5_z_user_arg(const OLattice< TVec > &x_, OLattice< TVec > &d_, REAL *aptr_, int Ns_, const int *tab_, void(*func_)(REAL *, REAL *, REAL *, REAL *, int))