--- rpl/src/statistiques.c 2013/02/27 17:11:46 1.40 +++ rpl/src/statistiques.c 2013/03/21 11:30:31 1.41 @@ -47,8 +47,8 @@ sommation_statistique(struct_matrice *s_ struct_vecteur *s_vecteur; - unsigned long i; - unsigned long j; + integer8 i; + integer8 j; if ((s_vecteur = (struct_vecteur *) malloc(sizeof(struct_vecteur))) == NULL) { @@ -61,8 +61,8 @@ sommation_statistique(struct_matrice *s_ if ((*s_matrice).type == 'I') { - if ((cumul_entier = (integer8 *) malloc((*s_matrice).nombre_colonnes * - sizeof(integer8))) == NULL) + if ((cumul_entier = (integer8 *) malloc(((size_t) (*s_matrice) + .nombre_colonnes) * sizeof(integer8))) == NULL) { free(s_vecteur); return NULL; @@ -103,15 +103,15 @@ sommation_statistique(struct_matrice *s_ free(cumul_entier); - if (((*s_vecteur).tableau = malloc((*s_matrice).nombre_colonnes * - sizeof(real8))) == NULL) + if (((*s_vecteur).tableau = malloc(((size_t) (*s_matrice) + .nombre_colonnes) * sizeof(real8))) == NULL) { free(s_vecteur); return NULL; } - if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * - sizeof(real8))) == NULL) + if ((colonne = (real8 *) malloc(((size_t) (*s_matrice) + .nombre_lignes) * sizeof(real8))) == NULL) { free(s_vecteur); return NULL; @@ -149,14 +149,14 @@ sommation_statistique(struct_matrice *s_ else if ((*s_matrice).type == 'R') { - if (((*s_vecteur).tableau = malloc((*s_matrice).nombre_colonnes * - sizeof(real8))) == NULL) + if (((*s_vecteur).tableau = malloc(((size_t) (*s_matrice) + .nombre_colonnes) * sizeof(real8))) == NULL) { free(s_vecteur); return NULL; } - if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * + if ((colonne = (real8 *) malloc(((size_t) (*s_matrice).nombre_lignes) * sizeof(real8))) == NULL) { free(s_vecteur); @@ -205,7 +205,7 @@ sommation_statistique(struct_matrice *s_ struct_vecteur * sommation_produits_colonnes_statistiques(struct_matrice *s_matrice, - unsigned long position_1, unsigned long position_2) + integer8 position_1, integer8 position_2) { integer8 *cumul_entier; integer8 tampon; @@ -217,7 +217,7 @@ sommation_produits_colonnes_statistiques struct_vecteur *s_vecteur; - unsigned long i; + integer8 i; if ((s_vecteur = (struct_vecteur *) malloc(sizeof(struct_vecteur))) == NULL) { @@ -281,8 +281,8 @@ sommation_produits_colonnes_statistiques return NULL; } - if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * - sizeof(real8))) == NULL) + if ((colonne = (real8 *) malloc(((size_t) (*s_matrice) + .nombre_lignes) * sizeof(real8))) == NULL) { free(s_vecteur); return NULL; @@ -325,7 +325,7 @@ sommation_produits_colonnes_statistiques return NULL; } - if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * + if ((colonne = (real8 *) malloc(((size_t) (*s_matrice).nombre_lignes) * sizeof(real8))) == NULL) { free(s_vecteur); @@ -370,7 +370,7 @@ sommation_produits_colonnes_statistiques */ struct_vecteur * -sommation_colonne_statistique(struct_matrice *s_matrice, unsigned long position) +sommation_colonne_statistique(struct_matrice *s_matrice, integer8 position) { integer8 *cumul_entier; @@ -381,7 +381,7 @@ sommation_colonne_statistique(struct_mat struct_vecteur *s_vecteur; - unsigned long i; + integer8 i; if ((s_vecteur = (struct_vecteur *) malloc(sizeof(struct_vecteur))) == NULL) { @@ -439,8 +439,8 @@ sommation_colonne_statistique(struct_mat return NULL; } - if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * - sizeof(real8))) == NULL) + if ((colonne = (real8 *) malloc(((size_t) (*s_matrice) + .nombre_lignes) * sizeof(real8))) == NULL) { free(s_vecteur); return NULL; @@ -481,7 +481,7 @@ sommation_colonne_statistique(struct_mat return NULL; } - if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * + if ((colonne = (real8 *) malloc(((size_t) (*s_matrice).nombre_lignes) * sizeof(real8))) == NULL) { free(s_vecteur); @@ -533,7 +533,7 @@ moyenne_statistique(struct_matrice *s_ma struct_vecteur *s_vecteur; - unsigned long i; + integer8 i; if ((s_vecteur = sommation_statistique(s_matrice)) == NULL) { @@ -574,7 +574,7 @@ moyenne_statistique(struct_matrice *s_ma { tampon = (*s_vecteur).tableau; - if (((*s_vecteur).tableau = malloc((*s_vecteur).taille * + if (((*s_vecteur).tableau = malloc(((size_t) (*s_vecteur).taille) * sizeof(real8))) == NULL) { return NULL; @@ -616,8 +616,8 @@ variance_statistique(struct_matrice *s_m logical1 erreur_memoire; - unsigned long i; - unsigned long j; + integer8 i; + integer8 j; real8 *cumul; @@ -633,8 +633,8 @@ variance_statistique(struct_matrice *s_m * Le résultat de cette fonction est toujours réel. */ - if ((cumul = (real8 *) malloc((*s_matrice).nombre_lignes * sizeof(real8))) - == NULL) + if ((cumul = (real8 *) malloc(((size_t) (*s_matrice).nombre_lignes) * + sizeof(real8))) == NULL) { return NULL; } @@ -649,8 +649,8 @@ variance_statistique(struct_matrice *s_m { tampon = (*s_moyenne).tableau; - if (((*s_moyenne).tableau = malloc((*s_moyenne).taille * sizeof(real8))) - == NULL) + if (((*s_moyenne).tableau = malloc(((size_t) (*s_moyenne).taille) * + sizeof(real8))) == NULL) { return NULL; } @@ -664,8 +664,8 @@ variance_statistique(struct_matrice *s_m free(tampon); } - if (((*s_variance).tableau = malloc((*s_matrice).nombre_colonnes * - sizeof(real8))) == NULL) + if (((*s_variance).tableau = malloc(((size_t) (*s_matrice).nombre_colonnes) + * sizeof(real8))) == NULL) { return NULL; } @@ -763,7 +763,7 @@ ecart_type_statistique(struct_matrice *s { struct_vecteur *s_vecteur; - unsigned long i; + integer8 i; if ((s_vecteur = variance_statistique(s_matrice, type)) == NULL) { @@ -794,7 +794,7 @@ ecart_type_statistique(struct_matrice *s real8 correlation_statistique(struct_matrice *s_matrice, - unsigned long colonne_1, unsigned long colonne_2, logical1 *erreur) + integer8 colonne_1, integer8 colonne_2, logical1 *erreur) { logical1 erreur_memoire; @@ -804,13 +804,13 @@ correlation_statistique(struct_matrice * real8 numerateur; real8 *vecteur; - unsigned long i; - unsigned long nombre_observations; + integer8 i; + integer8 nombre_observations; (*erreur) = d_absence_erreur; - if ((vecteur = (real8 *) malloc((nombre_observations = - (*s_matrice).nombre_lignes) * sizeof(real8))) == NULL) + if ((vecteur = (real8 *) malloc(((size_t) (nombre_observations = + (*s_matrice).nombre_lignes)) * sizeof(real8))) == NULL) { (*erreur) = d_erreur; return 0; @@ -827,7 +827,8 @@ correlation_statistique(struct_matrice * } moyenne_colonne_1 = sommation_vecteur_reel(vecteur, - &nombre_observations, &erreur_memoire) / nombre_observations; + &nombre_observations, &erreur_memoire) / + ((real8) nombre_observations); if (erreur_memoire == d_vrai) { @@ -841,7 +842,8 @@ correlation_statistique(struct_matrice * } moyenne_colonne_2 = sommation_vecteur_reel(vecteur, - &nombre_observations, &erreur_memoire) / nombre_observations; + &nombre_observations, &erreur_memoire) / + ((real8) nombre_observations); if (erreur_memoire == d_vrai) { @@ -908,7 +910,8 @@ correlation_statistique(struct_matrice * } moyenne_colonne_1 = sommation_vecteur_reel(vecteur, - &nombre_observations, &erreur_memoire) / nombre_observations; + &nombre_observations, &erreur_memoire) / + ((real8) nombre_observations); if (erreur_memoire == d_vrai) { @@ -923,7 +926,8 @@ correlation_statistique(struct_matrice * } moyenne_colonne_2 = sommation_vecteur_reel(vecteur, - &nombre_observations, &erreur_memoire) / nombre_observations; + &nombre_observations, &erreur_memoire) / + ((real8) nombre_observations); if (erreur_memoire == d_vrai) { @@ -1004,9 +1008,8 @@ correlation_statistique(struct_matrice * */ real8 -covariance_statistique(struct_matrice *s_matrice, - unsigned long colonne_1, unsigned long colonne_2, - unsigned char type, logical1 *erreur) +covariance_statistique(struct_matrice *s_matrice, integer8 colonne_1, + integer8 colonne_2, unsigned char type, logical1 *erreur) { logical1 erreur_memoire; @@ -1016,13 +1019,13 @@ covariance_statistique(struct_matrice *s real8 numerateur; real8 *vecteur; - unsigned long i; - unsigned long nombre_observations; + integer8 i; + integer8 nombre_observations; (*erreur) = d_absence_erreur; - if ((vecteur = (real8 *) malloc((nombre_observations = - (*s_matrice).nombre_lignes) * sizeof(real8))) == NULL) + if ((vecteur = (real8 *) malloc(((size_t) (nombre_observations = + (*s_matrice).nombre_lignes)) * sizeof(real8))) == NULL) { (*erreur) = d_erreur; return 0; @@ -1033,11 +1036,11 @@ covariance_statistique(struct_matrice *s if (type == 'E') { - denominateur = nombre_observations - 1; + denominateur = ((real8) nombre_observations) - 1; } else { - denominateur = nombre_observations; + denominateur = ((real8) nombre_observations); } if ((*s_matrice).type == 'R') @@ -1048,7 +1051,8 @@ covariance_statistique(struct_matrice *s } moyenne_colonne_1 = sommation_vecteur_reel(vecteur, - &nombre_observations, &erreur_memoire) / nombre_observations; + &nombre_observations, &erreur_memoire) / + ((real8) nombre_observations); if (erreur_memoire == d_vrai) { @@ -1062,7 +1066,8 @@ covariance_statistique(struct_matrice *s } moyenne_colonne_2 = sommation_vecteur_reel(vecteur, - &nombre_observations, &erreur_memoire) / nombre_observations; + &nombre_observations, &erreur_memoire) / + ((real8) nombre_observations); if (erreur_memoire == d_vrai) { @@ -1095,7 +1100,8 @@ covariance_statistique(struct_matrice *s } moyenne_colonne_1 = sommation_vecteur_reel(vecteur, - &nombre_observations, &erreur_memoire) / nombre_observations; + &nombre_observations, &erreur_memoire) / + ((real8) nombre_observations); if (erreur_memoire == d_vrai) { @@ -1110,7 +1116,8 @@ covariance_statistique(struct_matrice *s } moyenne_colonne_2 = sommation_vecteur_reel(vecteur, - &nombre_observations, &erreur_memoire) / nombre_observations; + &nombre_observations, &erreur_memoire) / + ((real8) nombre_observations); if (erreur_memoire == d_vrai) {