title: Why is the alphabet split into multiple ranges in this C code?
body: <p>In a custom library I saw an implementation:</p>
  
  <pre><code>inline int is_upper_alpha(char chValue)
  {
      if (((chValue &gt;= 'A') &amp;&amp; (chValue &lt;= 'I')) ||
          ((chValue &gt;= 'J') &amp;&amp; (chValue &lt;= 'R')) ||
          ((chValue &gt;= 'S') &amp;&amp; (chValue &lt;= 'Z')))
          return 1;
      return 0;
  }
  </code></pre>
  
  <p>Is that an <a href="https://en.wikipedia.org/wiki/Easter_egg_%28media%29">Easter egg</a> or what are the advantages vs standard C/C++ method?</p>
  
  <pre><code>inline int is_upper_alpha(char chValue)
  {
      return ((chValue &gt;= 'A') &amp;&amp; (chValue &lt;= 'Z'));
  }
  </code></pre>