Re: Simplify XPath NaN, inf and -0 handling

Daniel Veillard <[email protected]>
Newsgroups gmane.comp.gnome.lib.xml.general
Message-ID <[email protected]>
On Tue, Nov 14, 2017 at 04:23:29PM +0100, Nick Wellnhofer wrote:
> Here's are patch that I'd like to discuss before committing.

   Hi Nick,

  what do you really gain by this ?
Things which were known portable cross many platforms now become unclear again.
Trio might be deprecated, I would ask Daniel Stenberg first, so in copy,

  thanks,

Daniel

> Nick
> 
> ------------------
> 
> https://github.com/nwellnhof/libxml2/commit/8813f397f8925f85ffbe9e9fb62bfaa3c1accf11
> 
> Simplify XPath NaN, inf and -0 handling
> 
> Use C99 macros NAN, INFINITY, isnan, isinf. If they're not available:
> 
> - Assume that (0.0 / 0.0) generates a NaN and !(x == x) tests for NaN.
> - Use C89's HUGE_VAL for INFINITY.
> 
> Remove manual handling of NaN, infinity and negative zero in functions
> xmlXPathValueFlipSign and xmlXPathDivValues.
> 
> Remove xmlXPathGetSign. All the tests for negative zero can be replaced
> with a test for negative or positive zero.
> 
> Simplify xmlXPathRoundFunction.
> 
> Remove Trio dependency.
> 
> This should work on IEEE 754 compliant implementations even if the C99
> macros aren't available, but will likely break some ancient platforms.
> If problems arise, my plan is to port the relevant trionan.c solution
> to xpath.c. Note that non-compliant implementations are impossible
> to fully support, anyway, since XPath requires IEEE 754.
> _______________________________________________
> xml mailing list, project page  http://xmlsoft.org/
> [email protected]
> https://mail.gnome.org/mailman/listinfo/xml

-- 
Daniel Veillard      | Red Hat Developers Tools http://developer.redhat.com/
[email protected]  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | virtualization library  http://libvirt.org/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.