forked from lijiext/lammps
1269 lines
61 KiB
C++
1269 lines
61 KiB
C++
/***************************************************************************
|
|
ucl_arg_kludge.h
|
|
-------------------
|
|
W. Michael Brown
|
|
|
|
Allow multiple arguments to be added for a kernel call at a single time
|
|
|
|
__________________________________________________________________________
|
|
This file is part of the Geryon Unified Coprocessor Library (UCL)
|
|
__________________________________________________________________________
|
|
|
|
begin : Sun Feb 7 2010
|
|
copyright : (C) 2010 by W. Michael Brown
|
|
email : brownw@ornl.gov
|
|
***************************************************************************/
|
|
|
|
/* -----------------------------------------------------------------------
|
|
Copyright (2010) Sandia Corporation. Under the terms of Contract
|
|
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
|
certain rights in this software. This software is distributed under
|
|
the Simplified BSD License.
|
|
----------------------------------------------------------------------- */
|
|
|
|
template <class t1, class t2>
|
|
inline void add_args(t1 *a1, t2 *a2) {
|
|
add_arg(a1); add_arg(a2);
|
|
}
|
|
|
|
template <class t1, class t2, class t3>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27, class t28>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27, t28 *a28) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27); add_arg(a28);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27, class t28, class t29>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27, t28 *a28, t29 *a29) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27); add_arg(a28); add_arg(a29);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27, class t28, class t29, class t30>
|
|
inline void add_args(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27, t28 *a28, t29 *a29, t30 *a30) {
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27); add_arg(a28); add_arg(a29); add_arg(a30);
|
|
}
|
|
|
|
|
|
// ---------------------------------------------------------------------------
|
|
|
|
template <class t1>
|
|
inline void run(t1 *a1) {
|
|
clear_args();
|
|
add_arg(a1);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2>
|
|
inline void run(t1 *a1, t2 *a2) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27, class t28>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27, t28 *a28) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27); add_arg(a28);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27, class t28, class t29>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27, t28 *a28, t29 *a29) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27); add_arg(a28); add_arg(a29);
|
|
run();
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27, class t28, class t29, class t30>
|
|
inline void run(t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27, t28 *a28, t29 *a29, t30 *a30) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27); add_arg(a28); add_arg(a29); add_arg(a30);
|
|
run();
|
|
}
|
|
|
|
// ---------------------------------------------------------------------------
|
|
|
|
template <class t1>
|
|
inline void run_cq(command_queue &cq, t1 *a1) {
|
|
clear_args();
|
|
add_arg(a1);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27, class t28>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27, t28 *a28) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27); add_arg(a28);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27, class t28, class t29>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27, t28 *a28, t29 *a29) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27); add_arg(a28); add_arg(a29);
|
|
run(cq);
|
|
}
|
|
|
|
template <class t1, class t2, class t3, class t4, class t5,
|
|
class t6, class t7, class t8, class t9, class t10,
|
|
class t11, class t12, class t13, class t14, class t15,
|
|
class t16, class t17, class t18, class t19, class t20,
|
|
class t21, class t22, class t23, class t24, class t25,
|
|
class t26, class t27, class t28, class t29, class t30>
|
|
inline void run_cq(command_queue &cq, t1 *a1, t2 *a2, t3 *a3, t4 *a4, t5 *a5,
|
|
t6 *a6, t7 *a7, t8 *a8, t9 *a9, t10 *a10,
|
|
t11 *a11, t12 *a12, t13 *a13, t14 *a14, t15 *a15,
|
|
t16 *a16, t17 *a17, t18 *a18, t19 *a19, t20 *a20,
|
|
t21 *a21, t22 *a22, t23 *a23, t24 *a24, t25 *a25,
|
|
t26 *a26, t27 *a27, t28 *a28, t29 *a29, t30 *a30) {
|
|
clear_args();
|
|
add_arg(a1); add_arg(a2); add_arg(a3); add_arg(a4); add_arg(a5);
|
|
add_arg(a6); add_arg(a7); add_arg(a8); add_arg(a9); add_arg(a10);
|
|
add_arg(a11); add_arg(a12); add_arg(a13); add_arg(a14); add_arg(a15);
|
|
add_arg(a16); add_arg(a17); add_arg(a18); add_arg(a19); add_arg(a20);
|
|
add_arg(a21); add_arg(a22); add_arg(a23); add_arg(a24); add_arg(a25);
|
|
add_arg(a26); add_arg(a27); add_arg(a28); add_arg(a29); add_arg(a30);
|
|
run(cq);
|
|
}
|
|
|