Bibliothèque


Installer ce fichier dans votre répertoire de travail.

wgpivot2.h
/* ------------------------------------ */
/*  Save as :   wgpivot2.h              */
/* ------------------------------------ */
/* ------------------------------------
   pivotbest = |a+bI|^2 =  = a^2+b^2
   ------------------------------------ */
double pivotbest2Ab_mZ(
double **Ab,
int pivot_r,
int pivot_c
)
{
double c_max = ((Ab[R_SIZE][C0]-C1)*C2)+C1;
double pivotbest=Ab[pivot_r][pivot_c]   *Ab[pivot_r][pivot_c]
                                     +
                 Ab[pivot_r][pivot_c+C1]*Ab[pivot_r][pivot_c+C1];

double pivot = pivotbest;

int best_r = pivot_r;
int best_c = pivot_c;
int r;
int c;

  for( r=pivot_r; r<Ab[R_SIZE][C0]; r++)

    for( c=pivot_c; c<c_max; c+=C2)
         {
          pivot = Ab[r][c]*Ab[r][c] + Ab[r][c+C1]*Ab[r][c+C1];

           if(pivot>pivotbest)
             {
               pivotbest=pivot;
               best_r = r;
               best_c = c;
             }
         }

 if(best_r!=pivot_r) swapR_mZ(Ab,pivot_r,best_r);
 if(best_c!=pivot_c) swapC_mZ(Ab,pivot_c,best_c);

 return(pivotbest);
}
/* ------------------------------------ */
/* ------------------------------------ */