<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    I would give you 20 thumb up if I could. <br>
    <br>
    At the time I add the isDenormal() , I realized the name
    "isNormal()" need some change to reflect its real meaning,<br>
    but I was reluctant to make that change, partially because I was a
    big llvm newbie at that time.<br>
    (now, I'm just slightly smaller nut than I was :-)). <br>
    <br>
    To test a real "normal" FP, I wrote the code this way "isNormal()
    && !isDenorma()". <br>
    With your change, this condition can be simplified. <br>
    <br>
    On 6/18/13 4:21 PM, Stephen Canon wrote:<br>
    <blockquote
      cite="mid:88A8934F-EE86-4CC1-8D7B-04777FE0D35D@apple.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <div>I think it’s a splendid idea (but you already knew that).</div>
      <br>
      <div>
        <div>On Jun 18, 2013, at 6:45 PM, Michael Gottesman <<a
            moz-do-not-send="true" href="mailto:mgottesman@apple.com">mgottesman@apple.com</a>>
          wrote:</div>
        <br class="Apple-interchange-newline">
        <blockquote type="cite">
          <div style="letter-spacing: normal; orphans: auto; text-align:
            start; text-indent: 0px; text-transform: none; white-space:
            normal; widows: auto; word-spacing: 0px;
            -webkit-text-stroke-width: 0px; word-wrap: break-word;
            -webkit-nbsp-mode: space; -webkit-line-break:
            after-white-space;">IEEE-754R defines a normal floating
            point number as:
            <div>
              <div class="page" title="Page 16">
                <div class="layoutArea">
                  <div class="column">
                    <p><span style="font-size: 10pt; font-family:
                        TimesNewRomanPS; font-weight: 700;">2.1.38
                        normal number:<span
                          class="Apple-converted-space"> </span></span><span
                        style="font-size: 10pt; font-family:
                        TimesNewRomanPSMT;">For a particular format, a
                        finite non-zero floating-point number with
                        magnitude greater than or equal to a minimum<span
                          class="Apple-converted-space"> </span></span><span
                        style="font-size: 10pt; font-family:
                        TimesNewRomanPS; font-style: italic;">b</span><span
                        style="font-size: 6pt; font-family:
                        TimesNewRomanPS; font-style: italic;
                        vertical-align: 4pt;">emin<span
                          class="Apple-converted-space"> </span></span><span
                        style="font-size: 10pt; font-family:
                        TimesNewRomanPSMT;">value, where<span
                          class="Apple-converted-space"> </span></span><span
                        style="font-size: 10pt; font-family:
                        TimesNewRomanPS; font-style: italic;">b<span
                          class="Apple-converted-space"> </span></span><span
                        style="font-size: 10pt; font-family:
                        TimesNewRomanPSMT;">is the radix. Normal numbers
                        can use the full precision available in a
                        format. In this standard, zero is neither normal
                        nor subnormal. </span></p>
                  </div>
                </div>
              </div>
            </div>
            <div>This implies that a denormal is<span
                class="Apple-converted-space"> </span><b>not</b> a
              normal number.</div>
            <div><br>
            </div>
            <div>In contrast, the current implementation of isNormal in
              APFloat<b> does</b> treat denormal numbers as normal
              numbers breaking this definition. This is not just a
              predicate that has a name that differs from IEEE-754R
              (which I am fine with), but is an actual name collision
              with IEEE-754R with a different semantic meaning. This
              could easily lead to programmer error and thus in my
              humble opinion is worth the hassle/trouble of fixing.</div>
            <div><br>
            </div>
            <div>Does anyone have any thoughts/suggestions/objections
              with my renaming isNormal => isFiniteNonZero (and
              making all the relevant changes in the relevant codebases)
              and isIEEENormal => isNormal?</div>
            <div><br>
            </div>
            <div>Awaiting the flames,</div>
            <div>Michael</div>
          </div>
        </blockquote>
      </div>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>