<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>preco chcete setrit pismenkami? <br>
    </p>
    <p>podla mna je dolezitejsie aby to bolo lahko citatelne komukolvek.</p>
    <p>lebo ak chcete mat portovatelny kod tak musi byt trocha odolny,
      taktiez pri testovani ked potrebujete vediet ktory vyraz ma aku
      hodnotu, alebo pre logovanie.</p>
    <p>je kopec rieseni ktore na prvy pohlad zjednodusuju program ale
      nakoniec sa mozu skaredo vypomstit</p>
    <br>
    <p><span style="font-size:10.0pt;font-family:"Courier
        New"">>>>A bylo by docela zajímavé se podívat jak
        se liší zkompilovaný kód v obou případech.</span></p>
    <p><span style="font-size:10.0pt;font-family:"Courier
        New"">>>>Myslím že by tam velké rozdíly nebyly.<br>
      </span></p>
    <p>to by aj mna by zaujimalo :)<br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 21. 4. 2020 12:39, Pavel Hudecek
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:U.5tjvD.3hFTeP4JVNA.1Udira@seznam.cz">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
      <div class="WordSection1">
        <p class="MsoNormal">No jo, ale to pak na místě použití není
          vidět, jaké že ty podmínky jsou. Předpokládám, že funkce bude
          dle firemních pravidel definována v nějakém externím souboru.
          Nedej bože, když takových sad podmínek bude víc. To pak budou
          názvy těch funkcí tak dlouhé, že určitě poruší nějaké délkové
          pravidlo, ohledně délky řádku:-)</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Normálně bych pro zvýšení přehlednosti dal
          mezery okolo + (což jsem ale pro zabránění zalomení v mailu
          vynechal). Uvažoval bych ještě o další závorce okolo součtu.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Použití funkce pro mě přehlednost jasně
          snižuje:-) Navíc <span
            style="font-size:10.0pt;font-family:"Courier New"">MIN_A_COUNT
            a</span> <span
            style="font-size:10.0pt;font-family:"Courier New"">REMAING_COUNT</span>
          jsou vyloženě matoucí názvy pro podmínky nesouvisející s
          count:-) Jinak teda proti použití define nic nenamítám, běžně
          používám, ale zas je to zbytečná komplikace do ukázky typu
          kódu v mailu.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">K čemu teda máme různé jazyky, když bychom
          nemohli využívat jejich výhod?</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">PH</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div
          style="mso-element:para-border-div;border:none;border-top:solid
          #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
          <p class="MsoNormal" style="border:none;padding:0cm"><b>Od: </b><a
              href="mailto:tomas.hamouz@divesoft.com"
              moz-do-not-send="true">Tomáš Hamouz</a><o:p></o:p></p>
        </div>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><span
            style="font-size:10.0pt;font-family:"Courier New"">Myslím
            že lepší otázka zní, jak to napsat tak aby bylo na první
            pohled jasné co daný výraz vyhodnocuje, <br>
            bez ohledu na počet písmenek.<br>
            <br>
            Abych planě nekritizoval, nejspíš bych to udělal takhle, ale
            protože nevím účel celé konstrukce,<br>
            tak by bylo třeba lepší zahrnout i porovnání s trijkou.
            Podmínku malého počtu písmenek zcela zjevně <br>
            nesplňuju, ale to zcela záměrně, protže bych se v tom rád
            vyznal i po několika letech kdy jsem to neviděl.<br>
            <br>
            <br>
            #define   MIN_A_COUNT               2            // vyznam
            teto konstanty<br>
            #define   REMAING_COUNT       12        // vyznam teto
            konstanty<br>
            #define   MINIMAL_COND_COUNT   3        // vyznam teto
            konstanty<br>
             <br>
            static inline int count_test_conditions(int a, int b, int x,
            int y) <br>
            {<br>
                int count = 0;<br>
                if (a < MIN_A_COUNT) {++count;}        // oduvodneni
            teto podminky<br>
                if (a > b) {++count;}                  // oduvodneni
            teto podminky<br>
                if (x < y) {++count;}                  // oduvodneni
            teto podminky<br>
                if ((a%x) == REMAING_COUNT) {++count;} // oduvodneni
            teto podminky<br>
                if (b < y) {++count;}                  // oduvodneni
            teto podminky<br>
                return count;<br>
            }<br>
            <br>
            if (count_test_conditions(a, b, x, y) > 3) {<br>
            }<br>
            <br>
            <br>
            A bylo by docela zajímavé se podívat jak se liší
            zkompilovaný kód v obou případech.<br>
            Myslím že by tam velké rozdíly nebyly.<br>
            <br>
            <br>
          </span><o:p></o:p></p>
        <table class="MsoNormalTable" cellpadding="0" border="0">
          <tbody>
            <tr>
              <td style="width:1.5pt;background:blue;padding:.75pt .75pt
                .75pt .75pt" width="2"><br>
              </td>
              <td style="width:768.75pt;padding:.75pt .75pt .75pt .75pt"
                width="1025">
                <p class="MsoNormal">Otázka tedy zní, jak ho upravit,
                  aby prošel a přibylo co nejméně písmenek:-)<br>
                   <br>
                  PH<br>
                   <br>
                  <b>Od: </b><a href="mailto:as5sgm@gmail.com"
                    moz-do-not-send="true">as5sgm@gmail.com</a><br>
                  <span
                    style="font-size:10.0pt;font-family:"Courier
                    New"">>>> If
                    ((a<2)+(a>b)+(x<y)+(a%x==12)+(b<y) >
                    3) {<br>
                    Tento riadok kodu by nepresiel review a ani MISRA
                    rules, vsade kde su aspon dvaja vyvojari :)<br>
                    Miro<br>
                     <br>
                  </span>On 21. 4. 2020 10:37, Pavel Hudecek wrote:<br>
                  Vzhledem ke komutativnosti sčítání by pořadí mělo bejt
                  irelevantní, kromě toho posledního >, ale to má
                  nižší prioritu než +, takže se musí vyhodnotit jako
                  poslední.<br>
                   <br>
                  No a že to nebude fungovat v jiných jazycích? To je
                  snad normální. Nebo všechny mají ++, printf, pointery
                  jako Delphi, nepotřebují deklarovat proměnné jako VB6,
                  … ?<br>
                   <br>
                  Příkazů je tam 0, takže omezení na max. jeden na řádek
                  to taky nepřekračuje.<br>
                   <br>
                  PH<br>
                   <br>
                  <b>Od: </b><a href="mailto:a2x1nptda8@email.cz"
                    moz-do-not-send="true">Michal Gregor</a><br>
                  Spravne se maji slozite podminky prevest do funkci.
                  Plati zasada jeden <br>
                  radek jeden prikaz. A nespolehat se na interni "tajne"
                  funkce <br>
                  compilatoru. Co kdyz to nekdo skopiruje do C++? Nebo
                  do uplne jineho jazyja.<br>
                   <br>
                   <br>
                  Dne 21.04.2020 v 8:46 Jan Waclawek napsal(a):<br>
                  > A nemohlo to byt skor o tom, ze v takychto
                  vyrazoch<br>
                  > <br>
                  >>> If
                  ((a<2)+(a>b)+(x<y)+(a%x==12)+(b<y) > 3)
                  {<br>
                  > <br>
                  > nie je zarucene poradie vyhodnotenia pod-vyrazov,
                  aj keby mali vedlajsie<br>
                  > efekty?<br>
                  > <br>
                  > wek<br>
                  > <br>
                  > <br>
                  > ----- Original Message ---------------<br>
                  >> Sa vam dvom do toho zamontujem, som nieco
                  nasiel vo svojom archive, ale<br>
                  >> Ty si mimo podozreni :)<br>
                  >> Skor si ja pofajcim, ze uz kedy som daval do
                  placu citat z normy, ktory<br>
                  >> si teraz dal aj Ty :-D<br>
                  >> <br>
                  >> <a
                    href="https://list.hw.cz/pipermail/hw-list/2011-July/399004.html"
                    moz-do-not-send="true">https://list.hw.cz/pipermail/hw-list/2011-July/399004.html</a><br>
                  >> <br>
                  >> miro<br>
                  >> <br>
                  >> On 21.4.2020 1:17, Jan Waclawek wrote:<br>
                  >>> Hm, tak ja vidim vyhody skor v tych 6
                  ifoch a 1 pomocnej premennej...<br>
                  >>> <br>
                  >>> Ale ak by si nahodou nasiel odkaz, kde
                  ten JW z minulosti povedal, ze<br>
                  >>> vysledkom podmienky nemusi byt 0 alebo 1,
                  tak by som Ti bol vdacny.<br>
                  >>> <br>
                  >>> wek<br>
                  >>> <br>
                  >>> <br>
                  >>> ----- Original Message ---------------<br>
                  >>> Tak?e se po pár misících mu?u vrátit k
                  tomu, ?e jedna z výhod C je mo?nost<br>
                  >>> dilat vici, jako:<br>
                  >>> <br>
                  >>> If
                  ((a<2)+(a>b)+(x<y)+(a%x==12)+(b<y)>  3)
                  {<br>
                  >>> <br>
                  >>> Co? v jiných jazycích vede na 6 ifu a 1
                  pomocnou prominnou.<br>
                  >>> <br>
                  >>> PH<br>
                  >>> <br>
                  >>> Od: Jan Waclawek<br>
                  >>> <br>
                  >>> Hm, tak potom by som mal asi tomu JW z
                  minulosti jednu tresnut...<br>
                  >>> <br>
                  >>> Konkretne teda, C99, 6.5.8 Relational
                  operators #6:<br>
                  >>> Each of the operators<  (less
                  than),>  (greater than),<= (less than or<br>
                  >>> equal to), and>=<br>
                  >>> (greater than or equal to) shall yield 1
                  if the specified relation is true<br>
                  >>> and 0 if it is false. 92)<br>
                  >>> The result has type int.<br>
                  >>> <br>
                  >>> Ten footnote 92) je kuzelny:<br>
                  >>>    The expression a<b<c is not
                  interpreted as in ordinary mathematics. As the<br>
                  >>> syntax indicates, it<br>
                  >>> means (a<b)<c; in other words, ??if
                  a is less than b, compare 1 to c;<br>
                  >>> otherwise, compare 0 to c??.<br>
                  >>> <br>
                  >>> wek<br>
                  >>> <br>
                  >>> <br>
                  >>> ----- Original Message ---------------<br>
                  >>> <br>
                  >>> Mil jsem nijak za to, ?e to byl právi
                  jistý JW, kdo mi tu onehdá vyeetl, ?e<br>
                  >>> spoléhat se, ?e výsledkem podmínky je 0
                  nebo 1 není správné:-)<br>
                  >>> <br>
                  >>> PH<br>
                  >>> <br>
                  >>> Od: Jan Waclawek<br>
                  >>> <br>
                  >>>> A jinak teda ten kód udilá to, ?e
                  pokud je splnina podmínka v závorce, nastaví se bit 0
                  na výstupní (zda to bude bit 0 není zarueeno, ale
                  jinak skoro jisté).<br>
                  >>> <br>
                  >>> Preco by to nemal byt bit 0?<br>
                  >>> <br>
                  >>>
                  _______________________________________________<br>
                  >>> <br>
                  >>>>> <br>
                  >>>>>     DDRB |=(1<CLK_UP); <br>
                  <span
                    style="font-size:10.0pt;font-family:"Courier
                    New""> </span><o:p></o:p></p>
              </td>
            </tr>
          </tbody>
        </table>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
  </body>
</html>