[LLVMdev] APFloat renaming isNormal => isFiniteNonZero and isIEEENormal => isNormal

Shuxin Yang shuxin.llvm at gmail.com
Tue Jun 18 16:51:47 PDT 2013


I would give you 20 thumb up if I could.

At the time I add the isDenormal() , I realized the name "isNormal()" 
need some change to reflect its real meaning,
but I was reluctant to make that change, partially because I was a big 
llvm newbie at that time.
(now, I'm just slightly smaller nut than I was :-)).

To test a real "normal" FP, I wrote the code this way "isNormal() && 
!isDenorma()".
With your change, this condition can be simplified.

On 6/18/13 4:21 PM, Stephen Canon wrote:
> I think it's a splendid idea (but you already knew that).
>
> On Jun 18, 2013, at 6:45 PM, Michael Gottesman <mgottesman at apple.com 
> <mailto:mgottesman at apple.com>> wrote:
>
>> IEEE-754R defines a normal floating point number as:
>>
>> 2.1.38 normal number:For a particular format, a finite non-zero 
>> floating-point number with magnitude greater than or equal to a 
>> minimumbeminvalue, wherebis the radix. Normal numbers can use the 
>> full precision available in a format. In this standard, zero is 
>> neither normal nor subnormal.
>>
>> This implies that a denormal is*not* a normal number.
>>
>> In contrast, the current implementation of isNormal in 
>> APFloat* does* 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.
>>
>> 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?
>>
>> Awaiting the flames,
>> Michael
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130618/92838c7b/attachment.html>


More information about the llvm-dev mailing list