sweep.c: Use gsl_matrix_memcpy instead of element by element copying.
[pspp-builds.git] / lib / linreg / sweep.c
index c218456418c75ccc450d452eeba21f1fcbbf5cda..1eb466e92105d80c323c18ca9263f54a568746fb 100644 (file)
@@ -106,20 +106,18 @@ reg_sweep (gsl_matrix * A, int last_col)
                      tmp = gsl_matrix_get (A, i, j) -
                        gsl_matrix_get (A, i, k)
                        * gsl_matrix_get (A, j, k) / sweep_element;
-                     gsl_matrix_set (B, i, j, tmp);
                    }
                  else if (j > k)
                    {
                      tmp = gsl_matrix_get (A, i, j) -
                        gsl_matrix_get (A, i, k)
                        * gsl_matrix_get (A, k, j) / sweep_element;
-                     gsl_matrix_set (B, i, j, tmp);
                    }
                  else
                    {
                      tmp = gsl_matrix_get (A, i, k) / sweep_element;
-                     gsl_matrix_set (B, i, j, tmp);
                    }
+                 gsl_matrix_set (B, i, j, tmp);
                }
            }
          /*
@@ -144,11 +142,7 @@ reg_sweep (gsl_matrix * A, int last_col)
                }
            }
        }
-      for (i = 0; i < A->size1; i++)
-       for (j = i; j < A->size2; j++)
-         {
-           gsl_matrix_set (A, i, j, gsl_matrix_get (B, i, j));
-         }
+      gsl_matrix_memcpy (A, B);
     }
   gsl_matrix_free (B);