Mathc complexes/Fichiers h : vi err

Bibliothèque

Installer ce fichier dans votre répertoire de travail.

wi_err.h
/* ------------------------------------ */
/*  Save as :   wi_err.h                */
/* ------------------------------------ */
void dif_sizes_mZ(
double **A,
double **B,
char function[],
char matrices[]
)
{
 if (  A[R_SIZE][C0]!=B[R_SIZE][C0]
                    ||
       A[C_SIZE][C0]!=B[C_SIZE][C0] )
    {
     printf("\n Error : %s\n",function);
     printf("\n matrices different sizes %s \n",matrices);
     printf("\n Press return to continue.\n");
     fflush(stdout);
     getchar();
     exit(EXIT_FAILURE);
    }
}
/* ------------------------------------ */
void canImul_mZ(
double **A,
double **B,
double **AB,
char function[],
char matrices[]
)
{
 if ( (((B[R_SIZE][C0]-C1)*C2) != (A[C_SIZE][C0]-C1))
                               ||
               ( A[R_SIZE][C0] != AB[R_SIZE][C0] )
                               ||
               ( B[C_SIZE][C0] != AB[C_SIZE][C0] )   )
    {
     printf("\n Error : %s\n",function);
     printf("\n Verify the size of the matrices%s \n",matrices);
     printf("\n Press return to continue.\n");
     fflush(stdout);
     getchar();
     exit(EXIT_FAILURE);
    }
}
/* ------------------------------------ */
void isquare_mZ(
double **A,
char function[],
char matrices[]
)
{
 if ( ((A[R_SIZE][C0]-C1)*C2) != (A[C_SIZE][C0]-C1) )
    {
     printf("\n Error : %s\n",function);
     printf("\n Matrix must be square %s \n",matrices);
     printf("\n Press return to continue");
     fflush(stdout);
     getchar();
     exit(EXIT_FAILURE);
    }
}
/* ------------------------------------ */
void canItranspose_mZ(
double **A,
double **A_t,
char function[],
char matrices[]
)
{
  if (
       ((A[R_SIZE][C0]-C1)*C2) != (A_t[C_SIZE][C0]-C1)
                               ||
     ((A_t[R_SIZE][C0]-C1)*C2) !=  (A[C_SIZE][C0]-C1)   )
    {
     printf("\n Error : %s\n",function);
     printf("\n Verify the sizes of the matrices%s \n",matrices);
     printf("\n Press return to continue\n");
     fflush(stdout);
     getchar();
     exit(EXIT_FAILURE);
    }
}
/* ------------------------------------ */


Dans ce fichier se trouvent des fonctions qui permettront de vérifier si le calcul sur les matrices est possible.

Vous pourrez voir une utilisation de ces fonctions dans les fonctions qui permettent d'additionner ou de multiplier deux matrices.