[U-Boot] Illegal use of FP ops in clock_ti814x.c

Måns Rullgård
2013-10-29T12:44:32Z

Wolfgang Denk <wd@denx.de> writes:

> Dear M?ns Rullg?rd,
>
> In message <yw1x8uxc28y9.fsf@unicorn.mansr.com> you wrote:
>>
>> >> Something like this should be equivalent. That said, it looks
>> >> suspiciously like it's meant to simply do a division and round up. If
>> >> that is the case, +225 should be +249. It probably makes no difference
>> >> for the values actually encountered.
>> >
>> > Umm... this is the part which I do not understand.
>> >
>> > The original code adds 90%; you add 90%, too. However, to round up,
>> > one usually adds only 50% ?
>>
>> Adding 50% would round to nearest. For integer division to round up,
>> you must add one less than the divisor.
>
> Agreed. But do we want to round up? The original code used +90%,
> which is something else, too...

That rounds fractions >= 0.1 up while < 0.1 is rounded down. It's an
unusual thing to do, which is why I suspect it's not quite correct in
the first place.

>> > Where are these 90% coming from? Are they in any way meaningful, or
>> > even critical?
>>
>> My guess is that it was someone's approximation of 249 / 250. I don't
>> know the hardware, so it's conceivable that it really should be this
>> way, although it seems unlikely.
>
> Are you able to test such a modificationon actual hardware?

No.

--
M?ns Rullg?rd
mans at mansr.com