Run time of comparison function
#include<iostream>
#include<time.h>
using namespace std;
clock_t strat, stop;
double duration;
double f1(int n, double a[], double x) {
int i;
double p = a[0];
for (i = 1; i <= n; i++)
p += (a[i] * pow(x, 1));
return p;
}
double f2(int n, double a[], double x) {
int i;
double p = a[n];
for (i = n; i > 0; i--)
p = a[i - 1] + x * p;
return p;
}
void main() {
int i, n = 10000;
double a[10];
for (i = 0; i < 10; i++)
a[i] = (double)i;
strat = clock();
for (i = 0; i < n; i++)
f1(10, a, 1.1);
stop = clock();
duration = ((double)(stop - strat)) / CLK_TCK;
cout << "ticks1 = " << (double)(stop - strat) << endl;
cout << "duation1 = " << duration << endl;
strat = clock();
for (i = 0; i < n; i++)
f2(10, a, 1.1);
stop = clock();
duration = ((double)(stop - strat)) / CLK_TCK;
cout << "ticks2 = " << (double)(stop - strat) << endl;
cout << "duation2 = " << duration << endl;
}