diff --git a/gauss.c b/gauss.c --- a/gauss.c +++ b/gauss.c @@ -8,8 +8,8 @@ #ifndef VERBOSE #define VERBOSE 1 #endif -#ifndef ZEROASSUMPTION -#define ZEROASSUMPTION 1E-3 /* 0.001 = 0.0 */ +#ifndef ACCURACY +#define ACCURACY 1E-6 /* 0.000001 = 0.0 */ #endif #include @@ -21,8 +21,6 @@ for (k = 0; k < MAXY; k++) { for (n = 0; n < MAXX - 1; n++) { - if ((A[k][n] < ZEROASSUMPTION) && (A[k][n] > -ZEROASSUMPTION)) - A[k][n] = 0.0; printf ("%8.2f ", A[k][n]); } printf ("=%8.2f\n", A[k][n]); @@ -46,6 +44,8 @@ for (n = 0; n < MAXX; n++) { A[k][n] *= -h; A[k][n] += A[j][n]; + if ((A[k][n] < ACCURACY) && (A[k][n] > -ACCURACY)) + A[k][n] = ACCURACY; } } i++;