[ECOS] clock() problem?
Chris Houston
chouston@logikos.com
Wed Nov 15 05:23:00 GMT 2000
Has anyone else encountered strange behaviour when using the "clock()"
function? When I use it, the result seems to roll over int 16 bits.
In packages/language/c/libc/time/v1_x_x/src/clock.cxx, in the clock()
function, if I change
clocks = ((clock_t)curr_clock * resolution.dividend) /
(resolution.divisor * (1000000000 / CLOCKS_PER_SEC));
to
clocks = (clock_t)((curr_clock * resolution.dividend) /
(resolution.divisor * (1000000000 / CLOCKS_PER_SEC)));
then the function seems to behave correctly. It seems that in
the first case, the multiplication in the numerator gets truncated to
32 bits.
More information about the Ecos-discuss
mailing list