Changeset 3853
- Timestamp:
- May 5, 2005, 12:15:16 PM (21 years ago)
- Location:
- trunk/psLib/src
- Files:
-
- 4 edited
-
dataManip/psMinimize.c (modified) (6 diffs)
-
dataManip/psMinimize.h (modified) (2 diffs)
-
math/psMinimize.c (modified) (6 diffs)
-
math/psMinimize.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/dataManip/psMinimize.c
r3852 r3853 9 9 * @author GLG, MHPCC 10 10 * 11 * @version $Revision: 1.11 1$ $Name: not supported by cvs2svn $12 * @date $Date: 2005-05-05 22:1 0:12$11 * @version $Revision: 1.112 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2005-05-05 22:15:16 $ 13 13 * 14 14 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 808 808 } 809 809 810 # define SWAP(X,Y) {double tmp=(X); (X) = (Y); (Y) = tmp;} 810 // XXX" put this in constants.h 811 # define PS_SWAP(X,Y) {double tmp=(X); (X) = (Y); (Y) = tmp;} 811 812 812 813 // XXX EAM : temporary gauss-jordan solver based on gene's … … 829 830 indxr = psAlloc (Nx*sizeof(int)); 830 831 ipiv = psAlloc (Nx*sizeof(int)); 831 for (j = 0; j < Nx; j++) 832 for (j = 0; j < Nx; j++) { 832 833 ipiv[j] = 0; 834 } 833 835 834 836 irow = icol = 0; … … 864 866 if (irow != icol) { 865 867 for (l = 0; l < Nx; l++) { 866 SWAP (matrix[irow][l], matrix[icol][l]);867 } 868 SWAP (vector[irow], vector[icol]);868 PS_SWAP (matrix[irow][l], matrix[icol][l]); 869 } 870 PS_SWAP (vector[irow], vector[icol]); 869 871 } 870 872 indxr[i] = irow; … … 886 888 dum = matrix[ll][icol]; 887 889 matrix[ll][icol] = 0.0; 888 for (l = 0; l < Nx; l++) 890 for (l = 0; l < Nx; l++) { 889 891 matrix[ll][l] -= matrix[icol][l]*dum; 892 } 890 893 vector[ll] -= vector[icol]*dum; 891 894 } … … 894 897 895 898 for (l = Nx - 1; l >= 0; l--) { 896 if (indxr[l] != indxc[l]) 897 for (k = 0; k < Nx; k++) 898 SWAP (matrix[k][indxr[l]], matrix[k][indxc[l]]); 899 if (indxr[l] != indxc[l]) { 900 for (k = 0; k < Nx; k++) { 901 PS_SWAP (matrix[k][indxr[l]], matrix[k][indxc[l]]); 902 } 903 } 899 904 } 900 905 psFree (ipiv); -
trunk/psLib/src/dataManip/psMinimize.h
r3852 r3853 8 8 * @author GLG, MHPCC 9 9 * 10 * @version $Revision: 1.4 0$ $Name: not supported by cvs2svn $11 * @date $Date: 2005-05-05 22:1 0:12$10 * @version $Revision: 1.41 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2005-05-05 22:15:16 $ 12 12 * 13 13 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 76 76 ); 77 77 78 // XXX: Add Doxygen comments here. 78 79 typedef 79 80 psF64 (*psMinimizeLMChi2Func)(psVector *deriv, -
trunk/psLib/src/math/psMinimize.c
r3852 r3853 9 9 * @author GLG, MHPCC 10 10 * 11 * @version $Revision: 1.11 1$ $Name: not supported by cvs2svn $12 * @date $Date: 2005-05-05 22:1 0:12$11 * @version $Revision: 1.112 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2005-05-05 22:15:16 $ 13 13 * 14 14 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 808 808 } 809 809 810 # define SWAP(X,Y) {double tmp=(X); (X) = (Y); (Y) = tmp;} 810 // XXX" put this in constants.h 811 # define PS_SWAP(X,Y) {double tmp=(X); (X) = (Y); (Y) = tmp;} 811 812 812 813 // XXX EAM : temporary gauss-jordan solver based on gene's … … 829 830 indxr = psAlloc (Nx*sizeof(int)); 830 831 ipiv = psAlloc (Nx*sizeof(int)); 831 for (j = 0; j < Nx; j++) 832 for (j = 0; j < Nx; j++) { 832 833 ipiv[j] = 0; 834 } 833 835 834 836 irow = icol = 0; … … 864 866 if (irow != icol) { 865 867 for (l = 0; l < Nx; l++) { 866 SWAP (matrix[irow][l], matrix[icol][l]);867 } 868 SWAP (vector[irow], vector[icol]);868 PS_SWAP (matrix[irow][l], matrix[icol][l]); 869 } 870 PS_SWAP (vector[irow], vector[icol]); 869 871 } 870 872 indxr[i] = irow; … … 886 888 dum = matrix[ll][icol]; 887 889 matrix[ll][icol] = 0.0; 888 for (l = 0; l < Nx; l++) 890 for (l = 0; l < Nx; l++) { 889 891 matrix[ll][l] -= matrix[icol][l]*dum; 892 } 890 893 vector[ll] -= vector[icol]*dum; 891 894 } … … 894 897 895 898 for (l = Nx - 1; l >= 0; l--) { 896 if (indxr[l] != indxc[l]) 897 for (k = 0; k < Nx; k++) 898 SWAP (matrix[k][indxr[l]], matrix[k][indxc[l]]); 899 if (indxr[l] != indxc[l]) { 900 for (k = 0; k < Nx; k++) { 901 PS_SWAP (matrix[k][indxr[l]], matrix[k][indxc[l]]); 902 } 903 } 899 904 } 900 905 psFree (ipiv); -
trunk/psLib/src/math/psMinimize.h
r3852 r3853 8 8 * @author GLG, MHPCC 9 9 * 10 * @version $Revision: 1.4 0$ $Name: not supported by cvs2svn $11 * @date $Date: 2005-05-05 22:1 0:12$10 * @version $Revision: 1.41 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2005-05-05 22:15:16 $ 12 12 * 13 13 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 76 76 ); 77 77 78 // XXX: Add Doxygen comments here. 78 79 typedef 79 80 psF64 (*psMinimizeLMChi2Func)(psVector *deriv,
Note:
See TracChangeset
for help on using the changeset viewer.
