summaryrefslogtreecommitdiff
path: root/games/six/patches/patch-lssolvecpp
diff options
context:
space:
mode:
Diffstat (limited to 'games/six/patches/patch-lssolvecpp')
-rw-r--r--games/six/patches/patch-lssolvecpp34
1 files changed, 20 insertions, 14 deletions
diff --git a/games/six/patches/patch-lssolvecpp b/games/six/patches/patch-lssolvecpp
index d88259c1162..2baa7588efc 100644
--- a/games/six/patches/patch-lssolvecpp
+++ b/games/six/patches/patch-lssolvecpp
@@ -1,29 +1,35 @@
-$NetBSD: patch-lssolvecpp,v 1.1 2007/06/13 00:10:44 rillig Exp $
+$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-06-13 02:06:20.000000000 +0200
-@@ -120,7 +120,11 @@ static void backwardSubstitution(const M
- double temp;
++++ six/lssolve.cpp 2007-09-28 00:57:32.000000000 +0200
+@@ -22,6 +22,12 @@
+ #include <cassert>
+ #include <cmath>
- x(n - 1) = b(n - 1) / U(n - 1, n - 1);
-+#if defined(__NetBSD__)
-+ if(isnan(x(n - 1)))
++#if defined(__NetBSD__) && defined(__GNUC__) && __GNUC__ == 3
++# define is_nan isnan
+#else
- if(std::isnan(x(n - 1)))
++# 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 +135,11 @@ static void backwardSubstitution(const M
+@@ -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 defined(__NetBSD__)
-+ if(isnan(x(i)))
-+#else
-+ if(std::isnan(x(i)))
-+#endif
++ if(is_nan(x(i)))
x(i) = 0.;
}
}