int main() { int16_t x[2048]; int16_t y[2048]; int16_t z[2048]; int i,j; time_t t; /* Intializes random number generator */ srand((unsigned) time(&t)); for( j = 0 ; j < 2048 ; j++ ){ x[j] = rand()%1000; y[j] = rand()%1000; z[j] = 0; } printf("x = [ "); for( j = 0 ; j < 2048 ; j++ ){ printf("%d, ", x[j]); } printf(" ] \n"); printf("y = [ "); for( j = 0 ; j < 2048 ; j++ ){ printf("%d, ", y[j]); } printf("]\n"); m16_vv(x,y,z,2048); printf("z = [ "); for (i=0;i<16; i++){ printf("%d, ", z[i]); } printf(" ]\n"); printf("should be "); printf(" = [ "); for (i=0;i<16; i++){ printf("%d, ", (int)((x[i]*y[i])/pow(2,16)) *2 ); } printf(" ]\n"); time_stats_t ts; reset_meas (&ts); start_meas (&ts); unsigned long long k; for(k=0;k< 4000000; k++){ m16_vv(x,y,z,2048); } stop_meas (&ts); printf("difference: %lld \n", ts.diff); return 0; }
int main() { time_stats_t ts; int16_t x[16]; int16_t y[16]; int16_t z[16]; int N = 16; int i; time_t t; srand((unsigned) time(&t)); for(i=0; i<16; i++){ x[i] = rand()%1000; y[i] = rand()%1000; z[i] = 0; printf("%d ",x[i]); } printf("\nThat was x, now y: \n"); for(i=0; i<16; i++){ printf("%d ",y[i]); } printf("\n"); reset_meas(&ts); start_meas(&ts); m16_vv(x, y, z, N); stop_meas(&ts); printf("z:\n"); for(i=0; i<16; i++){ printf("%d ",z[i]); } printf("\nTimemeasure: %lld \n",ts.diff); return 0; }