#include <cstdio> #include <complex> #include "bench.h" void printValue(double x) { printf("%7.2lf ", x); } // Frage: Wieso wird hier eine Const-Referenz uebergeben? void printValue(const std::complex<double> &x) { printf("(%7.2lf,%7.2lf) ", x.real(), x.imag()); } template <typename T, typename Index> void printGeMatrix(Index m, Index n, const T *A, Index incRowA, Index incColA) { for (Index i=0; i<m; ++i) { for (Index j=0; j<n; ++j) { printValue(A[i*incRowA+j*incColA]); } printf("\n"); } printf("\n"); } int main() { std::complex<double> *A = new std::complex<double>[3*7]; bench::initGeMatrix(3, 7, A, 1, 3); printGeMatrix(3, 7, A, 1, 3); delete [] A; } |