Float na 8bit - minitest
Pavel Hudeček
edizon na seznam.cz
Středa Duben 24 09:55:52 CEST 2024
V podstatě prvním použitím kód skokově naroste, dál, pokud je float
použit skoro všude, už zas nějak moc významný nárůst není. Nejhorší je,
se float snažit minimalizovat na pár míst a tím zvýšit počet použitých
druhů operací s long.
Zajímalo by mě, jestli lze v avr-g++ nějak zapnout double, nebo jestli
je na to dostupná nějaká knihovna, občas by se to hodilo:-)
PH
Dne 24.04.2024 v 7:57 Jaroslav Buchta napsal(a):
> Jo, taky mi prijdou obavy z float prehnane, ono to v principu tak
> slozite neni, navic jsou jen bitove posuvy mantisy pred a po operaci a
> nejaka logika se znamenkem a exponentem. Komfort prace s cisly je pak
> o level jinde.
> A pokud uz je nutny double, tak narocnost zakladnich operaci bych si
> tipnul roste spis linearne nez rychleji, cili na cca dvojnasobek ,
> jine to bude u funkci typu sin, cos, log... ale zase asi jen vyssi
> pocet iteraci.
>
> Dne 24.04.2024 v 7:09 Jan Waclawek napsal(a):
>> Zaujimave.
>>
>> Takze rezia cca 50 cyklov, scitanie cca 150 cyklov, nasobenie asi
>> 200, delenie dvojnasobok.
>>
>> V scitani zrejme dominuje normalizacia resp. uvedenie na spolocny
>> exponent, a rozne okrajove testy. Nasobenie vo float je vlastne
>> takmer jednoduchsie nez scitanie, lebo netreba to uvedenie na
>> spolocny exponent, co je defacto uz tiez nasobenie.
>>
>> Toto AVR ma HW nasobicku 8*8 aj delenie 16/8, vsak?
>>
>> wek
>>
>> On 24 April 2024 01:10:08 CEST, "Pavel Hudeček" <edizon na seznam.cz>
>> wrote:
>>> Ještě jsem přidal inicializaci hodin na 24 MHz.
>>>
>>> PORTC.OUTTGL = 255;
>>> PORTC.OUTTGL = 255;
>>> PORTC.OUTTGL = 255;
>>> PORTC.OUTTGL = 255;
>>> PORTC.OUTTGL = 255;
>>> PORTC.OUTTGL = 255;
>>>
>>> Dělá dle očekávání 12 MHz.
>>>
>>> A tady původní program bez a s různými výpočty:
Další informace o konferenci Hw-list