changeset 776:e3d1ba5dfd9b

*** empty log message ***
author david <david>
date Mon, 27 Feb 1995 11:22:42 +0000
parents e18cd535c16d
children eb0b9e84326c
files volume_io/MNI_formats/thin_plate_spline.c
diffstat 1 files changed, 13 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/volume_io/MNI_formats/thin_plate_spline.c
+++ b/volume_io/MNI_formats/thin_plate_spline.c
@@ -1,6 +1,6 @@
 
 #ifndef lint
-static char rcsid[] = "$Header: /private-cvsroot/minc/volume_io/MNI_formats/thin_plate_spline.c,v 1.5 1995-02-20 13:12:27 david Exp $";
+static char rcsid[] = "$Header: /private-cvsroot/minc/volume_io/MNI_formats/thin_plate_spline.c,v 1.6 1995-02-27 11:22:42 david Exp $";
 #endif
 
 /* ----------------------------- MNI Header -----------------------------------
@@ -193,8 +193,6 @@
 @MODIFIED   : 
 ---------------------------------------------------------------------------- */
 
-#define FREERETURN {FREE2D(alpha);FREE(bet);return;}
-
 private  void mnewt(int ntrial,float x[], int dim, float tolx, float tolf,
                     float **bdefor, float **INVMLY, int num_marks)
 
@@ -217,24 +215,27 @@
       usrfun(x, alpha, bet, bdefor, INVMLY, num_marks, dim, xout);
 
       errf=0.0;			/* Check for function convergence */
-      for (i=1;i<=dim;i++) errf += fabs(bet[i-1]);
-      if (errf <= tolf) FREERETURN
+      for (i=1;i<=dim;i++)
+          errf += fabs(bet[i-1]);
+      if (errf <= tolf)
+          break;
 
       if( !solve_linear_system( dim, alpha, bet, bet ) )
-          FREERETURN;
+          break;
 
       errx=0.0;
       for (i=1;i<=dim;i++) {	/* check for root convergence */
-	 errx += fabs(bet[i-1]);
-	 x[i-1] += bet[i-1];	/* Update the solution */
+	  errx += fabs(bet[i-1]);
+	  x[i-1] += bet[i-1];	/* Update the solution */
       }
-      if (errx <= tolx) FREERETURN
+      if (errx <= tolx)
+          break;
    }
-   FREERETURN
+
+   FREE2D(alpha);
+   FREE(bet);
 }
 
-#undef FREERETURN
-
 
 /* ----------------------------- MNI Header -----------------------------------
 @NAME       : usrfun