$NetBSD: patch-lssolvecpp,v 1.2 2007/09/27 23:09:38 rillig Exp $ --- 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 #include +#if defined(__NetBSD__) && defined(__GNUC__) && __GNUC__ == 3 +# define is_nan isnan +#else +# define is_nan std::isnan +#endif + static void lu(const Mat &X, Mat &L, Mat &U, Vec &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.; } }