int recursiveFunction(int n) { if (n == 0) { return 2; } else if (n == 1) { return 2; } else { return recursiveFunction(n - 1) + (recursiveFunction(n - 2) / 2); } }
void recursiveFunction(int depth) { rmt_BeginCPUSample(recursive, RMTSF_Recursive); if (depth < 5) { recursiveFunction(depth + 1); } rmt_EndCPUSample(); }
double delay() { int i, end; double j = 0; rmt_BeginCPUSample(delay, 0); for( i = 0, end = rand()/100; i < end; ++i ) { j += sin(i); } recursiveFunction(0); aggregateFunction(); aggregateFunction(); aggregateFunction(); rmt_EndCPUSample(); return j; }
int main(int argc, char **argv) { if (argc != 2) { fprintf(stderr, "Usage: %s n\n", argv[0]); exit(1); } int n = atoi(argv[1]); time_t start, end; start = time(NULL); int result = recursiveFunction(n); end = time(NULL); int time = (end - start); printf("f(%d) = %d\n", n, result); printf("Computation Time: %d seconds\n", time); return 0; }