2016-02-27 23:08 GMT+03:00 Dominique Pellé <[email protected]>:
> Nikolay Aleksandrovich Pavlov <[email protected]> wrote:
>
>
>>> + #if defined(FEAT_EVAL) && defined(FEAT_FLOAT)
>>> + # include <float.h>
>>> + # if defined(HAVE_MATH_H)
>>> +    /* for isnan() and isinf() */
>>> + #  include <math.h>
>>> + # endif
>>> + # if defined(WIN32) && !defined(isnan)
>>> + #  define isnan(x) _isnan(x)
>>> + #  define isinf(x) (!_finite(x) && !_isnan(x))
>>
>> This really should also be
>>
>>     static inline isinf(double x) { return !_finite(x) && !_isnan(x); }
>>
>> Such functions are superior to macros because expressions like
>> `isinf(x += 10)` or `isinf((x = function_with_side_effects()))`, and
>> if below functions are used, then here it should also be function. Or
>> below should be two macros.
>
>
> Simpler would be...
>
> static int isinf(double x) { return x != x; }
>
> The function looks surprising, but it should work
> as nan is not equal to any number, including itself.

isinf function should not return true for NaN.

>
> Dominique
>
> --
> --
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups 
> "vim_dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui