#include #include #include #include #include #ifndef MIN_M #define MIN_M 1000 #endif #ifndef MIN_N #define MIN_N 1000 #endif #ifndef MAX_M #define MAX_M 10000 #endif #ifndef MAX_N #define MAX_N 10000 #endif #ifndef INCX #define INCX 1 #endif #ifndef INCY #define INCY 1 #endif #ifndef ALPHA #define ALPHA 1 #endif #ifndef BETA #define BETA 1 #endif #ifndef T_MIN #define T_MIN 1 #endif double A1[MAX_M*MAX_N]; double A2[MAX_M*MAX_N]; double X[MAX_N*INCX]; double Y[MAX_M*INCY]; double Y1[MAX_M*INCY]; double Y2[MAX_M*INCY]; double walltime() { struct tms ts; static double ClockTick=0.0; if (ClockTick==0.0) { ClockTick = 1.0 / ((double) sysconf(_SC_CLK_TCK)); } return ((double) times(&ts)) * ClockTick; } void initMatrix(long m, long n, double *A, long incRowA, long incColA) { int i, j; for (j=0; j