covsrt.c 407 B

123456789101112131415161718192021
  1. #define REAL double
  2. #define SWAP(a,b) {swap=(a);(a)=(b);(b)=swap;}
  3. void covsrt(REAL **covar, int ma, int ia[], int mfit)
  4. {
  5. int i,j,k;
  6. REAL swap;
  7. for (i=mfit+1;i<=ma;i++)
  8. for (j=1;j<=i;j++) covar[i][j]=covar[j][i]=0.0;
  9. k=mfit;
  10. for (j=ma;j>=1;j--) {
  11. if (ia[j]) {
  12. for (i=1;i<=ma;i++) SWAP(covar[i][k],covar[i][j])
  13. for (i=1;i<=ma;i++) SWAP(covar[k][i],covar[j][i])
  14. k--;
  15. }
  16. }
  17. }
  18. #undef SWAP