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