/*  This C calling program will be linked to the
    functions that generate Fibonacci numbers. */

#include 
#include 
main ()
{
    unsigned long long fib1(), fib2(), fib3(), Fn, n;
    clock_t t;
    if ( sizeof(long int) != 8 ) {
       printf( "TESTFIB requires compiling with +DD64\n" );
       return(1);
    }
    printf("Which number? ");
    scanf("%lld",&n);
    t = clock();
    Fn = fib3(n);
    t = clock() - t;
    printf("FIB3 gives %llu, timing %llu\n",Fn,t);
    t = clock();
    Fn = fib2(n);
    t = clock() - t;
    printf("FIB2 gives %llu, timing %llu\n",Fn,t);
    t = clock();
    Fn = fib1(n);
    t = clock() - t;
    printf("FIB1 gives %llu, timing %llu\n",Fn,t);
    printf("CLOCKS_PER_SEC = %ld\n", CLOCKS_PER_SEC);
    return 0;
}