este k tym zlozenym podmienkam

Jirka Mww jirka.mww na gmail.com
Pátek Duben 12 15:18:35 CEST 2024


Já se komplikovaným složeným podmínkám vyhýbám důsledným
využíváním principu  stavového automatu všude , kde to jen trochu jde.
Obvykle se mi pak daří v každém stavu testovat
jen jednu podmínku a k tomu obvykle nějaký time out, aby to v tom
konkrétním stavu nezamrzlo. Pro ladění pak stačí posílat na sériový port
jen info o změně stavu toho automatu.
.
Zdravi
Jirka Sloupenský  OK1MWW


pá 12. 4. 2024 v 10:27 odesílatel Jan Waclawek <konfera na efton.sk> napsal:

> Vcera zhodou okolnosti som mal "prilezitost" sa na takych zlozenych
> podmienkach vyburit, a tak by som este rad doplnil dve navzajom pribuzne,
> relativne marginalne optimalizacne techniky, ktore pouzivam:
>
> 1. ak sa zlozena podmienka vypocitava casto ale meni zriedkavo, tak si ju
> "predpocitavam" do pomocnej premennej (sam pre seba to volam "cache", aj
> ked to nie je asi spravne z pohladu standardneho pouzitia toho slova).
> T.j. namiesto
> if (podmienka1 && podmienka2 && podmienka3) {}
> napisem
> if (zlozenaPodmienka) {}
> a vzdy ked sa meni podmienka1, podmienka2, podmienka3 tak zavolam
> void ZmenaZlozenejPodmienky(void) {
>   zlozenaPodmienka = podmienka1 && podmienka2 && podmienka3;
> }
>
> 2. ak podmienky su bitove stavy, tak ich s oblubou skladam do bytu/wordu,
> kde potom namiesto testu s && staci otestovat cely byte/word na nulu.
> Na toto sa da s vyhodou vyuzit bit-banding v Cortex-M3/4 (resp. bitova
> oblast v '51, bit-banding na rozhrani pamati v niektorych Kinetisoch,
> apod.)
>
> Obe tieto techniky maju pomerne zasadny nedostatok v tom, ze na prvy pohlad
> "nie je vidiet" pouzitie tych jednotlivych podmienok.
>
> wek
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240412/3397752a/attachment.htm>


Další informace o konferenci Hw-list