template<int N> struct print_n; template<int M, int N, int K> struct loop_on_m; template<int M, int N, int K, typename Scalar, int Mode> struct loop_on_n;
template<int M, int N, int K> struct loop_on_k
{ staticvoid run()
{
std::cout << "K=" << K << "\t";
print_n<N>::run();
std::cout << "\n";
loop_on_m<M,N,K>::run();
std::cout << "\n\n";
loop_on_k<M,N,K+1>::run();
}
};
template<int M, int N> struct loop_on_k<M,N,END> { staticvoid run(){} };
template<int M, int N, int K> struct loop_on_m
{ staticvoid run()
{
std::cout << M << "f\t";
loop_on_n<M,N,K,float,CoeffBasedProductMode>::run();
std::cout << "\n";
std::cout << M << "f\t";
loop_on_n<M,N,K,float,-1>::run();
std::cout << "\n";
loop_on_m<M+1,N,K>::run();
}
};
template<int N, int K> struct loop_on_m<END,N,K> { staticvoid run(){} };
template<int M, int N, int K, typename Scalar, int Mode> struct loop_on_n
{ staticvoid run()
{
bench_prod<M,N,K,Scalar,Mode==-1? alt_prod<M,N,K>::ret : Mode>();
loop_on_n<M,N+1,K,Scalar,Mode>::run();
}
};
template<int M, int K, typename Scalar, int Mode> struct loop_on_n<M,END,K,Scalar,Mode> { staticvoid run(){} };
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.