Skip to content

Instantly share code, notes, and snippets.

@una-dinosauria
Created February 26, 2016 01:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save una-dinosauria/d656b2ed220337092be5 to your computer and use it in GitHub Desktop.
Save una-dinosauria/d656b2ed220337092be5 to your computer and use it in GitHub Desktop.
find min in c++
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <random>
#define N 1000000
#define H 256
#define TRIALS 60
float matrix [N][H];
int mins[N];
float min;
int minidx;
int main() {
std::clock_t start;
start = std::clock();
srand (static_cast <unsigned> (time(0)));
for (int i=0; i<N; i++) {
for (int j=0; j<H; j++) {
matrix[i][j] = static_cast <float> (rand()) / static_cast <float> (RAND_MAX);
}
}
std::cout << "Time: " << (std::clock() - start) / (double)(CLOCKS_PER_SEC / 1000) << " ms creating array" << std::endl;
start = std::clock();
for (int k=0; k<TRIALS; k++ ) {
for (int i=0; i<N; i++) {
minidx = 0;
min = matrix[i][0];
for (int j=1; j<H; j++) {
if (matrix[i][j] < min) {
min = matrix[i][j];
minidx = j;
}
}
mins[i] = minidx;
}
}
std::cout << "Time: " << (double)(((std::clock()-start)) / 1000) << " ms finding mins" << std::endl;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment