00001 /**** 00002 ***** Copyright 2010 Intel Corporation All Rights Reserved. 00003 ***** 00004 ***** The source code, information and material contained herein are owned by Intel Corporation or its suppliers ***** 00005 ***** or licensors, and title to such Material remains with Intel Corporation or its suppliers or licensors. ***** 00006 ***** The Material contains proprietary information of Intel or its suppliers and licensors. The Material is ***** 00007 ***** protected by worldwide copyright laws and treaty provisions. No part of the Material may be used, copied, ***** 00008 ***** reproduced, modified, published, uploaded, posted, transmitted, distributed or disclosed in any way without ***** 00009 ***** Intel's prior express written permission. 00010 ***** 00011 ***** No license under any patent, copyright or other intellectual property rights in the material is granted to ***** 00012 ***** or conferred upon you, either expressly, by implication, inducement, estoppel or otherwise. Any license ***** 00013 ***** under such intellectual property rights must be express and approved by Intel in writing. 00014 ****/ 00015 00016 /**** Copyright Ends ****/ 00017 00018 // 00019 // This file was automatically generated and should not be edited directly. 00020 // 00021 00022 #ifndef ARBB_CPP_DENSE_USER_FUNCS_HPP 00023 #define ARBB_CPP_DENSE_USER_FUNCS_HPP 00024 00025 #include "namespace.hpp" 00026 #include "dense.hpp" 00027 #include "detail/pp.hpp" 00028 #include "detail/prototype_convert.hpp" 00029 00030 00032 00033 // Free function implementation body 00034 #define ARBB_ELTWISE_FNBODY_1(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0) \ 00035 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00036 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0) \ 00037 { \ 00038 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0)> pt_conv_t; \ 00039 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00040 return f.TEMPLATE call<1>(i0); \ 00041 } \ 00042 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00043 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0) \ 00044 { \ 00045 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0)> pt_conv_t; \ 00046 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00047 return f.TEMPLATE call<2>(i0); \ 00048 } \ 00049 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00050 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0) \ 00051 { \ 00052 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0)> pt_conv_t; \ 00053 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00054 return f.TEMPLATE call<3>(i0); \ 00055 } 00056 00057 #define ARBB_ELTWISE_FNBODY_2(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1) \ 00058 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00059 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00060 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1) \ 00061 { \ 00062 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1)> pt_conv_t; \ 00063 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00064 return f.TEMPLATE call<1>(i0, i1); \ 00065 } \ 00066 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00067 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00068 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1) \ 00069 { \ 00070 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1)> pt_conv_t; \ 00071 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00072 return f.TEMPLATE call<2>(i0, i1); \ 00073 } \ 00074 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00075 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00076 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1) \ 00077 { \ 00078 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1)> pt_conv_t; \ 00079 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00080 return f.TEMPLATE call<3>(i0, i1); \ 00081 } 00082 00083 #define ARBB_ELTWISE_FNBODY_3(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2) \ 00084 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00085 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00086 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00087 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2) \ 00088 { \ 00089 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2)> pt_conv_t; \ 00090 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00091 return f.TEMPLATE call<1>(i0, i1, i2); \ 00092 } \ 00093 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00094 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00095 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00096 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2) \ 00097 { \ 00098 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2)> pt_conv_t; \ 00099 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00100 return f.TEMPLATE call<2>(i0, i1, i2); \ 00101 } \ 00102 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00103 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00104 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00105 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2) \ 00106 { \ 00107 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2)> pt_conv_t; \ 00108 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00109 return f.TEMPLATE call<3>(i0, i1, i2); \ 00110 } 00111 00112 #define ARBB_ELTWISE_FNBODY_4(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3) \ 00113 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00114 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00115 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00116 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00117 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3) \ 00118 { \ 00119 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3)> pt_conv_t; \ 00120 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00121 return f.TEMPLATE call<1>(i0, i1, i2, i3); \ 00122 } \ 00123 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00124 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00125 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00126 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00127 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3) \ 00128 { \ 00129 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3)> pt_conv_t; \ 00130 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00131 return f.TEMPLATE call<2>(i0, i1, i2, i3); \ 00132 } \ 00133 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00134 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00135 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00136 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00137 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3) \ 00138 { \ 00139 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3)> pt_conv_t; \ 00140 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00141 return f.TEMPLATE call<3>(i0, i1, i2, i3); \ 00142 } 00143 00144 #define ARBB_ELTWISE_FNBODY_5(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4) \ 00145 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00146 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00147 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00148 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00149 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00150 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4) \ 00151 { \ 00152 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4)> pt_conv_t; \ 00153 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00154 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4); \ 00155 } \ 00156 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00157 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00158 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00159 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00160 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00161 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4) \ 00162 { \ 00163 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4)> pt_conv_t; \ 00164 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00165 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4); \ 00166 } \ 00167 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00168 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00169 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00170 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00171 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00172 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4) \ 00173 { \ 00174 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4)> pt_conv_t; \ 00175 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00176 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4); \ 00177 } 00178 00179 #define ARBB_ELTWISE_FNBODY_6(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5) \ 00180 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00181 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00182 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00183 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00184 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00185 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00186 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5) \ 00187 { \ 00188 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5)> pt_conv_t; \ 00189 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00190 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5); \ 00191 } \ 00192 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00193 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00194 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00195 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00196 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00197 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00198 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5) \ 00199 { \ 00200 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5)> pt_conv_t; \ 00201 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00202 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5); \ 00203 } \ 00204 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00205 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00206 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00207 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00208 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00209 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00210 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5) \ 00211 { \ 00212 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5)> pt_conv_t; \ 00213 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00214 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5); \ 00215 } 00216 00217 #define ARBB_ELTWISE_FNBODY_7(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6) \ 00218 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00219 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00220 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00221 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00222 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00223 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00224 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00225 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6) \ 00226 { \ 00227 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6)> pt_conv_t; \ 00228 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00229 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6); \ 00230 } \ 00231 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00232 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00233 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00234 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00235 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00236 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00237 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00238 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6) \ 00239 { \ 00240 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6)> pt_conv_t; \ 00241 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00242 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6); \ 00243 } \ 00244 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00245 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00246 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00247 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00248 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00249 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00250 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00251 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6) \ 00252 { \ 00253 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6)> pt_conv_t; \ 00254 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00255 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6); \ 00256 } 00257 00258 #define ARBB_ELTWISE_FNBODY_8(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7) \ 00259 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00260 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00261 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00262 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00263 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00264 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00265 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00266 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00267 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7) \ 00268 { \ 00269 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7)> pt_conv_t; \ 00270 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00271 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7); \ 00272 } \ 00273 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00274 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00275 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00276 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00277 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00278 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00279 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00280 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00281 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7) \ 00282 { \ 00283 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7)> pt_conv_t; \ 00284 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00285 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7); \ 00286 } \ 00287 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00288 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00289 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00290 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00291 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00292 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00293 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00294 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00295 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7) \ 00296 { \ 00297 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7)> pt_conv_t; \ 00298 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00299 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7); \ 00300 } 00301 00302 #define ARBB_ELTWISE_FNBODY_9(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8) \ 00303 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00304 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00305 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00306 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00307 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00308 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00309 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00310 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00311 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00312 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8) \ 00313 { \ 00314 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8)> pt_conv_t; \ 00315 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00316 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8); \ 00317 } \ 00318 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00319 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00320 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00321 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00322 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00323 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00324 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00325 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00326 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 00327 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8) \ 00328 { \ 00329 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8)> pt_conv_t; \ 00330 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00331 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8); \ 00332 } \ 00333 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00334 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00335 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00336 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00337 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00338 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00339 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00340 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00341 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 00342 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8) \ 00343 { \ 00344 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8)> pt_conv_t; \ 00345 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00346 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8); \ 00347 } 00348 00349 #define ARBB_ELTWISE_FNBODY_10(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) \ 00350 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00351 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00352 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00353 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00354 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00355 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00356 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00357 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00358 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00359 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 00360 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9) \ 00361 { \ 00362 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> pt_conv_t; \ 00363 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00364 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9); \ 00365 } \ 00366 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00367 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00368 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00369 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00370 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00371 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00372 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00373 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00374 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 00375 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 00376 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9) \ 00377 { \ 00378 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> pt_conv_t; \ 00379 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00380 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9); \ 00381 } \ 00382 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00383 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00384 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00385 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00386 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00387 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00388 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00389 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00390 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 00391 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 00392 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9) \ 00393 { \ 00394 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> pt_conv_t; \ 00395 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00396 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9); \ 00397 } 00398 00399 #define ARBB_ELTWISE_FNBODY_11(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) \ 00400 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00401 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00402 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00403 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00404 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00405 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00406 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00407 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00408 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00409 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 00410 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 00411 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10) \ 00412 { \ 00413 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> pt_conv_t; \ 00414 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00415 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10); \ 00416 } \ 00417 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00418 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00419 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00420 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00421 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00422 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00423 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00424 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00425 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 00426 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 00427 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 00428 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10) \ 00429 { \ 00430 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> pt_conv_t; \ 00431 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00432 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10); \ 00433 } \ 00434 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00435 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00436 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00437 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00438 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00439 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00440 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00441 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00442 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 00443 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 00444 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 00445 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10) \ 00446 { \ 00447 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> pt_conv_t; \ 00448 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00449 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10); \ 00450 } 00451 00452 #define ARBB_ELTWISE_FNBODY_12(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) \ 00453 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00454 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00455 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00456 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00457 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00458 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00459 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00460 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00461 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00462 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 00463 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 00464 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 00465 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11) \ 00466 { \ 00467 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> pt_conv_t; \ 00468 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00469 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11); \ 00470 } \ 00471 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00472 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00473 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00474 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00475 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00476 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00477 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00478 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00479 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 00480 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 00481 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 00482 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 00483 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11) \ 00484 { \ 00485 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> pt_conv_t; \ 00486 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00487 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11); \ 00488 } \ 00489 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00490 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00491 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00492 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00493 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00494 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00495 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00496 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00497 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 00498 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 00499 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 00500 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 00501 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11) \ 00502 { \ 00503 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> pt_conv_t; \ 00504 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00505 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11); \ 00506 } 00507 00508 #define ARBB_ELTWISE_FNBODY_13(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) \ 00509 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00510 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00511 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00512 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00513 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00514 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00515 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00516 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00517 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00518 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 00519 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 00520 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 00521 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 00522 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12) \ 00523 { \ 00524 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> pt_conv_t; \ 00525 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00526 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12); \ 00527 } \ 00528 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00529 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00530 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00531 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00532 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00533 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00534 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00535 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00536 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 00537 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 00538 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 00539 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 00540 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 00541 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12) \ 00542 { \ 00543 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> pt_conv_t; \ 00544 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00545 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12); \ 00546 } \ 00547 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00548 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00549 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00550 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00551 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00552 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00553 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00554 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00555 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 00556 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 00557 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 00558 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 00559 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 00560 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12) \ 00561 { \ 00562 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> pt_conv_t; \ 00563 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00564 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12); \ 00565 } 00566 00567 #define ARBB_ELTWISE_FNBODY_14(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) \ 00568 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00569 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00570 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00571 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00572 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00573 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00574 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00575 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00576 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00577 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 00578 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 00579 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 00580 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 00581 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 00582 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13) \ 00583 { \ 00584 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> pt_conv_t; \ 00585 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00586 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13); \ 00587 } \ 00588 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00589 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00590 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00591 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00592 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00593 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00594 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00595 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00596 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 00597 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 00598 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 00599 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 00600 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 00601 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 00602 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13) \ 00603 { \ 00604 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> pt_conv_t; \ 00605 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00606 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13); \ 00607 } \ 00608 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00609 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00610 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00611 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00612 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00613 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00614 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00615 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00616 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 00617 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 00618 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 00619 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 00620 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 00621 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 00622 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13) \ 00623 { \ 00624 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> pt_conv_t; \ 00625 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00626 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13); \ 00627 } 00628 00629 #define ARBB_ELTWISE_FNBODY_15(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) \ 00630 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00631 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00632 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00633 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00634 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00635 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00636 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00637 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00638 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00639 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 00640 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 00641 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 00642 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 00643 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 00644 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 00645 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14) \ 00646 { \ 00647 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> pt_conv_t; \ 00648 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00649 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14); \ 00650 } \ 00651 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00652 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00653 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00654 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00655 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00656 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00657 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00658 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00659 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 00660 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 00661 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 00662 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 00663 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 00664 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 00665 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 00666 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14) \ 00667 { \ 00668 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> pt_conv_t; \ 00669 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00670 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14); \ 00671 } \ 00672 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00673 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00674 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00675 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00676 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00677 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00678 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00679 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00680 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 00681 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 00682 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 00683 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 00684 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 00685 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 00686 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 00687 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14) \ 00688 { \ 00689 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> pt_conv_t; \ 00690 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00691 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14); \ 00692 } 00693 00694 #define ARBB_ELTWISE_FNBODY_16(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) \ 00695 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00696 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00697 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00698 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00699 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00700 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00701 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00702 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00703 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00704 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 00705 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 00706 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 00707 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 00708 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 00709 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 00710 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 00711 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15) \ 00712 { \ 00713 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> pt_conv_t; \ 00714 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00715 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15); \ 00716 } \ 00717 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00718 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00719 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00720 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00721 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00722 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00723 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00724 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00725 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 00726 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 00727 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 00728 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 00729 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 00730 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 00731 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 00732 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 00733 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15) \ 00734 { \ 00735 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> pt_conv_t; \ 00736 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00737 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15); \ 00738 } \ 00739 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00740 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00741 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00742 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00743 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00744 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00745 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00746 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00747 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 00748 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 00749 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 00750 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 00751 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 00752 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 00753 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 00754 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 00755 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15) \ 00756 { \ 00757 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> pt_conv_t; \ 00758 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00759 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15); \ 00760 } 00761 00762 #define ARBB_ELTWISE_FNBODY_17(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) \ 00763 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00764 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00765 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00766 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00767 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00768 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00769 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00770 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00771 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00772 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 00773 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 00774 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 00775 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 00776 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 00777 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 00778 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 00779 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 00780 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16) \ 00781 { \ 00782 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> pt_conv_t; \ 00783 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00784 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16); \ 00785 } \ 00786 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00787 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00788 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00789 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00790 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00791 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00792 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00793 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00794 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 00795 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 00796 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 00797 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 00798 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 00799 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 00800 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 00801 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 00802 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 00803 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16) \ 00804 { \ 00805 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> pt_conv_t; \ 00806 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00807 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16); \ 00808 } \ 00809 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00810 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00811 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00812 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00813 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00814 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00815 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00816 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00817 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 00818 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 00819 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 00820 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 00821 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 00822 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 00823 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 00824 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 00825 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 00826 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16) \ 00827 { \ 00828 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> pt_conv_t; \ 00829 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00830 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16); \ 00831 } 00832 00833 #define ARBB_ELTWISE_FNBODY_18(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) \ 00834 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00835 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00836 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00837 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00838 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00839 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00840 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00841 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00842 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00843 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 00844 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 00845 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 00846 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 00847 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 00848 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 00849 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 00850 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 00851 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 00852 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17) \ 00853 { \ 00854 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)> pt_conv_t; \ 00855 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00856 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17); \ 00857 } \ 00858 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00859 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00860 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00861 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00862 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00863 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00864 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00865 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00866 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 00867 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 00868 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 00869 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 00870 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 00871 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 00872 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 00873 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 00874 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 00875 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 00876 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17) \ 00877 { \ 00878 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)> pt_conv_t; \ 00879 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00880 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17); \ 00881 } \ 00882 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00883 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00884 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00885 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00886 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00887 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00888 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00889 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00890 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 00891 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 00892 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 00893 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 00894 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 00895 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 00896 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 00897 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 00898 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 00899 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 00900 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17) \ 00901 { \ 00902 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)> pt_conv_t; \ 00903 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00904 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17); \ 00905 } 00906 00907 #define ARBB_ELTWISE_FNBODY_19(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) \ 00908 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00909 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00910 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00911 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00912 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00913 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00914 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00915 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00916 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00917 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 00918 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 00919 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 00920 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 00921 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 00922 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 00923 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 00924 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 00925 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 00926 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 00927 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18) \ 00928 { \ 00929 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)> pt_conv_t; \ 00930 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00931 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18); \ 00932 } \ 00933 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 00934 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 00935 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 00936 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 00937 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 00938 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 00939 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 00940 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 00941 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 00942 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 00943 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 00944 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 00945 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 00946 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 00947 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 00948 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 00949 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 00950 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 00951 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 00952 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18) \ 00953 { \ 00954 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)> pt_conv_t; \ 00955 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00956 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18); \ 00957 } \ 00958 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 00959 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 00960 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 00961 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 00962 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 00963 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 00964 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 00965 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 00966 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 00967 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 00968 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 00969 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 00970 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 00971 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 00972 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 00973 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 00974 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 00975 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 00976 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 00977 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18) \ 00978 { \ 00979 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)> pt_conv_t; \ 00980 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 00981 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18); \ 00982 } 00983 00984 #define ARBB_ELTWISE_FNBODY_20(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) \ 00985 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 00986 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 00987 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 00988 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 00989 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 00990 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 00991 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 00992 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 00993 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 00994 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 00995 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 00996 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 00997 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 00998 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 00999 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 01000 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 01001 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 01002 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 01003 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 01004 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 01005 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19) \ 01006 { \ 01007 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)> pt_conv_t; \ 01008 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01009 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19); \ 01010 } \ 01011 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 01012 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 01013 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 01014 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 01015 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 01016 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 01017 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 01018 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 01019 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 01020 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 01021 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 01022 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 01023 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 01024 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 01025 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 01026 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 01027 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 01028 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 01029 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 01030 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 01031 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19) \ 01032 { \ 01033 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)> pt_conv_t; \ 01034 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01035 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19); \ 01036 } \ 01037 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 01038 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 01039 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 01040 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 01041 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 01042 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 01043 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 01044 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 01045 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 01046 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 01047 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 01048 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 01049 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 01050 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 01051 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 01052 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 01053 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 01054 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 01055 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 01056 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 01057 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19) \ 01058 { \ 01059 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)> pt_conv_t; \ 01060 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01061 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19); \ 01062 } 01063 01064 #define ARBB_ELTWISE_FNBODY_21(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) \ 01065 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 01066 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 01067 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 01068 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 01069 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 01070 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 01071 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 01072 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 01073 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 01074 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 01075 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 01076 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 01077 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 01078 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 01079 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 01080 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 01081 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 01082 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 01083 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 01084 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 01085 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 01086 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20) \ 01087 { \ 01088 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)> pt_conv_t; \ 01089 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01090 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20); \ 01091 } \ 01092 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 01093 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 01094 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 01095 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 01096 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 01097 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 01098 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 01099 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 01100 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 01101 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 01102 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 01103 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 01104 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 01105 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 01106 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 01107 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 01108 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 01109 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 01110 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 01111 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 01112 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 01113 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20) \ 01114 { \ 01115 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)> pt_conv_t; \ 01116 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01117 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20); \ 01118 } \ 01119 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 01120 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 01121 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 01122 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 01123 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 01124 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 01125 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 01126 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 01127 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 01128 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 01129 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 01130 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 01131 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 01132 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 01133 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 01134 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 01135 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 01136 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 01137 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 01138 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 01139 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 01140 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20) \ 01141 { \ 01142 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)> pt_conv_t; \ 01143 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01144 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20); \ 01145 } 01146 01147 #define ARBB_ELTWISE_FNBODY_22(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) \ 01148 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 01149 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 01150 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 01151 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 01152 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 01153 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 01154 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 01155 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 01156 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 01157 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 01158 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 01159 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 01160 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 01161 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 01162 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 01163 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 01164 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 01165 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 01166 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 01167 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 01168 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 01169 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 01170 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21) \ 01171 { \ 01172 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)> pt_conv_t; \ 01173 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01174 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21); \ 01175 } \ 01176 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 01177 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 01178 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 01179 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 01180 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 01181 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 01182 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 01183 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 01184 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 01185 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 01186 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 01187 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 01188 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 01189 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 01190 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 01191 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 01192 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 01193 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 01194 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 01195 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 01196 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 01197 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 01198 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21) \ 01199 { \ 01200 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)> pt_conv_t; \ 01201 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01202 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21); \ 01203 } \ 01204 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 01205 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 01206 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 01207 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 01208 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 01209 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 01210 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 01211 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 01212 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 01213 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 01214 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 01215 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 01216 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 01217 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 01218 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 01219 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 01220 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 01221 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 01222 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 01223 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 01224 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 01225 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 01226 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21) \ 01227 { \ 01228 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)> pt_conv_t; \ 01229 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01230 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21); \ 01231 } 01232 01233 #define ARBB_ELTWISE_FNBODY_23(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) \ 01234 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 01235 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 01236 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 01237 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 01238 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 01239 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 01240 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 01241 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 01242 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 01243 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 01244 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 01245 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 01246 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 01247 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 01248 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 01249 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 01250 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 01251 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 01252 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 01253 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 01254 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 01255 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 01256 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 01257 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22) \ 01258 { \ 01259 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)> pt_conv_t; \ 01260 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01261 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); \ 01262 } \ 01263 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 01264 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 01265 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 01266 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 01267 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 01268 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 01269 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 01270 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 01271 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 01272 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 01273 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 01274 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 01275 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 01276 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 01277 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 01278 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 01279 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 01280 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 01281 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 01282 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 01283 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 01284 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 01285 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 01286 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22) \ 01287 { \ 01288 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)> pt_conv_t; \ 01289 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01290 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); \ 01291 } \ 01292 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 01293 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 01294 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 01295 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 01296 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 01297 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 01298 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 01299 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 01300 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 01301 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 01302 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 01303 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 01304 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 01305 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 01306 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 01307 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 01308 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 01309 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 01310 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 01311 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 01312 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 01313 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 01314 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 01315 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22) \ 01316 { \ 01317 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)> pt_conv_t; \ 01318 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01319 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); \ 01320 } 01321 01322 #define ARBB_ELTWISE_FNBODY_24(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) \ 01323 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 01324 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 01325 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 01326 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 01327 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 01328 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 01329 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 01330 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 01331 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 01332 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 01333 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 01334 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 01335 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 01336 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 01337 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 01338 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 01339 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 01340 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 01341 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 01342 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 01343 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 01344 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 01345 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 01346 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 01347 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23) \ 01348 { \ 01349 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)> pt_conv_t; \ 01350 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01351 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); \ 01352 } \ 01353 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 01354 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 01355 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 01356 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 01357 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 01358 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 01359 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 01360 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 01361 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 01362 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 01363 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 01364 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 01365 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 01366 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 01367 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 01368 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 01369 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 01370 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 01371 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 01372 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 01373 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 01374 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 01375 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 01376 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 01377 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23) \ 01378 { \ 01379 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)> pt_conv_t; \ 01380 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01381 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); \ 01382 } \ 01383 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 01384 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 01385 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 01386 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 01387 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 01388 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 01389 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 01390 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 01391 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 01392 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 01393 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 01394 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 01395 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 01396 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 01397 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 01398 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 01399 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 01400 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 01401 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 01402 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 01403 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 01404 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 01405 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 01406 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 01407 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23) \ 01408 { \ 01409 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)> pt_conv_t; \ 01410 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01411 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); \ 01412 } 01413 01414 #define ARBB_ELTWISE_FNBODY_25(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) \ 01415 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 01416 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 01417 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 01418 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 01419 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 01420 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 01421 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 01422 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 01423 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 01424 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 01425 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 01426 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 01427 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 01428 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 01429 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 01430 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 01431 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 01432 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 01433 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 01434 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 01435 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 01436 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 01437 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 01438 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 01439 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23, \ 01440 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<1>::param_type i24) \ 01441 { \ 01442 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)> pt_conv_t; \ 01443 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01444 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24); \ 01445 } \ 01446 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 01447 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 01448 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 01449 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 01450 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 01451 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 01452 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 01453 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 01454 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 01455 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 01456 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 01457 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 01458 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 01459 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 01460 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 01461 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 01462 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 01463 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 01464 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 01465 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 01466 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 01467 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 01468 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 01469 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 01470 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23, \ 01471 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<2>::param_type i24) \ 01472 { \ 01473 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)> pt_conv_t; \ 01474 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01475 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24); \ 01476 } \ 01477 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 01478 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 01479 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 01480 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 01481 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 01482 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 01483 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 01484 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 01485 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 01486 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 01487 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 01488 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 01489 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 01490 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 01491 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 01492 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 01493 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 01494 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 01495 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 01496 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 01497 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 01498 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 01499 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 01500 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 01501 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23, \ 01502 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<3>::param_type i24) \ 01503 { \ 01504 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)> pt_conv_t; \ 01505 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01506 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24); \ 01507 } 01508 01509 #define ARBB_ELTWISE_FNBODY_26(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) \ 01510 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 01511 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 01512 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 01513 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 01514 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 01515 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 01516 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 01517 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 01518 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 01519 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 01520 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 01521 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 01522 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 01523 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 01524 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 01525 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 01526 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 01527 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 01528 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 01529 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 01530 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 01531 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 01532 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 01533 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 01534 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23, \ 01535 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<1>::param_type i24, \ 01536 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<1>::param_type i25) \ 01537 { \ 01538 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)> pt_conv_t; \ 01539 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01540 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25); \ 01541 } \ 01542 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 01543 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 01544 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 01545 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 01546 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 01547 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 01548 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 01549 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 01550 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 01551 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 01552 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 01553 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 01554 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 01555 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 01556 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 01557 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 01558 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 01559 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 01560 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 01561 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 01562 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 01563 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 01564 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 01565 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 01566 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23, \ 01567 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<2>::param_type i24, \ 01568 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<2>::param_type i25) \ 01569 { \ 01570 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)> pt_conv_t; \ 01571 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01572 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25); \ 01573 } \ 01574 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 01575 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 01576 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 01577 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 01578 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 01579 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 01580 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 01581 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 01582 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 01583 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 01584 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 01585 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 01586 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 01587 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 01588 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 01589 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 01590 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 01591 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 01592 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 01593 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 01594 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 01595 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 01596 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 01597 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 01598 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23, \ 01599 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<3>::param_type i24, \ 01600 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<3>::param_type i25) \ 01601 { \ 01602 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)> pt_conv_t; \ 01603 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01604 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25); \ 01605 } 01606 01607 #define ARBB_ELTWISE_FNBODY_27(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) \ 01608 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 01609 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 01610 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 01611 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 01612 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 01613 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 01614 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 01615 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 01616 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 01617 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 01618 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 01619 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 01620 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 01621 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 01622 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 01623 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 01624 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 01625 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 01626 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 01627 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 01628 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 01629 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 01630 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 01631 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 01632 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23, \ 01633 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<1>::param_type i24, \ 01634 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<1>::param_type i25, \ 01635 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<1>::param_type i26) \ 01636 { \ 01637 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)> pt_conv_t; \ 01638 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01639 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26); \ 01640 } \ 01641 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 01642 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 01643 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 01644 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 01645 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 01646 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 01647 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 01648 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 01649 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 01650 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 01651 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 01652 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 01653 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 01654 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 01655 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 01656 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 01657 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 01658 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 01659 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 01660 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 01661 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 01662 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 01663 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 01664 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 01665 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23, \ 01666 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<2>::param_type i24, \ 01667 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<2>::param_type i25, \ 01668 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<2>::param_type i26) \ 01669 { \ 01670 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)> pt_conv_t; \ 01671 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01672 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26); \ 01673 } \ 01674 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 01675 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 01676 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 01677 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 01678 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 01679 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 01680 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 01681 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 01682 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 01683 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 01684 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 01685 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 01686 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 01687 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 01688 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 01689 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 01690 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 01691 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 01692 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 01693 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 01694 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 01695 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 01696 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 01697 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 01698 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23, \ 01699 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<3>::param_type i24, \ 01700 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<3>::param_type i25, \ 01701 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<3>::param_type i26) \ 01702 { \ 01703 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)> pt_conv_t; \ 01704 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01705 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26); \ 01706 } 01707 01708 #define ARBB_ELTWISE_FNBODY_28(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) \ 01709 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 01710 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 01711 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 01712 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 01713 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 01714 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 01715 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 01716 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 01717 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 01718 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 01719 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 01720 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 01721 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 01722 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 01723 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 01724 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 01725 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 01726 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 01727 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 01728 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 01729 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 01730 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 01731 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 01732 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 01733 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23, \ 01734 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<1>::param_type i24, \ 01735 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<1>::param_type i25, \ 01736 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<1>::param_type i26, \ 01737 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<1>::param_type i27) \ 01738 { \ 01739 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)> pt_conv_t; \ 01740 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01741 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27); \ 01742 } \ 01743 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 01744 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 01745 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 01746 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 01747 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 01748 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 01749 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 01750 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 01751 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 01752 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 01753 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 01754 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 01755 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 01756 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 01757 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 01758 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 01759 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 01760 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 01761 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 01762 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 01763 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 01764 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 01765 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 01766 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 01767 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23, \ 01768 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<2>::param_type i24, \ 01769 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<2>::param_type i25, \ 01770 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<2>::param_type i26, \ 01771 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<2>::param_type i27) \ 01772 { \ 01773 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)> pt_conv_t; \ 01774 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01775 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27); \ 01776 } \ 01777 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 01778 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 01779 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 01780 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 01781 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 01782 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 01783 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 01784 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 01785 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 01786 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 01787 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 01788 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 01789 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 01790 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 01791 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 01792 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 01793 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 01794 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 01795 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 01796 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 01797 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 01798 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 01799 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 01800 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 01801 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23, \ 01802 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<3>::param_type i24, \ 01803 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<3>::param_type i25, \ 01804 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<3>::param_type i26, \ 01805 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<3>::param_type i27) \ 01806 { \ 01807 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)> pt_conv_t; \ 01808 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01809 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27); \ 01810 } 01811 01812 #define ARBB_ELTWISE_FNBODY_29(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) \ 01813 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 01814 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 01815 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 01816 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 01817 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 01818 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 01819 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 01820 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 01821 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 01822 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 01823 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 01824 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 01825 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 01826 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 01827 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 01828 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 01829 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 01830 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 01831 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 01832 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 01833 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 01834 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 01835 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 01836 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 01837 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23, \ 01838 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<1>::param_type i24, \ 01839 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<1>::param_type i25, \ 01840 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<1>::param_type i26, \ 01841 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<1>::param_type i27, \ 01842 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<1>::param_type i28) \ 01843 { \ 01844 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)> pt_conv_t; \ 01845 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01846 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28); \ 01847 } \ 01848 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 01849 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 01850 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 01851 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 01852 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 01853 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 01854 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 01855 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 01856 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 01857 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 01858 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 01859 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 01860 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 01861 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 01862 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 01863 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 01864 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 01865 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 01866 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 01867 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 01868 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 01869 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 01870 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 01871 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 01872 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23, \ 01873 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<2>::param_type i24, \ 01874 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<2>::param_type i25, \ 01875 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<2>::param_type i26, \ 01876 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<2>::param_type i27, \ 01877 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<2>::param_type i28) \ 01878 { \ 01879 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)> pt_conv_t; \ 01880 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01881 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28); \ 01882 } \ 01883 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 01884 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 01885 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 01886 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 01887 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 01888 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 01889 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 01890 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 01891 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 01892 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 01893 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 01894 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 01895 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 01896 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 01897 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 01898 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 01899 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 01900 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 01901 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 01902 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 01903 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 01904 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 01905 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 01906 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 01907 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23, \ 01908 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<3>::param_type i24, \ 01909 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<3>::param_type i25, \ 01910 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<3>::param_type i26, \ 01911 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<3>::param_type i27, \ 01912 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<3>::param_type i28) \ 01913 { \ 01914 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)> pt_conv_t; \ 01915 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01916 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28); \ 01917 } 01918 01919 #define ARBB_ELTWISE_FNBODY_30(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) \ 01920 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 01921 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 01922 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 01923 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 01924 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 01925 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 01926 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 01927 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 01928 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 01929 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 01930 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 01931 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 01932 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 01933 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 01934 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 01935 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 01936 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 01937 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 01938 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 01939 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 01940 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 01941 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 01942 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 01943 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 01944 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23, \ 01945 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<1>::param_type i24, \ 01946 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<1>::param_type i25, \ 01947 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<1>::param_type i26, \ 01948 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<1>::param_type i27, \ 01949 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<1>::param_type i28, \ 01950 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<1>::param_type i29) \ 01951 { \ 01952 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)> pt_conv_t; \ 01953 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01954 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29); \ 01955 } \ 01956 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 01957 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 01958 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 01959 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 01960 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 01961 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 01962 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 01963 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 01964 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 01965 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 01966 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 01967 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 01968 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 01969 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 01970 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 01971 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 01972 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 01973 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 01974 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 01975 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 01976 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 01977 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 01978 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 01979 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 01980 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23, \ 01981 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<2>::param_type i24, \ 01982 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<2>::param_type i25, \ 01983 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<2>::param_type i26, \ 01984 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<2>::param_type i27, \ 01985 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<2>::param_type i28, \ 01986 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<2>::param_type i29) \ 01987 { \ 01988 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)> pt_conv_t; \ 01989 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 01990 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29); \ 01991 } \ 01992 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 01993 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 01994 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 01995 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 01996 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 01997 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 01998 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 01999 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 02000 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 02001 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 02002 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 02003 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 02004 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 02005 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 02006 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 02007 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 02008 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 02009 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 02010 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 02011 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 02012 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 02013 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 02014 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 02015 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 02016 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23, \ 02017 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<3>::param_type i24, \ 02018 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<3>::param_type i25, \ 02019 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<3>::param_type i26, \ 02020 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<3>::param_type i27, \ 02021 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<3>::param_type i28, \ 02022 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<3>::param_type i29) \ 02023 { \ 02024 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)> pt_conv_t; \ 02025 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02026 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29); \ 02027 } 02028 02029 #define ARBB_ELTWISE_FNBODY_31(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) \ 02030 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02031 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02032 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 02033 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 02034 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 02035 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 02036 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 02037 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 02038 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 02039 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 02040 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 02041 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 02042 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 02043 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 02044 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 02045 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 02046 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 02047 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 02048 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 02049 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 02050 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 02051 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 02052 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 02053 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 02054 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23, \ 02055 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<1>::param_type i24, \ 02056 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<1>::param_type i25, \ 02057 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<1>::param_type i26, \ 02058 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<1>::param_type i27, \ 02059 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<1>::param_type i28, \ 02060 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<1>::param_type i29, \ 02061 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<1>::param_type i30) \ 02062 { \ 02063 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)> pt_conv_t; \ 02064 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02065 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30); \ 02066 } \ 02067 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02068 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02069 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 02070 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 02071 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 02072 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 02073 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 02074 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 02075 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 02076 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 02077 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 02078 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 02079 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 02080 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 02081 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 02082 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 02083 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 02084 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 02085 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 02086 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 02087 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 02088 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 02089 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 02090 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 02091 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23, \ 02092 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<2>::param_type i24, \ 02093 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<2>::param_type i25, \ 02094 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<2>::param_type i26, \ 02095 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<2>::param_type i27, \ 02096 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<2>::param_type i28, \ 02097 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<2>::param_type i29, \ 02098 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<2>::param_type i30) \ 02099 { \ 02100 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)> pt_conv_t; \ 02101 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02102 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30); \ 02103 } \ 02104 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02105 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02106 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 02107 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 02108 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 02109 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 02110 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 02111 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 02112 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 02113 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 02114 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 02115 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 02116 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 02117 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 02118 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 02119 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 02120 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 02121 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 02122 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 02123 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 02124 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 02125 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 02126 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 02127 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 02128 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23, \ 02129 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<3>::param_type i24, \ 02130 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<3>::param_type i25, \ 02131 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<3>::param_type i26, \ 02132 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<3>::param_type i27, \ 02133 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<3>::param_type i28, \ 02134 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<3>::param_type i29, \ 02135 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<3>::param_type i30) \ 02136 { \ 02137 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)> pt_conv_t; \ 02138 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02139 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30); \ 02140 } 02141 02142 #define ARBB_ELTWISE_FNBODY_32(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) \ 02143 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02144 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02145 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 02146 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 02147 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 02148 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 02149 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 02150 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 02151 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 02152 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 02153 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 02154 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 02155 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 02156 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 02157 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 02158 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 02159 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 02160 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 02161 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 02162 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 02163 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 02164 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 02165 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 02166 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 02167 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23, \ 02168 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<1>::param_type i24, \ 02169 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<1>::param_type i25, \ 02170 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<1>::param_type i26, \ 02171 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<1>::param_type i27, \ 02172 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<1>::param_type i28, \ 02173 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<1>::param_type i29, \ 02174 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<1>::param_type i30, \ 02175 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<1>::param_type i31) \ 02176 { \ 02177 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)> pt_conv_t; \ 02178 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02179 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31); \ 02180 } \ 02181 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02182 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02183 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 02184 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 02185 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 02186 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 02187 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 02188 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 02189 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 02190 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 02191 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 02192 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 02193 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 02194 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 02195 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 02196 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 02197 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 02198 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 02199 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 02200 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 02201 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 02202 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 02203 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 02204 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 02205 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23, \ 02206 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<2>::param_type i24, \ 02207 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<2>::param_type i25, \ 02208 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<2>::param_type i26, \ 02209 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<2>::param_type i27, \ 02210 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<2>::param_type i28, \ 02211 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<2>::param_type i29, \ 02212 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<2>::param_type i30, \ 02213 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<2>::param_type i31) \ 02214 { \ 02215 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)> pt_conv_t; \ 02216 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02217 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31); \ 02218 } \ 02219 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02220 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02221 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 02222 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 02223 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 02224 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 02225 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 02226 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 02227 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 02228 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 02229 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 02230 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 02231 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 02232 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 02233 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 02234 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 02235 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 02236 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 02237 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 02238 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 02239 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 02240 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 02241 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 02242 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 02243 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23, \ 02244 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<3>::param_type i24, \ 02245 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<3>::param_type i25, \ 02246 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<3>::param_type i26, \ 02247 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<3>::param_type i27, \ 02248 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<3>::param_type i28, \ 02249 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<3>::param_type i29, \ 02250 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<3>::param_type i30, \ 02251 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<3>::param_type i31) \ 02252 { \ 02253 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)> pt_conv_t; \ 02254 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02255 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31); \ 02256 } 02257 02258 #define ARBB_ELTWISE_FNBODY_33(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) \ 02259 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02260 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02261 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 02262 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 02263 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 02264 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 02265 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 02266 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 02267 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 02268 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 02269 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 02270 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 02271 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 02272 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 02273 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 02274 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 02275 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 02276 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 02277 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 02278 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 02279 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 02280 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 02281 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 02282 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 02283 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23, \ 02284 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<1>::param_type i24, \ 02285 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<1>::param_type i25, \ 02286 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<1>::param_type i26, \ 02287 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<1>::param_type i27, \ 02288 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<1>::param_type i28, \ 02289 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<1>::param_type i29, \ 02290 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<1>::param_type i30, \ 02291 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<1>::param_type i31, \ 02292 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T32>::TEMPLATE dense<1>::param_type i32) \ 02293 { \ 02294 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32)> pt_conv_t; \ 02295 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02296 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32); \ 02297 } \ 02298 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02299 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02300 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 02301 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 02302 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 02303 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 02304 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 02305 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 02306 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 02307 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 02308 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 02309 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 02310 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 02311 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 02312 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 02313 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 02314 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 02315 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 02316 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 02317 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 02318 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 02319 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 02320 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 02321 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 02322 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23, \ 02323 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<2>::param_type i24, \ 02324 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<2>::param_type i25, \ 02325 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<2>::param_type i26, \ 02326 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<2>::param_type i27, \ 02327 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<2>::param_type i28, \ 02328 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<2>::param_type i29, \ 02329 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<2>::param_type i30, \ 02330 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<2>::param_type i31, \ 02331 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T32>::TEMPLATE dense<2>::param_type i32) \ 02332 { \ 02333 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32)> pt_conv_t; \ 02334 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02335 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32); \ 02336 } \ 02337 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02338 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02339 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 02340 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 02341 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 02342 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 02343 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 02344 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 02345 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 02346 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 02347 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 02348 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 02349 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 02350 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 02351 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 02352 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 02353 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 02354 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 02355 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 02356 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 02357 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 02358 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 02359 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 02360 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 02361 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23, \ 02362 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<3>::param_type i24, \ 02363 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<3>::param_type i25, \ 02364 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<3>::param_type i26, \ 02365 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<3>::param_type i27, \ 02366 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<3>::param_type i28, \ 02367 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<3>::param_type i29, \ 02368 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<3>::param_type i30, \ 02369 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<3>::param_type i31, \ 02370 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T32>::TEMPLATE dense<3>::param_type i32) \ 02371 { \ 02372 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32)> pt_conv_t; \ 02373 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02374 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32); \ 02375 } 02376 02377 #define ARBB_ELTWISE_FNBODY_34(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) \ 02378 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02379 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02380 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 02381 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 02382 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 02383 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 02384 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 02385 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 02386 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 02387 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 02388 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 02389 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 02390 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 02391 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 02392 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 02393 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 02394 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 02395 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 02396 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 02397 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 02398 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 02399 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 02400 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 02401 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 02402 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23, \ 02403 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<1>::param_type i24, \ 02404 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<1>::param_type i25, \ 02405 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<1>::param_type i26, \ 02406 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<1>::param_type i27, \ 02407 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<1>::param_type i28, \ 02408 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<1>::param_type i29, \ 02409 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<1>::param_type i30, \ 02410 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<1>::param_type i31, \ 02411 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T32>::TEMPLATE dense<1>::param_type i32, \ 02412 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T33>::TEMPLATE dense<1>::param_type i33) \ 02413 { \ 02414 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33)> pt_conv_t; \ 02415 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02416 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33); \ 02417 } \ 02418 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02419 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02420 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 02421 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 02422 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 02423 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 02424 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 02425 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 02426 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 02427 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 02428 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 02429 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 02430 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 02431 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 02432 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 02433 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 02434 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 02435 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 02436 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 02437 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 02438 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 02439 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 02440 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 02441 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 02442 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23, \ 02443 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<2>::param_type i24, \ 02444 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<2>::param_type i25, \ 02445 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<2>::param_type i26, \ 02446 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<2>::param_type i27, \ 02447 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<2>::param_type i28, \ 02448 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<2>::param_type i29, \ 02449 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<2>::param_type i30, \ 02450 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<2>::param_type i31, \ 02451 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T32>::TEMPLATE dense<2>::param_type i32, \ 02452 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T33>::TEMPLATE dense<2>::param_type i33) \ 02453 { \ 02454 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33)> pt_conv_t; \ 02455 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02456 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33); \ 02457 } \ 02458 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02459 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02460 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 02461 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 02462 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 02463 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 02464 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 02465 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 02466 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 02467 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 02468 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 02469 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 02470 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 02471 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 02472 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 02473 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 02474 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 02475 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 02476 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 02477 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 02478 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 02479 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 02480 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 02481 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 02482 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23, \ 02483 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<3>::param_type i24, \ 02484 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<3>::param_type i25, \ 02485 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<3>::param_type i26, \ 02486 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<3>::param_type i27, \ 02487 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<3>::param_type i28, \ 02488 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<3>::param_type i29, \ 02489 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<3>::param_type i30, \ 02490 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<3>::param_type i31, \ 02491 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T32>::TEMPLATE dense<3>::param_type i32, \ 02492 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T33>::TEMPLATE dense<3>::param_type i33) \ 02493 { \ 02494 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33)> pt_conv_t; \ 02495 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02496 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33); \ 02497 } 02498 02499 #define ARBB_ELTWISE_FNBODY_35(MODIFIER, TYPENAME, TEMPLATE, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) \ 02500 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02501 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02502 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<1>::param_type i1, \ 02503 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<1>::param_type i2, \ 02504 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<1>::param_type i3, \ 02505 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<1>::param_type i4, \ 02506 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<1>::param_type i5, \ 02507 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<1>::param_type i6, \ 02508 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<1>::param_type i7, \ 02509 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<1>::param_type i8, \ 02510 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<1>::param_type i9, \ 02511 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<1>::param_type i10, \ 02512 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<1>::param_type i11, \ 02513 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<1>::param_type i12, \ 02514 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<1>::param_type i13, \ 02515 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<1>::param_type i14, \ 02516 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<1>::param_type i15, \ 02517 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<1>::param_type i16, \ 02518 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<1>::param_type i17, \ 02519 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<1>::param_type i18, \ 02520 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<1>::param_type i19, \ 02521 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<1>::param_type i20, \ 02522 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<1>::param_type i21, \ 02523 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<1>::param_type i22, \ 02524 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<1>::param_type i23, \ 02525 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<1>::param_type i24, \ 02526 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<1>::param_type i25, \ 02527 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<1>::param_type i26, \ 02528 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<1>::param_type i27, \ 02529 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<1>::param_type i28, \ 02530 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<1>::param_type i29, \ 02531 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<1>::param_type i30, \ 02532 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<1>::param_type i31, \ 02533 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T32>::TEMPLATE dense<1>::param_type i32, \ 02534 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T33>::TEMPLATE dense<1>::param_type i33, \ 02535 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T34>::TEMPLATE dense<1>::param_type i34) \ 02536 { \ 02537 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34)> pt_conv_t; \ 02538 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02539 return f.TEMPLATE call<1>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34); \ 02540 } \ 02541 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02542 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02543 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<2>::param_type i1, \ 02544 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<2>::param_type i2, \ 02545 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<2>::param_type i3, \ 02546 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<2>::param_type i4, \ 02547 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<2>::param_type i5, \ 02548 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<2>::param_type i6, \ 02549 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<2>::param_type i7, \ 02550 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<2>::param_type i8, \ 02551 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<2>::param_type i9, \ 02552 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<2>::param_type i10, \ 02553 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<2>::param_type i11, \ 02554 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<2>::param_type i12, \ 02555 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<2>::param_type i13, \ 02556 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<2>::param_type i14, \ 02557 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<2>::param_type i15, \ 02558 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<2>::param_type i16, \ 02559 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<2>::param_type i17, \ 02560 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<2>::param_type i18, \ 02561 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<2>::param_type i19, \ 02562 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<2>::param_type i20, \ 02563 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<2>::param_type i21, \ 02564 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<2>::param_type i22, \ 02565 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<2>::param_type i23, \ 02566 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<2>::param_type i24, \ 02567 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<2>::param_type i25, \ 02568 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<2>::param_type i26, \ 02569 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<2>::param_type i27, \ 02570 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<2>::param_type i28, \ 02571 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<2>::param_type i29, \ 02572 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<2>::param_type i30, \ 02573 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<2>::param_type i31, \ 02574 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T32>::TEMPLATE dense<2>::param_type i32, \ 02575 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T33>::TEMPLATE dense<2>::param_type i33, \ 02576 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T34>::TEMPLATE dense<2>::param_type i34) \ 02577 { \ 02578 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34)> pt_conv_t; \ 02579 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02580 return f.TEMPLATE call<2>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34); \ 02581 } \ 02582 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02583 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02584 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T1>::TEMPLATE dense<3>::param_type i1, \ 02585 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T2>::TEMPLATE dense<3>::param_type i2, \ 02586 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T3>::TEMPLATE dense<3>::param_type i3, \ 02587 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T4>::TEMPLATE dense<3>::param_type i4, \ 02588 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T5>::TEMPLATE dense<3>::param_type i5, \ 02589 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T6>::TEMPLATE dense<3>::param_type i6, \ 02590 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T7>::TEMPLATE dense<3>::param_type i7, \ 02591 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T8>::TEMPLATE dense<3>::param_type i8, \ 02592 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T9>::TEMPLATE dense<3>::param_type i9, \ 02593 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T10>::TEMPLATE dense<3>::param_type i10, \ 02594 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T11>::TEMPLATE dense<3>::param_type i11, \ 02595 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T12>::TEMPLATE dense<3>::param_type i12, \ 02596 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T13>::TEMPLATE dense<3>::param_type i13, \ 02597 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T14>::TEMPLATE dense<3>::param_type i14, \ 02598 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T15>::TEMPLATE dense<3>::param_type i15, \ 02599 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T16>::TEMPLATE dense<3>::param_type i16, \ 02600 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T17>::TEMPLATE dense<3>::param_type i17, \ 02601 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T18>::TEMPLATE dense<3>::param_type i18, \ 02602 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T19>::TEMPLATE dense<3>::param_type i19, \ 02603 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T20>::TEMPLATE dense<3>::param_type i20, \ 02604 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T21>::TEMPLATE dense<3>::param_type i21, \ 02605 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T22>::TEMPLATE dense<3>::param_type i22, \ 02606 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T23>::TEMPLATE dense<3>::param_type i23, \ 02607 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T24>::TEMPLATE dense<3>::param_type i24, \ 02608 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T25>::TEMPLATE dense<3>::param_type i25, \ 02609 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T26>::TEMPLATE dense<3>::param_type i26, \ 02610 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T27>::TEMPLATE dense<3>::param_type i27, \ 02611 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T28>::TEMPLATE dense<3>::param_type i28, \ 02612 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T29>::TEMPLATE dense<3>::param_type i29, \ 02613 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T30>::TEMPLATE dense<3>::param_type i30, \ 02614 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T31>::TEMPLATE dense<3>::param_type i31, \ 02615 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T32>::TEMPLATE dense<3>::param_type i32, \ 02616 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T33>::TEMPLATE dense<3>::param_type i33, \ 02617 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T34>::TEMPLATE dense<3>::param_type i34) \ 02618 { \ 02619 typedef ARBB_CPP_NS::detail::prototype_converter<RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34)> pt_conv_t; \ 02620 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&FN>); \ 02621 return f.TEMPLATE call<3>(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34); \ 02622 } 02623 02624 02625 // Member function implementation body 02626 #define ARBB_ELTWISE_MBODY_0(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN ) \ 02627 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02628 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj) \ 02629 { \ 02630 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02631 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT ()>::member_function_t member_function_t; \ 02632 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02633 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02634 return f.TEMPLATE call<1>(obj ); \ 02635 } \ 02636 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02637 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj) \ 02638 { \ 02639 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02640 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT ()>::member_function_t member_function_t; \ 02641 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02642 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02643 return f.TEMPLATE call<2>(obj ); \ 02644 } \ 02645 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02646 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj) \ 02647 { \ 02648 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02649 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT ()>::member_function_t member_function_t; \ 02650 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02651 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02652 return f.TEMPLATE call<3>(obj ); \ 02653 } 02654 02655 #define ARBB_ELTWISE_MBODY_1(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0) \ 02656 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02657 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 02658 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0) \ 02659 { \ 02660 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02661 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0)>::member_function_t member_function_t; \ 02662 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02663 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02664 return f.TEMPLATE call<1>(obj, i0); \ 02665 } \ 02666 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02667 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 02668 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0) \ 02669 { \ 02670 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02671 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0)>::member_function_t member_function_t; \ 02672 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02673 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02674 return f.TEMPLATE call<2>(obj, i0); \ 02675 } \ 02676 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02677 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 02678 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0) \ 02679 { \ 02680 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02681 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0)>::member_function_t member_function_t; \ 02682 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02683 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02684 return f.TEMPLATE call<3>(obj, i0); \ 02685 } 02686 02687 #define ARBB_ELTWISE_MBODY_2(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1) \ 02688 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02689 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 02690 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02691 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1) \ 02692 { \ 02693 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02694 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1)>::member_function_t member_function_t; \ 02695 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02696 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02697 return f.TEMPLATE call<1>(obj, i0, i1); \ 02698 } \ 02699 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02700 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 02701 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02702 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1) \ 02703 { \ 02704 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02705 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1)>::member_function_t member_function_t; \ 02706 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02707 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02708 return f.TEMPLATE call<2>(obj, i0, i1); \ 02709 } \ 02710 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02711 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 02712 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02713 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1) \ 02714 { \ 02715 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02716 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1)>::member_function_t member_function_t; \ 02717 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02718 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02719 return f.TEMPLATE call<3>(obj, i0, i1); \ 02720 } 02721 02722 #define ARBB_ELTWISE_MBODY_3(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2) \ 02723 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02724 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 02725 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02726 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 02727 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2) \ 02728 { \ 02729 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02730 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2)>::member_function_t member_function_t; \ 02731 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02732 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02733 return f.TEMPLATE call<1>(obj, i0, i1, i2); \ 02734 } \ 02735 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02736 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 02737 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02738 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 02739 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2) \ 02740 { \ 02741 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02742 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2)>::member_function_t member_function_t; \ 02743 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02744 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02745 return f.TEMPLATE call<2>(obj, i0, i1, i2); \ 02746 } \ 02747 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02748 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 02749 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02750 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 02751 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2) \ 02752 { \ 02753 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02754 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2)>::member_function_t member_function_t; \ 02755 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02756 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02757 return f.TEMPLATE call<3>(obj, i0, i1, i2); \ 02758 } 02759 02760 #define ARBB_ELTWISE_MBODY_4(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3) \ 02761 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02762 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 02763 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02764 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 02765 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 02766 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3) \ 02767 { \ 02768 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02769 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3)>::member_function_t member_function_t; \ 02770 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02771 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02772 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3); \ 02773 } \ 02774 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02775 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 02776 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02777 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 02778 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 02779 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3) \ 02780 { \ 02781 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02782 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3)>::member_function_t member_function_t; \ 02783 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02784 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02785 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3); \ 02786 } \ 02787 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02788 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 02789 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02790 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 02791 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 02792 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3) \ 02793 { \ 02794 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02795 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3)>::member_function_t member_function_t; \ 02796 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02797 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02798 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3); \ 02799 } 02800 02801 #define ARBB_ELTWISE_MBODY_5(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4) \ 02802 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02803 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 02804 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02805 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 02806 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 02807 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 02808 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4) \ 02809 { \ 02810 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02811 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4)>::member_function_t member_function_t; \ 02812 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02813 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02814 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4); \ 02815 } \ 02816 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02817 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 02818 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02819 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 02820 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 02821 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 02822 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4) \ 02823 { \ 02824 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02825 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4)>::member_function_t member_function_t; \ 02826 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02827 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02828 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4); \ 02829 } \ 02830 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02831 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 02832 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02833 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 02834 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 02835 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 02836 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4) \ 02837 { \ 02838 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02839 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4)>::member_function_t member_function_t; \ 02840 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02841 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02842 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4); \ 02843 } 02844 02845 #define ARBB_ELTWISE_MBODY_6(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5) \ 02846 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02847 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 02848 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02849 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 02850 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 02851 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 02852 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 02853 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5) \ 02854 { \ 02855 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02856 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5)>::member_function_t member_function_t; \ 02857 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02858 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02859 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5); \ 02860 } \ 02861 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02862 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 02863 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02864 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 02865 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 02866 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 02867 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 02868 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5) \ 02869 { \ 02870 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02871 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5)>::member_function_t member_function_t; \ 02872 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02873 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02874 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5); \ 02875 } \ 02876 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02877 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 02878 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02879 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 02880 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 02881 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 02882 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 02883 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5) \ 02884 { \ 02885 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02886 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5)>::member_function_t member_function_t; \ 02887 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02888 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02889 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5); \ 02890 } 02891 02892 #define ARBB_ELTWISE_MBODY_7(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6) \ 02893 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02894 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 02895 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02896 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 02897 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 02898 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 02899 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 02900 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 02901 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6) \ 02902 { \ 02903 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02904 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6)>::member_function_t member_function_t; \ 02905 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02906 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02907 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6); \ 02908 } \ 02909 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02910 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 02911 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02912 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 02913 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 02914 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 02915 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 02916 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 02917 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6) \ 02918 { \ 02919 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02920 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6)>::member_function_t member_function_t; \ 02921 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02922 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02923 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6); \ 02924 } \ 02925 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02926 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 02927 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02928 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 02929 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 02930 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 02931 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 02932 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 02933 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6) \ 02934 { \ 02935 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02936 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6)>::member_function_t member_function_t; \ 02937 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02938 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02939 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6); \ 02940 } 02941 02942 #define ARBB_ELTWISE_MBODY_8(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7) \ 02943 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02944 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 02945 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02946 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 02947 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 02948 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 02949 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 02950 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 02951 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 02952 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7) \ 02953 { \ 02954 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02955 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7)>::member_function_t member_function_t; \ 02956 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02957 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02958 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7); \ 02959 } \ 02960 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 02961 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 02962 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 02963 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 02964 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 02965 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 02966 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 02967 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 02968 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 02969 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7) \ 02970 { \ 02971 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02972 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7)>::member_function_t member_function_t; \ 02973 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02974 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02975 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7); \ 02976 } \ 02977 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 02978 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 02979 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 02980 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 02981 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 02982 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 02983 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 02984 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 02985 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 02986 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7) \ 02987 { \ 02988 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 02989 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7)>::member_function_t member_function_t; \ 02990 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 02991 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 02992 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7); \ 02993 } 02994 02995 #define ARBB_ELTWISE_MBODY_9(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8) \ 02996 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 02997 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 02998 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 02999 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03000 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03001 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03002 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03003 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03004 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03005 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03006 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8) \ 03007 { \ 03008 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03009 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8)>::member_function_t member_function_t; \ 03010 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03011 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03012 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8); \ 03013 } \ 03014 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03015 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03016 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03017 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03018 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03019 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03020 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03021 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03022 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03023 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03024 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8) \ 03025 { \ 03026 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03027 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8)>::member_function_t member_function_t; \ 03028 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03029 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03030 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8); \ 03031 } \ 03032 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03033 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03034 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03035 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03036 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03037 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03038 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03039 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03040 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03041 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03042 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8) \ 03043 { \ 03044 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03045 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8)>::member_function_t member_function_t; \ 03046 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03047 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03048 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8); \ 03049 } 03050 03051 #define ARBB_ELTWISE_MBODY_10(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) \ 03052 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03053 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03054 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03055 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03056 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03057 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03058 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03059 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03060 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03061 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03062 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03063 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9) \ 03064 { \ 03065 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03066 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>::member_function_t member_function_t; \ 03067 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03068 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03069 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9); \ 03070 } \ 03071 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03072 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03073 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03074 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03075 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03076 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03077 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03078 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03079 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03080 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03081 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03082 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9) \ 03083 { \ 03084 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03085 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>::member_function_t member_function_t; \ 03086 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03087 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03088 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9); \ 03089 } \ 03090 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03091 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03092 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03093 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03094 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03095 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03096 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03097 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03098 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03099 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03100 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03101 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9) \ 03102 { \ 03103 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03104 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>::member_function_t member_function_t; \ 03105 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03106 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03107 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9); \ 03108 } 03109 03110 #define ARBB_ELTWISE_MBODY_11(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) \ 03111 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03112 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03113 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03114 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03115 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03116 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03117 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03118 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03119 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03120 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03121 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03122 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03123 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10) \ 03124 { \ 03125 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03126 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::member_function_t member_function_t; \ 03127 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03128 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03129 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10); \ 03130 } \ 03131 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03132 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03133 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03134 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03135 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03136 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03137 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03138 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03139 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03140 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03141 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03142 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 03143 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10) \ 03144 { \ 03145 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03146 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::member_function_t member_function_t; \ 03147 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03148 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03149 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10); \ 03150 } \ 03151 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03152 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03153 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03154 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03155 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03156 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03157 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03158 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03159 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03160 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03161 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03162 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 03163 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10) \ 03164 { \ 03165 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03166 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>::member_function_t member_function_t; \ 03167 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03168 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03169 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10); \ 03170 } 03171 03172 #define ARBB_ELTWISE_MBODY_12(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) \ 03173 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03174 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03175 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03176 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03177 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03178 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03179 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03180 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03181 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03182 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03183 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03184 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03185 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 03186 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11) \ 03187 { \ 03188 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03189 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>::member_function_t member_function_t; \ 03190 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03191 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03192 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11); \ 03193 } \ 03194 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03195 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03196 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03197 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03198 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03199 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03200 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03201 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03202 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03203 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03204 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03205 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 03206 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 03207 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11) \ 03208 { \ 03209 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03210 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>::member_function_t member_function_t; \ 03211 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03212 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03213 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11); \ 03214 } \ 03215 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03216 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03217 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03218 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03219 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03220 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03221 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03222 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03223 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03224 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03225 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03226 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 03227 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 03228 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11) \ 03229 { \ 03230 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03231 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>::member_function_t member_function_t; \ 03232 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03233 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03234 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11); \ 03235 } 03236 03237 #define ARBB_ELTWISE_MBODY_13(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) \ 03238 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03239 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03240 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03241 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03242 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03243 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03244 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03245 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03246 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03247 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03248 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03249 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03250 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 03251 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 03252 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12) \ 03253 { \ 03254 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03255 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>::member_function_t member_function_t; \ 03256 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03257 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03258 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12); \ 03259 } \ 03260 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03261 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03262 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03263 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03264 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03265 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03266 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03267 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03268 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03269 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03270 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03271 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 03272 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 03273 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 03274 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12) \ 03275 { \ 03276 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03277 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>::member_function_t member_function_t; \ 03278 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03279 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03280 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12); \ 03281 } \ 03282 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03283 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03284 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03285 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03286 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03287 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03288 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03289 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03290 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03291 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03292 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03293 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 03294 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 03295 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 03296 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12) \ 03297 { \ 03298 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03299 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>::member_function_t member_function_t; \ 03300 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03301 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03302 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12); \ 03303 } 03304 03305 #define ARBB_ELTWISE_MBODY_14(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) \ 03306 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03307 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03308 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03309 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03310 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03311 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03312 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03313 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03314 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03315 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03316 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03317 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03318 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 03319 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 03320 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 03321 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13) \ 03322 { \ 03323 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03324 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)>::member_function_t member_function_t; \ 03325 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03326 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03327 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13); \ 03328 } \ 03329 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03330 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03331 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03332 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03333 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03334 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03335 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03336 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03337 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03338 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03339 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03340 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 03341 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 03342 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 03343 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 03344 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13) \ 03345 { \ 03346 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03347 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)>::member_function_t member_function_t; \ 03348 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03349 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03350 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13); \ 03351 } \ 03352 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03353 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03354 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03355 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03356 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03357 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03358 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03359 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03360 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03361 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03362 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03363 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 03364 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 03365 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 03366 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 03367 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13) \ 03368 { \ 03369 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03370 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)>::member_function_t member_function_t; \ 03371 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03372 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03373 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13); \ 03374 } 03375 03376 #define ARBB_ELTWISE_MBODY_15(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) \ 03377 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03378 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03379 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03380 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03381 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03382 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03383 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03384 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03385 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03386 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03387 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03388 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03389 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 03390 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 03391 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 03392 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 03393 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14) \ 03394 { \ 03395 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03396 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)>::member_function_t member_function_t; \ 03397 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03398 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03399 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14); \ 03400 } \ 03401 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03402 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03403 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03404 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03405 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03406 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03407 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03408 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03409 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03410 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03411 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03412 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 03413 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 03414 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 03415 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 03416 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 03417 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14) \ 03418 { \ 03419 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03420 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)>::member_function_t member_function_t; \ 03421 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03422 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03423 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14); \ 03424 } \ 03425 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03426 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03427 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03428 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03429 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03430 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03431 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03432 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03433 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03434 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03435 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03436 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 03437 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 03438 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 03439 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 03440 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 03441 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14) \ 03442 { \ 03443 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03444 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)>::member_function_t member_function_t; \ 03445 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03446 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03447 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14); \ 03448 } 03449 03450 #define ARBB_ELTWISE_MBODY_16(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) \ 03451 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03452 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03453 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03454 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03455 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03456 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03457 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03458 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03459 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03460 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03461 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03462 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03463 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 03464 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 03465 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 03466 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 03467 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 03468 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15) \ 03469 { \ 03470 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03471 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)>::member_function_t member_function_t; \ 03472 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03473 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03474 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15); \ 03475 } \ 03476 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03477 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03478 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03479 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03480 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03481 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03482 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03483 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03484 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03485 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03486 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03487 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 03488 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 03489 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 03490 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 03491 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 03492 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 03493 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15) \ 03494 { \ 03495 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03496 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)>::member_function_t member_function_t; \ 03497 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03498 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03499 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15); \ 03500 } \ 03501 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03502 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03503 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03504 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03505 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03506 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03507 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03508 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03509 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03510 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03511 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03512 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 03513 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 03514 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 03515 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 03516 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 03517 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 03518 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15) \ 03519 { \ 03520 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03521 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)>::member_function_t member_function_t; \ 03522 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03523 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03524 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15); \ 03525 } 03526 03527 #define ARBB_ELTWISE_MBODY_17(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) \ 03528 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03529 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03530 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03531 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03532 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03533 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03534 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03535 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03536 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03537 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03538 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03539 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03540 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 03541 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 03542 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 03543 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 03544 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 03545 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 03546 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16) \ 03547 { \ 03548 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03549 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)>::member_function_t member_function_t; \ 03550 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03551 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03552 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16); \ 03553 } \ 03554 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03555 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03556 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03557 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03558 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03559 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03560 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03561 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03562 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03563 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03564 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03565 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 03566 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 03567 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 03568 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 03569 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 03570 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 03571 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 03572 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16) \ 03573 { \ 03574 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03575 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)>::member_function_t member_function_t; \ 03576 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03577 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03578 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16); \ 03579 } \ 03580 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03581 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03582 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03583 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03584 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03585 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03586 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03587 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03588 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03589 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03590 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03591 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 03592 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 03593 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 03594 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 03595 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 03596 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 03597 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 03598 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16) \ 03599 { \ 03600 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03601 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)>::member_function_t member_function_t; \ 03602 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03603 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03604 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16); \ 03605 } 03606 03607 #define ARBB_ELTWISE_MBODY_18(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) \ 03608 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03609 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03610 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03611 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03612 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03613 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03614 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03615 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03616 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03617 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03618 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03619 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03620 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 03621 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 03622 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 03623 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 03624 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 03625 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 03626 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 03627 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17) \ 03628 { \ 03629 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03630 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)>::member_function_t member_function_t; \ 03631 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03632 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03633 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17); \ 03634 } \ 03635 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03636 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03637 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03638 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03639 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03640 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03641 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03642 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03643 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03644 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03645 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03646 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 03647 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 03648 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 03649 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 03650 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 03651 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 03652 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 03653 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 03654 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17) \ 03655 { \ 03656 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03657 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)>::member_function_t member_function_t; \ 03658 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03659 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03660 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17); \ 03661 } \ 03662 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03663 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03664 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03665 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03666 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03667 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03668 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03669 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03670 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03671 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03672 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03673 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 03674 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 03675 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 03676 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 03677 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 03678 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 03679 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 03680 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 03681 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17) \ 03682 { \ 03683 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03684 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)>::member_function_t member_function_t; \ 03685 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03686 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03687 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17); \ 03688 } 03689 03690 #define ARBB_ELTWISE_MBODY_19(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) \ 03691 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03692 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03693 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03694 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03695 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03696 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03697 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03698 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03699 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03700 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03701 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03702 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03703 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 03704 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 03705 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 03706 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 03707 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 03708 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 03709 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 03710 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 03711 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18) \ 03712 { \ 03713 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03714 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)>::member_function_t member_function_t; \ 03715 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03716 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03717 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18); \ 03718 } \ 03719 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03720 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03721 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03722 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03723 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03724 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03725 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03726 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03727 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03728 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03729 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03730 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 03731 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 03732 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 03733 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 03734 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 03735 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 03736 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 03737 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 03738 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 03739 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18) \ 03740 { \ 03741 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03742 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)>::member_function_t member_function_t; \ 03743 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03744 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03745 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18); \ 03746 } \ 03747 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03748 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03749 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03750 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03751 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03752 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03753 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03754 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03755 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03756 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03757 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03758 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 03759 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 03760 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 03761 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 03762 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 03763 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 03764 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 03765 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 03766 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 03767 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18) \ 03768 { \ 03769 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03770 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)>::member_function_t member_function_t; \ 03771 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03772 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03773 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18); \ 03774 } 03775 03776 #define ARBB_ELTWISE_MBODY_20(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) \ 03777 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03778 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03779 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03780 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03781 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03782 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03783 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03784 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03785 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03786 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03787 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03788 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03789 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 03790 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 03791 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 03792 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 03793 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 03794 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 03795 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 03796 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 03797 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 03798 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19) \ 03799 { \ 03800 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03801 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)>::member_function_t member_function_t; \ 03802 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03803 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03804 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19); \ 03805 } \ 03806 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03807 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03808 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03809 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03810 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03811 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03812 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03813 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03814 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03815 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03816 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03817 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 03818 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 03819 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 03820 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 03821 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 03822 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 03823 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 03824 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 03825 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 03826 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 03827 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19) \ 03828 { \ 03829 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03830 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)>::member_function_t member_function_t; \ 03831 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03832 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03833 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19); \ 03834 } \ 03835 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03836 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03837 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03838 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03839 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03840 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03841 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03842 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03843 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03844 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03845 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03846 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 03847 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 03848 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 03849 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 03850 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 03851 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 03852 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 03853 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 03854 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 03855 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 03856 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19) \ 03857 { \ 03858 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03859 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)>::member_function_t member_function_t; \ 03860 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03861 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03862 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19); \ 03863 } 03864 03865 #define ARBB_ELTWISE_MBODY_21(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) \ 03866 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03867 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03868 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03869 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03870 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03871 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03872 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03873 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03874 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03875 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03876 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03877 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03878 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 03879 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 03880 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 03881 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 03882 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 03883 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 03884 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 03885 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 03886 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 03887 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 03888 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20) \ 03889 { \ 03890 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03891 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)>::member_function_t member_function_t; \ 03892 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03893 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03894 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20); \ 03895 } \ 03896 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03897 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03898 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03899 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03900 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03901 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03902 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03903 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03904 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03905 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03906 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 03907 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 03908 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 03909 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 03910 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 03911 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 03912 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 03913 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 03914 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 03915 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 03916 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 03917 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 03918 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20) \ 03919 { \ 03920 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03921 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)>::member_function_t member_function_t; \ 03922 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03923 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03924 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20); \ 03925 } \ 03926 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 03927 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 03928 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 03929 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 03930 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 03931 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 03932 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 03933 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 03934 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 03935 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 03936 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 03937 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 03938 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 03939 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 03940 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 03941 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 03942 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 03943 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 03944 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 03945 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 03946 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 03947 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 03948 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20) \ 03949 { \ 03950 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03951 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)>::member_function_t member_function_t; \ 03952 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03953 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03954 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20); \ 03955 } 03956 03957 #define ARBB_ELTWISE_MBODY_22(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) \ 03958 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 03959 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 03960 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 03961 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 03962 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 03963 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 03964 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 03965 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 03966 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 03967 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 03968 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 03969 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 03970 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 03971 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 03972 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 03973 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 03974 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 03975 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 03976 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 03977 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 03978 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 03979 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 03980 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 03981 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21) \ 03982 { \ 03983 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 03984 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)>::member_function_t member_function_t; \ 03985 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 03986 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 03987 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21); \ 03988 } \ 03989 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 03990 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 03991 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 03992 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 03993 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 03994 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 03995 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 03996 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 03997 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 03998 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 03999 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 04000 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 04001 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 04002 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 04003 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 04004 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 04005 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 04006 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 04007 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 04008 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 04009 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 04010 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 04011 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 04012 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21) \ 04013 { \ 04014 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04015 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)>::member_function_t member_function_t; \ 04016 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04017 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04018 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21); \ 04019 } \ 04020 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 04021 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 04022 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 04023 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 04024 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 04025 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 04026 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 04027 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 04028 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 04029 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 04030 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 04031 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 04032 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 04033 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 04034 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 04035 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 04036 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 04037 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 04038 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 04039 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 04040 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 04041 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 04042 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 04043 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21) \ 04044 { \ 04045 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04046 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)>::member_function_t member_function_t; \ 04047 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04048 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04049 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21); \ 04050 } 04051 04052 #define ARBB_ELTWISE_MBODY_23(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) \ 04053 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 04054 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 04055 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 04056 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 04057 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 04058 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 04059 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 04060 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 04061 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 04062 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 04063 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 04064 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 04065 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 04066 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 04067 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 04068 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 04069 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 04070 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 04071 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 04072 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 04073 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 04074 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 04075 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 04076 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 04077 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22) \ 04078 { \ 04079 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04080 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)>::member_function_t member_function_t; \ 04081 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04082 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04083 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); \ 04084 } \ 04085 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 04086 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 04087 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 04088 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 04089 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 04090 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 04091 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 04092 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 04093 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 04094 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 04095 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 04096 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 04097 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 04098 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 04099 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 04100 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 04101 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 04102 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 04103 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 04104 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 04105 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 04106 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 04107 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 04108 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 04109 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22) \ 04110 { \ 04111 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04112 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)>::member_function_t member_function_t; \ 04113 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04114 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04115 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); \ 04116 } \ 04117 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 04118 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 04119 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 04120 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 04121 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 04122 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 04123 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 04124 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 04125 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 04126 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 04127 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 04128 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 04129 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 04130 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 04131 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 04132 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 04133 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 04134 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 04135 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 04136 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 04137 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 04138 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 04139 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 04140 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 04141 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22) \ 04142 { \ 04143 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04144 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)>::member_function_t member_function_t; \ 04145 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04146 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04147 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); \ 04148 } 04149 04150 #define ARBB_ELTWISE_MBODY_24(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) \ 04151 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 04152 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 04153 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 04154 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 04155 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 04156 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 04157 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 04158 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 04159 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 04160 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 04161 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 04162 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 04163 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 04164 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 04165 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 04166 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 04167 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 04168 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 04169 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 04170 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 04171 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 04172 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 04173 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 04174 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 04175 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 04176 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23) \ 04177 { \ 04178 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04179 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)>::member_function_t member_function_t; \ 04180 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04181 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04182 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); \ 04183 } \ 04184 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 04185 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 04186 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 04187 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 04188 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 04189 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 04190 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 04191 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 04192 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 04193 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 04194 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 04195 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 04196 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 04197 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 04198 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 04199 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 04200 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 04201 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 04202 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 04203 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 04204 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 04205 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 04206 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 04207 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 04208 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 04209 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23) \ 04210 { \ 04211 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04212 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)>::member_function_t member_function_t; \ 04213 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04214 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04215 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); \ 04216 } \ 04217 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 04218 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 04219 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 04220 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 04221 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 04222 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 04223 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 04224 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 04225 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 04226 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 04227 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 04228 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 04229 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 04230 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 04231 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 04232 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 04233 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 04234 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 04235 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 04236 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 04237 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 04238 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 04239 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 04240 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 04241 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 04242 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23) \ 04243 { \ 04244 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04245 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)>::member_function_t member_function_t; \ 04246 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04247 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04248 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); \ 04249 } 04250 04251 #define ARBB_ELTWISE_MBODY_25(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) \ 04252 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 04253 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 04254 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 04255 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 04256 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 04257 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 04258 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 04259 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 04260 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 04261 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 04262 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 04263 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 04264 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 04265 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 04266 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 04267 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 04268 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 04269 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 04270 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 04271 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 04272 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 04273 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 04274 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 04275 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 04276 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 04277 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23, \ 04278 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i24) \ 04279 { \ 04280 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04281 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)>::member_function_t member_function_t; \ 04282 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04283 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04284 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24); \ 04285 } \ 04286 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 04287 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 04288 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 04289 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 04290 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 04291 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 04292 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 04293 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 04294 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 04295 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 04296 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 04297 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 04298 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 04299 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 04300 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 04301 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 04302 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 04303 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 04304 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 04305 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 04306 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 04307 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 04308 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 04309 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 04310 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 04311 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23, \ 04312 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i24) \ 04313 { \ 04314 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04315 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)>::member_function_t member_function_t; \ 04316 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04317 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04318 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24); \ 04319 } \ 04320 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 04321 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 04322 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 04323 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 04324 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 04325 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 04326 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 04327 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 04328 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 04329 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 04330 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 04331 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 04332 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 04333 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 04334 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 04335 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 04336 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 04337 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 04338 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 04339 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 04340 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 04341 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 04342 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 04343 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 04344 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 04345 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23, \ 04346 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i24) \ 04347 { \ 04348 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04349 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)>::member_function_t member_function_t; \ 04350 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04351 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04352 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24); \ 04353 } 04354 04355 #define ARBB_ELTWISE_MBODY_26(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) \ 04356 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 04357 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 04358 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 04359 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 04360 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 04361 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 04362 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 04363 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 04364 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 04365 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 04366 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 04367 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 04368 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 04369 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 04370 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 04371 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 04372 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 04373 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 04374 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 04375 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 04376 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 04377 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 04378 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 04379 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 04380 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 04381 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23, \ 04382 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i24, \ 04383 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i25) \ 04384 { \ 04385 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04386 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)>::member_function_t member_function_t; \ 04387 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04388 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04389 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25); \ 04390 } \ 04391 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 04392 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 04393 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 04394 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 04395 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 04396 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 04397 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 04398 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 04399 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 04400 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 04401 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 04402 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 04403 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 04404 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 04405 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 04406 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 04407 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 04408 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 04409 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 04410 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 04411 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 04412 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 04413 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 04414 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 04415 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 04416 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23, \ 04417 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i24, \ 04418 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i25) \ 04419 { \ 04420 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04421 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)>::member_function_t member_function_t; \ 04422 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04423 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04424 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25); \ 04425 } \ 04426 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 04427 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 04428 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 04429 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 04430 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 04431 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 04432 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 04433 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 04434 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 04435 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 04436 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 04437 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 04438 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 04439 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 04440 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 04441 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 04442 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 04443 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 04444 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 04445 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 04446 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 04447 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 04448 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 04449 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 04450 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 04451 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23, \ 04452 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i24, \ 04453 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i25) \ 04454 { \ 04455 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04456 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)>::member_function_t member_function_t; \ 04457 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04458 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04459 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25); \ 04460 } 04461 04462 #define ARBB_ELTWISE_MBODY_27(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) \ 04463 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 04464 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 04465 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 04466 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 04467 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 04468 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 04469 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 04470 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 04471 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 04472 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 04473 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 04474 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 04475 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 04476 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 04477 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 04478 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 04479 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 04480 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 04481 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 04482 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 04483 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 04484 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 04485 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 04486 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 04487 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 04488 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23, \ 04489 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i24, \ 04490 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i25, \ 04491 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i26) \ 04492 { \ 04493 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04494 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)>::member_function_t member_function_t; \ 04495 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04496 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04497 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26); \ 04498 } \ 04499 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 04500 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 04501 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 04502 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 04503 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 04504 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 04505 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 04506 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 04507 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 04508 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 04509 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 04510 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 04511 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 04512 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 04513 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 04514 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 04515 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 04516 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 04517 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 04518 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 04519 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 04520 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 04521 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 04522 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 04523 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 04524 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23, \ 04525 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i24, \ 04526 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i25, \ 04527 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i26) \ 04528 { \ 04529 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04530 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)>::member_function_t member_function_t; \ 04531 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04532 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04533 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26); \ 04534 } \ 04535 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 04536 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 04537 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 04538 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 04539 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 04540 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 04541 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 04542 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 04543 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 04544 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 04545 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 04546 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 04547 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 04548 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 04549 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 04550 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 04551 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 04552 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 04553 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 04554 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 04555 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 04556 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 04557 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 04558 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 04559 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 04560 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23, \ 04561 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i24, \ 04562 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i25, \ 04563 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i26) \ 04564 { \ 04565 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04566 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)>::member_function_t member_function_t; \ 04567 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04568 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04569 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26); \ 04570 } 04571 04572 #define ARBB_ELTWISE_MBODY_28(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) \ 04573 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 04574 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 04575 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 04576 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 04577 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 04578 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 04579 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 04580 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 04581 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 04582 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 04583 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 04584 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 04585 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 04586 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 04587 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 04588 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 04589 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 04590 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 04591 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 04592 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 04593 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 04594 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 04595 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 04596 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 04597 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 04598 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23, \ 04599 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i24, \ 04600 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i25, \ 04601 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i26, \ 04602 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i27) \ 04603 { \ 04604 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04605 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)>::member_function_t member_function_t; \ 04606 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04607 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04608 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27); \ 04609 } \ 04610 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 04611 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 04612 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 04613 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 04614 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 04615 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 04616 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 04617 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 04618 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 04619 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 04620 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 04621 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 04622 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 04623 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 04624 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 04625 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 04626 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 04627 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 04628 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 04629 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 04630 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 04631 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 04632 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 04633 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 04634 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 04635 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23, \ 04636 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i24, \ 04637 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i25, \ 04638 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i26, \ 04639 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i27) \ 04640 { \ 04641 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04642 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)>::member_function_t member_function_t; \ 04643 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04644 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04645 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27); \ 04646 } \ 04647 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 04648 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 04649 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 04650 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 04651 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 04652 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 04653 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 04654 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 04655 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 04656 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 04657 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 04658 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 04659 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 04660 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 04661 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 04662 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 04663 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 04664 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 04665 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 04666 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 04667 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 04668 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 04669 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 04670 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 04671 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 04672 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23, \ 04673 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i24, \ 04674 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i25, \ 04675 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i26, \ 04676 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i27) \ 04677 { \ 04678 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04679 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)>::member_function_t member_function_t; \ 04680 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04681 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04682 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27); \ 04683 } 04684 04685 #define ARBB_ELTWISE_MBODY_29(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) \ 04686 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 04687 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 04688 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 04689 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 04690 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 04691 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 04692 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 04693 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 04694 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 04695 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 04696 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 04697 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 04698 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 04699 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 04700 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 04701 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 04702 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 04703 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 04704 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 04705 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 04706 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 04707 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 04708 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 04709 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 04710 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 04711 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23, \ 04712 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i24, \ 04713 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i25, \ 04714 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i26, \ 04715 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i27, \ 04716 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i28) \ 04717 { \ 04718 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04719 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)>::member_function_t member_function_t; \ 04720 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04721 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04722 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28); \ 04723 } \ 04724 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 04725 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 04726 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 04727 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 04728 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 04729 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 04730 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 04731 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 04732 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 04733 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 04734 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 04735 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 04736 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 04737 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 04738 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 04739 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 04740 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 04741 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 04742 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 04743 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 04744 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 04745 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 04746 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 04747 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 04748 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 04749 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23, \ 04750 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i24, \ 04751 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i25, \ 04752 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i26, \ 04753 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i27, \ 04754 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i28) \ 04755 { \ 04756 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04757 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)>::member_function_t member_function_t; \ 04758 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04759 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04760 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28); \ 04761 } \ 04762 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 04763 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 04764 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 04765 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 04766 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 04767 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 04768 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 04769 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 04770 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 04771 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 04772 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 04773 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 04774 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 04775 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 04776 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 04777 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 04778 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 04779 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 04780 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 04781 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 04782 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 04783 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 04784 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 04785 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 04786 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 04787 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23, \ 04788 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i24, \ 04789 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i25, \ 04790 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i26, \ 04791 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i27, \ 04792 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i28) \ 04793 { \ 04794 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04795 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)>::member_function_t member_function_t; \ 04796 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04797 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04798 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28); \ 04799 } 04800 04801 #define ARBB_ELTWISE_MBODY_30(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) \ 04802 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 04803 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 04804 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 04805 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 04806 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 04807 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 04808 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 04809 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 04810 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 04811 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 04812 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 04813 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 04814 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 04815 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 04816 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 04817 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 04818 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 04819 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 04820 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 04821 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 04822 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 04823 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 04824 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 04825 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 04826 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 04827 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23, \ 04828 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i24, \ 04829 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i25, \ 04830 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i26, \ 04831 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i27, \ 04832 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i28, \ 04833 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i29) \ 04834 { \ 04835 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04836 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)>::member_function_t member_function_t; \ 04837 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04838 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04839 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29); \ 04840 } \ 04841 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 04842 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 04843 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 04844 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 04845 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 04846 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 04847 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 04848 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 04849 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 04850 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 04851 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 04852 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 04853 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 04854 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 04855 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 04856 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 04857 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 04858 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 04859 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 04860 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 04861 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 04862 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 04863 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 04864 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 04865 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 04866 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23, \ 04867 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i24, \ 04868 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i25, \ 04869 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i26, \ 04870 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i27, \ 04871 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i28, \ 04872 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i29) \ 04873 { \ 04874 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04875 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)>::member_function_t member_function_t; \ 04876 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04877 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04878 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29); \ 04879 } \ 04880 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 04881 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 04882 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 04883 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 04884 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 04885 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 04886 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 04887 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 04888 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 04889 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 04890 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 04891 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 04892 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 04893 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 04894 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 04895 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 04896 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 04897 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 04898 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 04899 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 04900 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 04901 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 04902 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 04903 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 04904 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 04905 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23, \ 04906 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i24, \ 04907 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i25, \ 04908 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i26, \ 04909 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i27, \ 04910 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i28, \ 04911 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i29) \ 04912 { \ 04913 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04914 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)>::member_function_t member_function_t; \ 04915 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04916 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04917 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29); \ 04918 } 04919 04920 #define ARBB_ELTWISE_MBODY_31(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) \ 04921 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 04922 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 04923 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 04924 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 04925 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 04926 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 04927 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 04928 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 04929 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 04930 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 04931 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 04932 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 04933 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 04934 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 04935 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 04936 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 04937 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 04938 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 04939 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 04940 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 04941 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 04942 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 04943 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 04944 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 04945 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 04946 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23, \ 04947 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i24, \ 04948 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i25, \ 04949 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i26, \ 04950 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i27, \ 04951 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i28, \ 04952 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i29, \ 04953 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i30) \ 04954 { \ 04955 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04956 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)>::member_function_t member_function_t; \ 04957 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04958 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04959 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30); \ 04960 } \ 04961 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 04962 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 04963 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 04964 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 04965 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 04966 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 04967 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 04968 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 04969 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 04970 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 04971 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 04972 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 04973 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 04974 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 04975 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 04976 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 04977 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 04978 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 04979 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 04980 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 04981 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 04982 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 04983 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 04984 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 04985 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 04986 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23, \ 04987 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i24, \ 04988 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i25, \ 04989 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i26, \ 04990 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i27, \ 04991 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i28, \ 04992 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i29, \ 04993 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i30) \ 04994 { \ 04995 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 04996 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)>::member_function_t member_function_t; \ 04997 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 04998 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 04999 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30); \ 05000 } \ 05001 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 05002 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 05003 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 05004 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 05005 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 05006 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 05007 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 05008 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 05009 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 05010 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 05011 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 05012 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 05013 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 05014 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 05015 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 05016 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 05017 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 05018 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 05019 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 05020 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 05021 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 05022 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 05023 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 05024 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 05025 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 05026 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23, \ 05027 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i24, \ 05028 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i25, \ 05029 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i26, \ 05030 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i27, \ 05031 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i28, \ 05032 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i29, \ 05033 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i30) \ 05034 { \ 05035 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05036 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)>::member_function_t member_function_t; \ 05037 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05038 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05039 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30); \ 05040 } 05041 05042 #define ARBB_ELTWISE_MBODY_32(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) \ 05043 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 05044 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 05045 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 05046 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 05047 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 05048 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 05049 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 05050 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 05051 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 05052 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 05053 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 05054 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 05055 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 05056 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 05057 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 05058 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 05059 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 05060 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 05061 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 05062 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 05063 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 05064 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 05065 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 05066 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 05067 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 05068 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23, \ 05069 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i24, \ 05070 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i25, \ 05071 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i26, \ 05072 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i27, \ 05073 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i28, \ 05074 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i29, \ 05075 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i30, \ 05076 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i31) \ 05077 { \ 05078 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05079 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)>::member_function_t member_function_t; \ 05080 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05081 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05082 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31); \ 05083 } \ 05084 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 05085 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 05086 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 05087 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 05088 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 05089 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 05090 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 05091 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 05092 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 05093 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 05094 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 05095 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 05096 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 05097 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 05098 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 05099 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 05100 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 05101 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 05102 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 05103 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 05104 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 05105 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 05106 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 05107 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 05108 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 05109 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23, \ 05110 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i24, \ 05111 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i25, \ 05112 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i26, \ 05113 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i27, \ 05114 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i28, \ 05115 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i29, \ 05116 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i30, \ 05117 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i31) \ 05118 { \ 05119 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05120 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)>::member_function_t member_function_t; \ 05121 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05122 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05123 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31); \ 05124 } \ 05125 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 05126 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 05127 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 05128 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 05129 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 05130 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 05131 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 05132 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 05133 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 05134 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 05135 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 05136 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 05137 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 05138 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 05139 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 05140 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 05141 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 05142 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 05143 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 05144 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 05145 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 05146 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 05147 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 05148 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 05149 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 05150 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23, \ 05151 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i24, \ 05152 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i25, \ 05153 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i26, \ 05154 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i27, \ 05155 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i28, \ 05156 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i29, \ 05157 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i30, \ 05158 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i31) \ 05159 { \ 05160 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05161 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)>::member_function_t member_function_t; \ 05162 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05163 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05164 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31); \ 05165 } 05166 05167 #define ARBB_ELTWISE_MBODY_33(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) \ 05168 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 05169 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 05170 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 05171 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 05172 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 05173 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 05174 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 05175 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 05176 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 05177 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 05178 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 05179 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 05180 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 05181 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 05182 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 05183 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 05184 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 05185 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 05186 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 05187 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 05188 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 05189 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 05190 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 05191 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 05192 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 05193 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23, \ 05194 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i24, \ 05195 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i25, \ 05196 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i26, \ 05197 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i27, \ 05198 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i28, \ 05199 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i29, \ 05200 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i30, \ 05201 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i31, \ 05202 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i32) \ 05203 { \ 05204 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05205 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32)>::member_function_t member_function_t; \ 05206 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05207 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05208 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32); \ 05209 } \ 05210 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 05211 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 05212 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 05213 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 05214 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 05215 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 05216 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 05217 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 05218 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 05219 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 05220 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 05221 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 05222 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 05223 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 05224 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 05225 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 05226 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 05227 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 05228 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 05229 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 05230 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 05231 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 05232 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 05233 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 05234 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 05235 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23, \ 05236 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i24, \ 05237 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i25, \ 05238 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i26, \ 05239 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i27, \ 05240 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i28, \ 05241 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i29, \ 05242 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i30, \ 05243 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i31, \ 05244 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i32) \ 05245 { \ 05246 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05247 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32)>::member_function_t member_function_t; \ 05248 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05249 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05250 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32); \ 05251 } \ 05252 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 05253 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 05254 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 05255 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 05256 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 05257 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 05258 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 05259 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 05260 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 05261 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 05262 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 05263 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 05264 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 05265 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 05266 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 05267 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 05268 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 05269 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 05270 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 05271 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 05272 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 05273 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 05274 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 05275 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 05276 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 05277 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23, \ 05278 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i24, \ 05279 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i25, \ 05280 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i26, \ 05281 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i27, \ 05282 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i28, \ 05283 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i29, \ 05284 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i30, \ 05285 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i31, \ 05286 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i32) \ 05287 { \ 05288 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05289 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32)>::member_function_t member_function_t; \ 05290 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05291 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05292 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32); \ 05293 } 05294 05295 #define ARBB_ELTWISE_MBODY_34(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) \ 05296 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 05297 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 05298 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 05299 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 05300 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 05301 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 05302 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 05303 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 05304 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 05305 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 05306 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 05307 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 05308 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 05309 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 05310 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 05311 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 05312 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 05313 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 05314 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 05315 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 05316 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 05317 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 05318 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 05319 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 05320 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 05321 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23, \ 05322 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i24, \ 05323 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i25, \ 05324 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i26, \ 05325 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i27, \ 05326 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i28, \ 05327 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i29, \ 05328 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i30, \ 05329 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i31, \ 05330 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i32, \ 05331 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i33) \ 05332 { \ 05333 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05334 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33)>::member_function_t member_function_t; \ 05335 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05336 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05337 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33); \ 05338 } \ 05339 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 05340 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 05341 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 05342 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 05343 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 05344 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 05345 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 05346 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 05347 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 05348 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 05349 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 05350 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 05351 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 05352 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 05353 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 05354 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 05355 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 05356 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 05357 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 05358 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 05359 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 05360 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 05361 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 05362 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 05363 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 05364 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23, \ 05365 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i24, \ 05366 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i25, \ 05367 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i26, \ 05368 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i27, \ 05369 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i28, \ 05370 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i29, \ 05371 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i30, \ 05372 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i31, \ 05373 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i32, \ 05374 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i33) \ 05375 { \ 05376 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05377 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33)>::member_function_t member_function_t; \ 05378 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05379 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05380 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33); \ 05381 } \ 05382 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 05383 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 05384 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 05385 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 05386 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 05387 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 05388 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 05389 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 05390 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 05391 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 05392 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 05393 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 05394 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 05395 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 05396 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 05397 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 05398 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 05399 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 05400 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 05401 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 05402 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 05403 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 05404 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 05405 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 05406 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 05407 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23, \ 05408 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i24, \ 05409 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i25, \ 05410 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i26, \ 05411 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i27, \ 05412 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i28, \ 05413 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i29, \ 05414 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i30, \ 05415 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i31, \ 05416 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i32, \ 05417 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i33) \ 05418 { \ 05419 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05420 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33)>::member_function_t member_function_t; \ 05421 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05422 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05423 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33); \ 05424 } 05425 05426 #define ARBB_ELTWISE_MBODY_35(MODIFIER, TYPENAME, TEMPLATE, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) \ 05427 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<1>::return_type FN( \ 05428 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<1>::cls_type obj, \ 05429 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i0, \ 05430 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i1, \ 05431 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i2, \ 05432 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i3, \ 05433 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i4, \ 05434 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i5, \ 05435 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i6, \ 05436 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i7, \ 05437 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i8, \ 05438 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i9, \ 05439 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i10, \ 05440 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i11, \ 05441 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i12, \ 05442 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i13, \ 05443 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i14, \ 05444 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i15, \ 05445 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i16, \ 05446 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i17, \ 05447 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i18, \ 05448 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i19, \ 05449 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i20, \ 05450 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i21, \ 05451 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i22, \ 05452 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i23, \ 05453 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i24, \ 05454 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i25, \ 05455 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i26, \ 05456 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i27, \ 05457 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i28, \ 05458 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i29, \ 05459 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i30, \ 05460 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i31, \ 05461 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i32, \ 05462 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i33, \ 05463 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<1>::param_type i34) \ 05464 { \ 05465 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05466 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34)>::member_function_t member_function_t; \ 05467 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05468 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05469 return f.TEMPLATE call<1>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34); \ 05470 } \ 05471 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<2>::return_type FN( \ 05472 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<2>::cls_type obj, \ 05473 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i0, \ 05474 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i1, \ 05475 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i2, \ 05476 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i3, \ 05477 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i4, \ 05478 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i5, \ 05479 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i6, \ 05480 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i7, \ 05481 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i8, \ 05482 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i9, \ 05483 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i10, \ 05484 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i11, \ 05485 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i12, \ 05486 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i13, \ 05487 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i14, \ 05488 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i15, \ 05489 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i16, \ 05490 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i17, \ 05491 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i18, \ 05492 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i19, \ 05493 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i20, \ 05494 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i21, \ 05495 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i22, \ 05496 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i23, \ 05497 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i24, \ 05498 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i25, \ 05499 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i26, \ 05500 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i27, \ 05501 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i28, \ 05502 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i29, \ 05503 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i30, \ 05504 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i31, \ 05505 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i32, \ 05506 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i33, \ 05507 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<2>::param_type i34) \ 05508 { \ 05509 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05510 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34)>::member_function_t member_function_t; \ 05511 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05512 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05513 return f.TEMPLATE call<2>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34); \ 05514 } \ 05515 MODIFIER TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<RT>::TEMPLATE dense<3>::return_type FN( \ 05516 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::TEMPLATE dense<3>::cls_type obj, \ 05517 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i0, \ 05518 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i1, \ 05519 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i2, \ 05520 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i3, \ 05521 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i4, \ 05522 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i5, \ 05523 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i6, \ 05524 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i7, \ 05525 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i8, \ 05526 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i9, \ 05527 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i10, \ 05528 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i11, \ 05529 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i12, \ 05530 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i13, \ 05531 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i14, \ 05532 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i15, \ 05533 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i16, \ 05534 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i17, \ 05535 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i18, \ 05536 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i19, \ 05537 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i20, \ 05538 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i21, \ 05539 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i22, \ 05540 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i23, \ 05541 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i24, \ 05542 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i25, \ 05543 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i26, \ 05544 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i27, \ 05545 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i28, \ 05546 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i29, \ 05547 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i30, \ 05548 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i31, \ 05549 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i32, \ 05550 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i33, \ 05551 TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<T0>::TEMPLATE dense<3>::param_type i34) \ 05552 { \ 05553 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_type_selector<CLS >::raw_type RAW_CLS; \ 05554 typedef TYPENAME ARBB_CPP_NS::detail::prototype_converter_member_function_gen<CLS, RT (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34)>::member_function_t member_function_t; \ 05555 typedef ARBB_CPP_NS::detail::prototype_converter<member_function_t> pt_conv_t; \ 05556 static pt_conv_t f(&pt_conv_t::TEMPLATE conv_func<&RAW_CLS::FN>); \ 05557 return f.TEMPLATE call<3>(obj, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34); \ 05558 } 05559 05560 05561 #define ARBB_ELTWISE_NOTHING 05562 05563 // @endcond 05564 05567 05569 #define ARBB_ELTWISE_FUNCTION_1(RT, FN, T0) ARBB_ELTWISE_FNBODY_1(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0) 05570 05571 #define ARBB_ELTWISE_FUNCTION_2(RT, FN, T0, T1) ARBB_ELTWISE_FNBODY_2(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1) 05572 05573 #define ARBB_ELTWISE_FUNCTION_3(RT, FN, T0, T1, T2) ARBB_ELTWISE_FNBODY_3(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2) 05574 05575 #define ARBB_ELTWISE_FUNCTION_4(RT, FN, T0, T1, T2, T3) ARBB_ELTWISE_FNBODY_4(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3) 05576 05577 #define ARBB_ELTWISE_FUNCTION_5(RT, FN, T0, T1, T2, T3, T4) ARBB_ELTWISE_FNBODY_5(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4) 05578 05579 #define ARBB_ELTWISE_FUNCTION_6(RT, FN, T0, T1, T2, T3, T4, T5) ARBB_ELTWISE_FNBODY_6(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5) 05580 05581 #define ARBB_ELTWISE_FUNCTION_7(RT, FN, T0, T1, T2, T3, T4, T5, T6) ARBB_ELTWISE_FNBODY_7(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6) 05582 05583 #define ARBB_ELTWISE_FUNCTION_8(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7) ARBB_ELTWISE_FNBODY_8(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7) 05584 05585 #define ARBB_ELTWISE_FUNCTION_9(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8) ARBB_ELTWISE_FNBODY_9(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8) 05586 05587 #define ARBB_ELTWISE_FUNCTION_10(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) ARBB_ELTWISE_FNBODY_10(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) 05588 05589 #define ARBB_ELTWISE_FUNCTION_11(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) ARBB_ELTWISE_FNBODY_11(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) 05590 05591 #define ARBB_ELTWISE_FUNCTION_12(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) ARBB_ELTWISE_FNBODY_12(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) 05592 05593 #define ARBB_ELTWISE_FUNCTION_13(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) ARBB_ELTWISE_FNBODY_13(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) 05594 05595 #define ARBB_ELTWISE_FUNCTION_14(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) ARBB_ELTWISE_FNBODY_14(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) 05596 05597 #define ARBB_ELTWISE_FUNCTION_15(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) ARBB_ELTWISE_FNBODY_15(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) 05598 05599 #define ARBB_ELTWISE_FUNCTION_16(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) ARBB_ELTWISE_FNBODY_16(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) 05600 05601 #define ARBB_ELTWISE_FUNCTION_17(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) ARBB_ELTWISE_FNBODY_17(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) 05602 05603 #define ARBB_ELTWISE_FUNCTION_18(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) ARBB_ELTWISE_FNBODY_18(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) 05604 05605 #define ARBB_ELTWISE_FUNCTION_19(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) ARBB_ELTWISE_FNBODY_19(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) 05606 05607 #define ARBB_ELTWISE_FUNCTION_20(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) ARBB_ELTWISE_FNBODY_20(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) 05608 05609 #define ARBB_ELTWISE_FUNCTION_21(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) ARBB_ELTWISE_FNBODY_21(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) 05610 05611 #define ARBB_ELTWISE_FUNCTION_22(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) ARBB_ELTWISE_FNBODY_22(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) 05612 05613 #define ARBB_ELTWISE_FUNCTION_23(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) ARBB_ELTWISE_FNBODY_23(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) 05614 05615 #define ARBB_ELTWISE_FUNCTION_24(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) ARBB_ELTWISE_FNBODY_24(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) 05616 05617 #define ARBB_ELTWISE_FUNCTION_25(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) ARBB_ELTWISE_FNBODY_25(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) 05618 05619 #define ARBB_ELTWISE_FUNCTION_26(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) ARBB_ELTWISE_FNBODY_26(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) 05620 05621 #define ARBB_ELTWISE_FUNCTION_27(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) ARBB_ELTWISE_FNBODY_27(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) 05622 05623 #define ARBB_ELTWISE_FUNCTION_28(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) ARBB_ELTWISE_FNBODY_28(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) 05624 05625 #define ARBB_ELTWISE_FUNCTION_29(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) ARBB_ELTWISE_FNBODY_29(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) 05626 05627 #define ARBB_ELTWISE_FUNCTION_30(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) ARBB_ELTWISE_FNBODY_30(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) 05628 05629 #define ARBB_ELTWISE_FUNCTION_31(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) ARBB_ELTWISE_FNBODY_31(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) 05630 05631 #define ARBB_ELTWISE_FUNCTION_32(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) ARBB_ELTWISE_FNBODY_32(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) 05632 05633 #define ARBB_ELTWISE_FUNCTION_33(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) ARBB_ELTWISE_FNBODY_33(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) 05634 05635 #define ARBB_ELTWISE_FUNCTION_34(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) ARBB_ELTWISE_FNBODY_34(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) 05636 05637 #define ARBB_ELTWISE_FUNCTION_35(RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) ARBB_ELTWISE_FNBODY_35(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) 05638 05639 // Member function support macros 05641 #define ARBB_ELTWISE_METHOD_0(RT, CLS, FN) ARBB_ELTWISE_MBODY_0(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN) 05642 05643 #define ARBB_ELTWISE_METHOD_1(RT, CLS, FN, T0) ARBB_ELTWISE_MBODY_1(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0) 05644 05645 #define ARBB_ELTWISE_METHOD_2(RT, CLS, FN, T0, T1) ARBB_ELTWISE_MBODY_2(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1) 05646 05647 #define ARBB_ELTWISE_METHOD_3(RT, CLS, FN, T0, T1, T2) ARBB_ELTWISE_MBODY_3(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2) 05648 05649 #define ARBB_ELTWISE_METHOD_4(RT, CLS, FN, T0, T1, T2, T3) ARBB_ELTWISE_MBODY_4(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3) 05650 05651 #define ARBB_ELTWISE_METHOD_5(RT, CLS, FN, T0, T1, T2, T3, T4) ARBB_ELTWISE_MBODY_5(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4) 05652 05653 #define ARBB_ELTWISE_METHOD_6(RT, CLS, FN, T0, T1, T2, T3, T4, T5) ARBB_ELTWISE_MBODY_6(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5) 05654 05655 #define ARBB_ELTWISE_METHOD_7(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6) ARBB_ELTWISE_MBODY_7(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6) 05656 05657 #define ARBB_ELTWISE_METHOD_8(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7) ARBB_ELTWISE_MBODY_8(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7) 05658 05659 #define ARBB_ELTWISE_METHOD_9(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8) ARBB_ELTWISE_MBODY_9(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8) 05660 05661 #define ARBB_ELTWISE_METHOD_10(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) ARBB_ELTWISE_MBODY_10(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) 05662 05663 #define ARBB_ELTWISE_METHOD_11(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) ARBB_ELTWISE_MBODY_11(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) 05664 05665 #define ARBB_ELTWISE_METHOD_12(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) ARBB_ELTWISE_MBODY_12(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) 05666 05667 #define ARBB_ELTWISE_METHOD_13(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) ARBB_ELTWISE_MBODY_13(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) 05668 05669 #define ARBB_ELTWISE_METHOD_14(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) ARBB_ELTWISE_MBODY_14(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) 05670 05671 #define ARBB_ELTWISE_METHOD_15(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) ARBB_ELTWISE_MBODY_15(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) 05672 05673 #define ARBB_ELTWISE_METHOD_16(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) ARBB_ELTWISE_MBODY_16(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) 05674 05675 #define ARBB_ELTWISE_METHOD_17(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) ARBB_ELTWISE_MBODY_17(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) 05676 05677 #define ARBB_ELTWISE_METHOD_18(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) ARBB_ELTWISE_MBODY_18(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) 05678 05679 #define ARBB_ELTWISE_METHOD_19(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) ARBB_ELTWISE_MBODY_19(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) 05680 05681 #define ARBB_ELTWISE_METHOD_20(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) ARBB_ELTWISE_MBODY_20(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) 05682 05683 #define ARBB_ELTWISE_METHOD_21(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) ARBB_ELTWISE_MBODY_21(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) 05684 05685 #define ARBB_ELTWISE_METHOD_22(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) ARBB_ELTWISE_MBODY_22(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) 05686 05687 #define ARBB_ELTWISE_METHOD_23(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) ARBB_ELTWISE_MBODY_23(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) 05688 05689 #define ARBB_ELTWISE_METHOD_24(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) ARBB_ELTWISE_MBODY_24(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) 05690 05691 #define ARBB_ELTWISE_METHOD_25(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) ARBB_ELTWISE_MBODY_25(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) 05692 05693 #define ARBB_ELTWISE_METHOD_26(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) ARBB_ELTWISE_MBODY_26(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) 05694 05695 #define ARBB_ELTWISE_METHOD_27(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) ARBB_ELTWISE_MBODY_27(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) 05696 05697 #define ARBB_ELTWISE_METHOD_28(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) ARBB_ELTWISE_MBODY_28(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) 05698 05699 #define ARBB_ELTWISE_METHOD_29(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) ARBB_ELTWISE_MBODY_29(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) 05700 05701 #define ARBB_ELTWISE_METHOD_30(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) ARBB_ELTWISE_MBODY_30(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) 05702 05703 #define ARBB_ELTWISE_METHOD_31(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) ARBB_ELTWISE_MBODY_31(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) 05704 05705 #define ARBB_ELTWISE_METHOD_32(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) ARBB_ELTWISE_MBODY_32(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) 05706 05707 #define ARBB_ELTWISE_METHOD_33(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) ARBB_ELTWISE_MBODY_33(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) 05708 05709 #define ARBB_ELTWISE_METHOD_34(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) ARBB_ELTWISE_MBODY_34(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) 05710 05711 #define ARBB_ELTWISE_METHOD_35(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) ARBB_ELTWISE_MBODY_35(inline, ARBB_ELTWISE_NOTHING, ARBB_ELTWISE_NOTHING, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) 05712 05715 #define ARBB_ELTWISE_TMETHOD_0(RT, CLS, FN) ARBB_ELTWISE_MBODY_0(friend, typename, template, RT, CLS, FN) 05716 05717 #define ARBB_ELTWISE_TMETHOD_1(RT, CLS, FN, T0) ARBB_ELTWISE_MBODY_1(friend, typename, template, RT, CLS, FN, T0) 05718 05719 #define ARBB_ELTWISE_TMETHOD_2(RT, CLS, FN, T0, T1) ARBB_ELTWISE_MBODY_2(friend, typename, template, RT, CLS, FN, T0, T1) 05720 05721 #define ARBB_ELTWISE_TMETHOD_3(RT, CLS, FN, T0, T1, T2) ARBB_ELTWISE_MBODY_3(friend, typename, template, RT, CLS, FN, T0, T1, T2) 05722 05723 #define ARBB_ELTWISE_TMETHOD_4(RT, CLS, FN, T0, T1, T2, T3) ARBB_ELTWISE_MBODY_4(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3) 05724 05725 #define ARBB_ELTWISE_TMETHOD_5(RT, CLS, FN, T0, T1, T2, T3, T4) ARBB_ELTWISE_MBODY_5(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4) 05726 05727 #define ARBB_ELTWISE_TMETHOD_6(RT, CLS, FN, T0, T1, T2, T3, T4, T5) ARBB_ELTWISE_MBODY_6(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5) 05728 05729 #define ARBB_ELTWISE_TMETHOD_7(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6) ARBB_ELTWISE_MBODY_7(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6) 05730 05731 #define ARBB_ELTWISE_TMETHOD_8(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7) ARBB_ELTWISE_MBODY_8(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7) 05732 05733 #define ARBB_ELTWISE_TMETHOD_9(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8) ARBB_ELTWISE_MBODY_9(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8) 05734 05735 #define ARBB_ELTWISE_TMETHOD_10(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) ARBB_ELTWISE_MBODY_10(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) 05736 05737 #define ARBB_ELTWISE_TMETHOD_11(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) ARBB_ELTWISE_MBODY_11(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) 05738 05739 #define ARBB_ELTWISE_TMETHOD_12(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) ARBB_ELTWISE_MBODY_12(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) 05740 05741 #define ARBB_ELTWISE_TMETHOD_13(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) ARBB_ELTWISE_MBODY_13(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) 05742 05743 #define ARBB_ELTWISE_TMETHOD_14(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) ARBB_ELTWISE_MBODY_14(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) 05744 05745 #define ARBB_ELTWISE_TMETHOD_15(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) ARBB_ELTWISE_MBODY_15(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) 05746 05747 #define ARBB_ELTWISE_TMETHOD_16(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) ARBB_ELTWISE_MBODY_16(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) 05748 05749 #define ARBB_ELTWISE_TMETHOD_17(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) ARBB_ELTWISE_MBODY_17(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) 05750 05751 #define ARBB_ELTWISE_TMETHOD_18(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) ARBB_ELTWISE_MBODY_18(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) 05752 05753 #define ARBB_ELTWISE_TMETHOD_19(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) ARBB_ELTWISE_MBODY_19(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) 05754 05755 #define ARBB_ELTWISE_TMETHOD_20(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) ARBB_ELTWISE_MBODY_20(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) 05756 05757 #define ARBB_ELTWISE_TMETHOD_21(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) ARBB_ELTWISE_MBODY_21(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) 05758 05759 #define ARBB_ELTWISE_TMETHOD_22(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) ARBB_ELTWISE_MBODY_22(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) 05760 05761 #define ARBB_ELTWISE_TMETHOD_23(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) ARBB_ELTWISE_MBODY_23(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) 05762 05763 #define ARBB_ELTWISE_TMETHOD_24(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) ARBB_ELTWISE_MBODY_24(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) 05764 05765 #define ARBB_ELTWISE_TMETHOD_25(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) ARBB_ELTWISE_MBODY_25(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) 05766 05767 #define ARBB_ELTWISE_TMETHOD_26(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) ARBB_ELTWISE_MBODY_26(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) 05768 05769 #define ARBB_ELTWISE_TMETHOD_27(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) ARBB_ELTWISE_MBODY_27(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) 05770 05771 #define ARBB_ELTWISE_TMETHOD_28(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) ARBB_ELTWISE_MBODY_28(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) 05772 05773 #define ARBB_ELTWISE_TMETHOD_29(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) ARBB_ELTWISE_MBODY_29(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) 05774 05775 #define ARBB_ELTWISE_TMETHOD_30(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) ARBB_ELTWISE_MBODY_30(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) 05776 05777 #define ARBB_ELTWISE_TMETHOD_31(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) ARBB_ELTWISE_MBODY_31(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) 05778 05779 #define ARBB_ELTWISE_TMETHOD_32(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) ARBB_ELTWISE_MBODY_32(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) 05780 05781 #define ARBB_ELTWISE_TMETHOD_33(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) ARBB_ELTWISE_MBODY_33(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) 05782 05783 #define ARBB_ELTWISE_TMETHOD_34(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) ARBB_ELTWISE_MBODY_34(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) 05784 05785 #define ARBB_ELTWISE_TMETHOD_35(RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) ARBB_ELTWISE_MBODY_35(friend, typename, template, RT, CLS, FN, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) 05786 05788 05789 05790 05791 05792 05793 #endif // ARBB_CPP_DENSE_USER_FUNCS_HPP 05794 05795
Copyright © 2010, Intel Corporation. All rights reserved.