From: Cedric B. <ced...@fr...> - 2012-05-07 01:52:12
|
On Sun, May 6, 2012 at 10:34 PM, Michael Blumenkrantz <mic...@gm...> wrote: > 0.999987 consistently returns a value greater than 1.0 when using > ECORE_POS_MAP_ACCELERATE. > > On Sun, May 6, 2012 at 1:11 PM, Carsten Haitzler <ra...@ra...>wrote: >> On Sun, 6 May 2012 12:50:27 +0000 Michael Blumenkrantz >> <mic...@gm...> said: >> >> ummm... i suspect a bug in your code. that accelerate mode has been in >> edje for >> years - ecore just copied the algorithm/code out into a shared func in >> edje. >> i've had test code for it - here is the dump of values "near 1": >> >> 0.909 -> 0.857 >> 0.919 -> 0.874 >> 0.929 -> 0.889 >> 0.939 -> 0.904 >> 0.949 -> 0.922 >> 0.960 -> 0.936 >> 0.970 -> 0.951 >> 0.980 -> 0.969 >> 0.990 -> 0.984 >> 1.000 -> 0.999 >> >> never goes above 1. There was a rouding and overflow issue in eina fixed point implemantation of sin/cos that when getting close to 1 and above 0.999, it could wrongly round the value and think it was above 1.0. It is now fixed, I just don't really get why no one noticed that before as we use that in edje intensively. -- Cedric BAIL |