version 1.4, 2010/03/04 10:17:55
|
version 1.41, 2013/03/21 11:30:31
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.12 |
RPL/2 (R) version 4.1.13 |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
Copyright (C) 1989-2013 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 20
|
Line 20
|
*/ |
*/ |
|
|
|
|
#include "rpl.conv.h" |
#include "rpl-conv.h" |
|
|
|
|
/* |
/* |
Line 47 sommation_statistique(struct_matrice *s_
|
Line 47 sommation_statistique(struct_matrice *s_
|
|
|
struct_vecteur *s_vecteur; |
struct_vecteur *s_vecteur; |
|
|
unsigned long i; |
integer8 i; |
unsigned long j; |
integer8 j; |
|
|
if ((s_vecteur = (struct_vecteur *) malloc(sizeof(struct_vecteur))) == NULL) |
if ((s_vecteur = (struct_vecteur *) malloc(sizeof(struct_vecteur))) == NULL) |
{ |
{ |
Line 61 sommation_statistique(struct_matrice *s_
|
Line 61 sommation_statistique(struct_matrice *s_
|
|
|
if ((*s_matrice).type == 'I') |
if ((*s_matrice).type == 'I') |
{ |
{ |
if ((cumul_entier = (integer8 *) malloc((*s_matrice).nombre_colonnes * |
if ((cumul_entier = (integer8 *) malloc(((size_t) (*s_matrice) |
sizeof(integer8))) == NULL) |
.nombre_colonnes) * sizeof(integer8))) == NULL) |
{ |
{ |
free(s_vecteur); |
free(s_vecteur); |
return NULL; |
return NULL; |
Line 103 sommation_statistique(struct_matrice *s_
|
Line 103 sommation_statistique(struct_matrice *s_
|
|
|
free(cumul_entier); |
free(cumul_entier); |
|
|
if (((*s_vecteur).tableau = malloc((*s_matrice).nombre_colonnes * |
if (((*s_vecteur).tableau = malloc(((size_t) (*s_matrice) |
sizeof(real8))) == NULL) |
.nombre_colonnes) * sizeof(real8))) == NULL) |
{ |
{ |
free(s_vecteur); |
free(s_vecteur); |
return NULL; |
return NULL; |
} |
} |
|
|
if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * |
if ((colonne = (real8 *) malloc(((size_t) (*s_matrice) |
sizeof(real8))) == NULL) |
.nombre_lignes) * sizeof(real8))) == NULL) |
{ |
{ |
free(s_vecteur); |
free(s_vecteur); |
return NULL; |
return NULL; |
Line 149 sommation_statistique(struct_matrice *s_
|
Line 149 sommation_statistique(struct_matrice *s_
|
|
|
else if ((*s_matrice).type == 'R') |
else if ((*s_matrice).type == 'R') |
{ |
{ |
if (((*s_vecteur).tableau = malloc((*s_matrice).nombre_colonnes * |
if (((*s_vecteur).tableau = malloc(((size_t) (*s_matrice) |
sizeof(real8))) == NULL) |
.nombre_colonnes) * sizeof(real8))) == NULL) |
{ |
{ |
free(s_vecteur); |
free(s_vecteur); |
return NULL; |
return NULL; |
} |
} |
|
|
if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * |
if ((colonne = (real8 *) malloc(((size_t) (*s_matrice).nombre_lignes) * |
sizeof(real8))) == NULL) |
sizeof(real8))) == NULL) |
{ |
{ |
free(s_vecteur); |
free(s_vecteur); |
Line 205 sommation_statistique(struct_matrice *s_
|
Line 205 sommation_statistique(struct_matrice *s_
|
|
|
struct_vecteur * |
struct_vecteur * |
sommation_produits_colonnes_statistiques(struct_matrice *s_matrice, |
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 *cumul_entier; |
integer8 tampon; |
integer8 tampon; |
Line 217 sommation_produits_colonnes_statistiques
|
Line 217 sommation_produits_colonnes_statistiques
|
|
|
struct_vecteur *s_vecteur; |
struct_vecteur *s_vecteur; |
|
|
unsigned long i; |
integer8 i; |
|
|
if ((s_vecteur = (struct_vecteur *) malloc(sizeof(struct_vecteur))) == NULL) |
if ((s_vecteur = (struct_vecteur *) malloc(sizeof(struct_vecteur))) == NULL) |
{ |
{ |
Line 281 sommation_produits_colonnes_statistiques
|
Line 281 sommation_produits_colonnes_statistiques
|
return NULL; |
return NULL; |
} |
} |
|
|
if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * |
if ((colonne = (real8 *) malloc(((size_t) (*s_matrice) |
sizeof(real8))) == NULL) |
.nombre_lignes) * sizeof(real8))) == NULL) |
{ |
{ |
free(s_vecteur); |
free(s_vecteur); |
return NULL; |
return NULL; |
Line 325 sommation_produits_colonnes_statistiques
|
Line 325 sommation_produits_colonnes_statistiques
|
return NULL; |
return NULL; |
} |
} |
|
|
if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * |
if ((colonne = (real8 *) malloc(((size_t) (*s_matrice).nombre_lignes) * |
sizeof(real8))) == NULL) |
sizeof(real8))) == NULL) |
{ |
{ |
free(s_vecteur); |
free(s_vecteur); |
Line 370 sommation_produits_colonnes_statistiques
|
Line 370 sommation_produits_colonnes_statistiques
|
*/ |
*/ |
|
|
struct_vecteur * |
struct_vecteur * |
sommation_colonne_statistique(struct_matrice *s_matrice, unsigned long position) |
sommation_colonne_statistique(struct_matrice *s_matrice, integer8 position) |
{ |
{ |
integer8 *cumul_entier; |
integer8 *cumul_entier; |
|
|
Line 381 sommation_colonne_statistique(struct_mat
|
Line 381 sommation_colonne_statistique(struct_mat
|
|
|
struct_vecteur *s_vecteur; |
struct_vecteur *s_vecteur; |
|
|
unsigned long i; |
integer8 i; |
|
|
if ((s_vecteur = (struct_vecteur *) malloc(sizeof(struct_vecteur))) == NULL) |
if ((s_vecteur = (struct_vecteur *) malloc(sizeof(struct_vecteur))) == NULL) |
{ |
{ |
Line 439 sommation_colonne_statistique(struct_mat
|
Line 439 sommation_colonne_statistique(struct_mat
|
return NULL; |
return NULL; |
} |
} |
|
|
if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * |
if ((colonne = (real8 *) malloc(((size_t) (*s_matrice) |
sizeof(real8))) == NULL) |
.nombre_lignes) * sizeof(real8))) == NULL) |
{ |
{ |
free(s_vecteur); |
free(s_vecteur); |
return NULL; |
return NULL; |
Line 481 sommation_colonne_statistique(struct_mat
|
Line 481 sommation_colonne_statistique(struct_mat
|
return NULL; |
return NULL; |
} |
} |
|
|
if ((colonne = (real8 *) malloc((*s_matrice).nombre_lignes * |
if ((colonne = (real8 *) malloc(((size_t) (*s_matrice).nombre_lignes) * |
sizeof(real8))) == NULL) |
sizeof(real8))) == NULL) |
{ |
{ |
free(s_vecteur); |
free(s_vecteur); |
Line 533 moyenne_statistique(struct_matrice *s_ma
|
Line 533 moyenne_statistique(struct_matrice *s_ma
|
|
|
struct_vecteur *s_vecteur; |
struct_vecteur *s_vecteur; |
|
|
unsigned long i; |
integer8 i; |
|
|
if ((s_vecteur = sommation_statistique(s_matrice)) == NULL) |
if ((s_vecteur = sommation_statistique(s_matrice)) == NULL) |
{ |
{ |
Line 574 moyenne_statistique(struct_matrice *s_ma
|
Line 574 moyenne_statistique(struct_matrice *s_ma
|
{ |
{ |
tampon = (*s_vecteur).tableau; |
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) |
sizeof(real8))) == NULL) |
{ |
{ |
return NULL; |
return NULL; |
Line 616 variance_statistique(struct_matrice *s_m
|
Line 616 variance_statistique(struct_matrice *s_m
|
|
|
logical1 erreur_memoire; |
logical1 erreur_memoire; |
|
|
unsigned long i; |
integer8 i; |
unsigned long j; |
integer8 j; |
|
|
real8 *cumul; |
real8 *cumul; |
|
|
Line 633 variance_statistique(struct_matrice *s_m
|
Line 633 variance_statistique(struct_matrice *s_m
|
* Le résultat de cette fonction est toujours réel. |
* Le résultat de cette fonction est toujours réel. |
*/ |
*/ |
|
|
if ((cumul = (real8 *) malloc((*s_matrice).nombre_lignes * sizeof(real8))) |
if ((cumul = (real8 *) malloc(((size_t) (*s_matrice).nombre_lignes) * |
== NULL) |
sizeof(real8))) == NULL) |
{ |
{ |
return NULL; |
return NULL; |
} |
} |
Line 649 variance_statistique(struct_matrice *s_m
|
Line 649 variance_statistique(struct_matrice *s_m
|
{ |
{ |
tampon = (*s_moyenne).tableau; |
tampon = (*s_moyenne).tableau; |
|
|
if (((*s_moyenne).tableau = malloc((*s_moyenne).taille * sizeof(real8))) |
if (((*s_moyenne).tableau = malloc(((size_t) (*s_moyenne).taille) * |
== NULL) |
sizeof(real8))) == NULL) |
{ |
{ |
return NULL; |
return NULL; |
} |
} |
Line 664 variance_statistique(struct_matrice *s_m
|
Line 664 variance_statistique(struct_matrice *s_m
|
free(tampon); |
free(tampon); |
} |
} |
|
|
if (((*s_variance).tableau = malloc((*s_matrice).nombre_colonnes * |
if (((*s_variance).tableau = malloc(((size_t) (*s_matrice).nombre_colonnes) |
sizeof(real8))) == NULL) |
* sizeof(real8))) == NULL) |
{ |
{ |
return NULL; |
return NULL; |
} |
} |
Line 763 ecart_type_statistique(struct_matrice *s
|
Line 763 ecart_type_statistique(struct_matrice *s
|
{ |
{ |
struct_vecteur *s_vecteur; |
struct_vecteur *s_vecteur; |
|
|
unsigned long i; |
integer8 i; |
|
|
if ((s_vecteur = variance_statistique(s_matrice, type)) == NULL) |
if ((s_vecteur = variance_statistique(s_matrice, type)) == NULL) |
{ |
{ |
Line 794 ecart_type_statistique(struct_matrice *s
|
Line 794 ecart_type_statistique(struct_matrice *s
|
|
|
real8 |
real8 |
correlation_statistique(struct_matrice *s_matrice, |
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; |
logical1 erreur_memoire; |
|
|
Line 804 correlation_statistique(struct_matrice *
|
Line 804 correlation_statistique(struct_matrice *
|
real8 numerateur; |
real8 numerateur; |
real8 *vecteur; |
real8 *vecteur; |
|
|
unsigned long i; |
integer8 i; |
unsigned long nombre_observations; |
integer8 nombre_observations; |
|
|
(*erreur) = d_absence_erreur; |
(*erreur) = d_absence_erreur; |
|
|
if ((vecteur = (real8 *) malloc((nombre_observations = |
if ((vecteur = (real8 *) malloc(((size_t) (nombre_observations = |
(*s_matrice).nombre_lignes) * sizeof(real8))) == NULL) |
(*s_matrice).nombre_lignes)) * sizeof(real8))) == NULL) |
{ |
{ |
(*erreur) = d_erreur; |
(*erreur) = d_erreur; |
return 0; |
return 0; |
Line 827 correlation_statistique(struct_matrice *
|
Line 827 correlation_statistique(struct_matrice *
|
} |
} |
|
|
moyenne_colonne_1 = sommation_vecteur_reel(vecteur, |
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) |
if (erreur_memoire == d_vrai) |
{ |
{ |
Line 841 correlation_statistique(struct_matrice *
|
Line 842 correlation_statistique(struct_matrice *
|
} |
} |
|
|
moyenne_colonne_2 = sommation_vecteur_reel(vecteur, |
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) |
if (erreur_memoire == d_vrai) |
{ |
{ |
Line 908 correlation_statistique(struct_matrice *
|
Line 910 correlation_statistique(struct_matrice *
|
} |
} |
|
|
moyenne_colonne_1 = sommation_vecteur_reel(vecteur, |
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) |
if (erreur_memoire == d_vrai) |
{ |
{ |
Line 923 correlation_statistique(struct_matrice *
|
Line 926 correlation_statistique(struct_matrice *
|
} |
} |
|
|
moyenne_colonne_2 = sommation_vecteur_reel(vecteur, |
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) |
if (erreur_memoire == d_vrai) |
{ |
{ |
Line 1004 correlation_statistique(struct_matrice *
|
Line 1008 correlation_statistique(struct_matrice *
|
*/ |
*/ |
|
|
real8 |
real8 |
covariance_statistique(struct_matrice *s_matrice, |
covariance_statistique(struct_matrice *s_matrice, integer8 colonne_1, |
unsigned long colonne_1, unsigned long colonne_2, |
integer8 colonne_2, unsigned char type, logical1 *erreur) |
unsigned char type, logical1 *erreur) |
|
{ |
{ |
logical1 erreur_memoire; |
logical1 erreur_memoire; |
|
|
Line 1016 covariance_statistique(struct_matrice *s
|
Line 1019 covariance_statistique(struct_matrice *s
|
real8 numerateur; |
real8 numerateur; |
real8 *vecteur; |
real8 *vecteur; |
|
|
unsigned long i; |
integer8 i; |
unsigned long nombre_observations; |
integer8 nombre_observations; |
|
|
(*erreur) = d_absence_erreur; |
(*erreur) = d_absence_erreur; |
|
|
if ((vecteur = (real8 *) malloc((nombre_observations = |
if ((vecteur = (real8 *) malloc(((size_t) (nombre_observations = |
(*s_matrice).nombre_lignes) * sizeof(real8))) == NULL) |
(*s_matrice).nombre_lignes)) * sizeof(real8))) == NULL) |
{ |
{ |
(*erreur) = d_erreur; |
(*erreur) = d_erreur; |
return 0; |
return 0; |
Line 1033 covariance_statistique(struct_matrice *s
|
Line 1036 covariance_statistique(struct_matrice *s
|
|
|
if (type == 'E') |
if (type == 'E') |
{ |
{ |
denominateur = nombre_observations - 1; |
denominateur = ((real8) nombre_observations) - 1; |
} |
} |
else |
else |
{ |
{ |
denominateur = nombre_observations; |
denominateur = ((real8) nombre_observations); |
} |
} |
|
|
if ((*s_matrice).type == 'R') |
if ((*s_matrice).type == 'R') |
Line 1048 covariance_statistique(struct_matrice *s
|
Line 1051 covariance_statistique(struct_matrice *s
|
} |
} |
|
|
moyenne_colonne_1 = sommation_vecteur_reel(vecteur, |
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) |
if (erreur_memoire == d_vrai) |
{ |
{ |
Line 1062 covariance_statistique(struct_matrice *s
|
Line 1066 covariance_statistique(struct_matrice *s
|
} |
} |
|
|
moyenne_colonne_2 = sommation_vecteur_reel(vecteur, |
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) |
if (erreur_memoire == d_vrai) |
{ |
{ |
Line 1095 covariance_statistique(struct_matrice *s
|
Line 1100 covariance_statistique(struct_matrice *s
|
} |
} |
|
|
moyenne_colonne_1 = sommation_vecteur_reel(vecteur, |
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) |
if (erreur_memoire == d_vrai) |
{ |
{ |
Line 1110 covariance_statistique(struct_matrice *s
|
Line 1116 covariance_statistique(struct_matrice *s
|
} |
} |
|
|
moyenne_colonne_2 = sommation_vecteur_reel(vecteur, |
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) |
if (erreur_memoire == d_vrai) |
{ |
{ |