$NetBSD$

--- six/lssolve.cpp.orig	2004-07-19 10:30:50.000000000 +0200
+++ six/lssolve.cpp	2007-09-28 00:57:32.000000000 +0200
@@ -22,6 +22,12 @@
 #include <cassert>
 #include <cmath>
 
+#if defined(__NetBSD__) && defined(__GNUC__) && __GNUC__ == 3
+#  define is_nan isnan
+#else
+#  define is_nan std::isnan
+#endif
+
 static void lu(const Mat<double> &X, Mat<double> &L, Mat<double> &U,
                Vec<int> &p)
 {
@@ -120,7 +126,7 @@
   double temp;
 
   x(n - 1) = b(n - 1) / U(n - 1, n - 1);
-  if(std::isnan(x(n - 1)))
+  if(is_nan(x(n - 1)))
      x(n - 1) = 0.;
   for(i = n - 2; i >= 0; i--) {
     // Should be: x(i)=((b(i)-U(i,i,i+1,n-1)*x(i+1,n-1))/U(i,i))(0);
@@ -131,7 +137,7 @@
       temp += U.data()[iPos + j] * x(j);
     }
     x(i) = (b(i) - temp) / U.data()[iPos + i];
-    if(std::isnan(x(i)))
+    if(is_nan(x(i)))
        x(i) = 0.;
   }
 }
