RosettaCodeData/Task/Time-a-function/Aime/time-a-function.aime

51 lines
511 B
Plaintext

integer
identity(integer x)
{
return x;
}
integer
sum(integer c)
{
integer s;
s = 0;
while (c) {
s += c;
c -= 1;
}
return s;
}
real
time_f(integer (*fp) (integer), integer fa)
{
date f, s;
time t;
d_now(s);
fp(fa);
d_now(f);
t_ddiff(t, f, s);
return t_microsecond(t) / 1000000r;
}
integer
main(void)
{
o_real(6, time_f(identity, 1));
o_text(" seconds\n");
o_real(6, time_f(sum, 1000000));
o_text(" seconds\n");
return 0;
}