more patches from Richard Jinks Updated tests though they show a

* trionan.c trionan.h xpath.c: more patches from Richard Jinks
* test/XPath/expr/compare test/XPath/expr/equality
  test/XPath/expr/floats test/XPath/expr/functions
  test/XPath/expr/strings result/XPath/expr/compare
  result/XPath/expr/equality result/XPath/expr/floats
  result/XPath/expr/functions result/XPath/expr/strings: Updated
  tests though they show a divergence on Linux
Daniel
diff --git a/trionan.h b/trionan.h
index d80a348..ab2102d 100644
--- a/trionan.h
+++ b/trionan.h
@@ -23,6 +23,15 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+
+enum {
+  TRIO_FP_INFINITE,
+  TRIO_FP_NAN,
+  TRIO_FP_NORMAL,
+  TRIO_FP_SUBNORMAL,
+  TRIO_FP_ZERO
+};
+
 /*
  * Return NaN (Not-a-Number).
  */
@@ -49,6 +58,17 @@
  */
 TRIO_PUBLIC int trio_isinf(double number);
 
+/*
+ * If number is finite return non-zero, otherwise return zero.
+ */
+TRIO_PUBLIC int trio_isfinite(double number);
+
+TRIO_PUBLIC int trio_signbit(double number);
+
+TRIO_PUBLIC int trio_fpclassify(double number);
+
+TRIO_PUBLIC double trio_nzero(void);
+
 #ifdef __cplusplus
 }
 #endif