ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 апреля
1035525 Топик полностью
fk0, легенда (11.09.2020 11:44, просмотров: 655) ответил Evgeny_CD на Только очищающий огонь, который лично разожжет fk0, спасет нашу планету!
Да. За константы в коде (0.01, 0.00005, 8000) -- жечь. За копипасту и дупликацию тоже. Код можно переписать как-то так: 
do {
    if (ZeroFrameCounter <= 0) break;
    if (ThreeStrobs.SZero * SignS <= 0) break;
    if (ThreeStrobs.QZero * SignQ <= 0) break;
    if (fabs(ThreeStrobs.SZero) + fabs(ThreeStrobs.QZero) <= 0.5) break;

   Do some actions....

} while(0);


do {
    if (StopEqualFlag) break;

    double const limit = 0.01 * NMult;
    double const aru_ratio = ARUMultSlow1/ARUMultFast;
    if (aru_ratio <= 1 - limit) break;
    if (aru_ratio >= 1 + limit) break;

    const unsigned WTimerLimit = 8000*(TimerForRestoreEqual - 5);
    if (RestoreWTimer >= WTimerLimit) break;

    Do some actions...

 } while (0);


#define POW2(v) ((v)*(v))

do {
    if (MainState != FourpointOnepoint) break;

    if (ForcedStateChangeTimer != 1)
    {
        double const limit = 0.000005;
        double const square = POW2(S8000_R950[0]);
        if (2*square / POW2(ARUMultTotal) <= limit) break;
        if (ARUTimer != 0) break;
    }

    Do some actions...

} while (0);

Лишние скобки, кстати, тоже вред. Если без скобок глазами и по приоритету операторов видно (например общеизвестно, что && и || имеют более низкий приоритет, чем арифметика или сдвиги и нет смысла заключать логические условия в скобки), то со скобками без редактора умеющего прыгать курсором по скобкам вообще фиг прочитаешь!

[ZX]