From: Benjamin Auder <benjamin.auder@somewhere> Date: Fri, 10 Feb 2017 15:28:24 +0000 (+0100) Subject: fix arrays reading in C, add type Real for double or float X-Git-Url: https://git.auder.net/variants/Chakart/css/assets/current/doc/common.css?a=commitdiff_plain;h=9ff729fb6afff5bed327fa8619138fd3b6f6f13b;p=valse.git fix arrays reading in C, add type Real for double or float --- diff --git a/src/sources/EMGLLF.c b/src/sources/EMGLLF.c index 1439416..087116b 100644 --- a/src/sources/EMGLLF.c +++ b/src/sources/EMGLLF.c @@ -5,23 +5,23 @@ // TODO: don't recompute indexes every time...... void EMGLLF_core( // IN parameters - const float* phiInit, // parametre initial de moyenne renormalisé - const float* rhoInit, // parametre initial de variance renormalisé - const float* piInit, // parametre initial des proportions - const float* gamInit, // paramètre initial des probabilités a posteriori de chaque échantillon + const Real* phiInit, // parametre initial de moyenne renormalisé + const Real* rhoInit, // parametre initial de variance renormalisé + const Real* piInit, // parametre initial des proportions + const Real* gamInit, // paramètre initial des probabilités a posteriori de chaque échantillon int mini, // nombre minimal d'itérations dans l'algorithme EM int maxi, // nombre maximal d'itérations dans l'algorithme EM - float gamma, // puissance des proportions dans la pénalisation pour un Lasso adaptatif - float lambda, // valeur du paramètre de régularisation du Lasso - const float* X, // régresseurs - const float* Y, // réponse - float tau, // seuil pour accepter la convergence + Real gamma, // puissance des proportions dans la pénalisation pour un Lasso adaptatif + Real lambda, // valeur du paramètre de régularisation du Lasso + const Real* X, // régresseurs + const Real* Y, // réponse + Real tau, // seuil pour accepter la convergence // OUT parameters (all pointers, to be modified) - float* phi, // parametre de moyenne renormalisé, calculé par l'EM - float* rho, // parametre de variance renormalisé, calculé par l'EM - float* pi, // parametre des proportions renormalisé, calculé par l'EM - float* LLF, // log vraisemblance associée à cet échantillon, pour les valeurs estimées des paramètres - float* S, + Real* phi, // parametre de moyenne renormalisé, calculé par l'EM + Real* rho, // parametre de variance renormalisé, calculé par l'EM + Real* pi, // parametre des proportions renormalisé, calculé par l'EM + Real* LLF, // log vraisemblance associée à cet échantillon, pour les valeurs estimées des paramètres + Real* S, // additional size parameters int n, // nombre d'echantillons int p, // nombre de covariables @@ -37,32 +37,32 @@ void EMGLLF_core( //Other local variables //NOTE: variables order is always [maxi],n,p,m,k - float* gam = (float*)malloc(n*k*sizeof(float)); + Real* gam = (Real*)malloc(n*k*sizeof(Real)); copyArray(gamInit, gam, n*k); - float* b = (float*)malloc(k*sizeof(float)); - float* Phi = (float*)malloc(p*m*k*sizeof(float)); - float* Rho = (float*)malloc(m*m*k*sizeof(float)); - float* Pi = (float*)malloc(k*sizeof(float)); - float* gam2 = (float*)malloc(k*sizeof(float)); - float* pi2 = (float*)malloc(k*sizeof(float)); - float* Gram2 = (float*)malloc(p*p*k*sizeof(float)); - float* ps = (float*)malloc(m*k*sizeof(float)); - float* nY2 = (float*)malloc(m*k*sizeof(float)); - float* ps1 = (float*)malloc(n*m*k*sizeof(float)); - float* ps2 = (float*)malloc(p*m*k*sizeof(float)); - float* nY21 = (float*)malloc(n*m*k*sizeof(float)); - float* Gam = (float*)malloc(n*k*sizeof(float)); - float* X2 = (float*)malloc(n*p*k*sizeof(float)); - float* Y2 = (float*)malloc(n*m*k*sizeof(float)); + Real* b = (Real*)malloc(k*sizeof(Real)); + Real* Phi = (Real*)malloc(p*m*k*sizeof(Real)); + Real* Rho = (Real*)malloc(m*m*k*sizeof(Real)); + Real* Pi = (Real*)malloc(k*sizeof(Real)); + Real* gam2 = (Real*)malloc(k*sizeof(Real)); + Real* pi2 = (Real*)malloc(k*sizeof(Real)); + Real* Gram2 = (Real*)malloc(p*p*k*sizeof(Real)); + Real* ps = (Real*)malloc(m*k*sizeof(Real)); + Real* nY2 = (Real*)malloc(m*k*sizeof(Real)); + Real* ps1 = (Real*)malloc(n*m*k*sizeof(Real)); + Real* ps2 = (Real*)malloc(p*m*k*sizeof(Real)); + Real* nY21 = (Real*)malloc(n*m*k*sizeof(Real)); + Real* Gam = (Real*)malloc(n*k*sizeof(Real)); + Real* X2 = (Real*)malloc(n*p*k*sizeof(Real)); + Real* Y2 = (Real*)malloc(n*m*k*sizeof(Real)); gsl_matrix* matrix = gsl_matrix_alloc(m, m); gsl_permutation* permutation = gsl_permutation_alloc(m); - float* YiRhoR = (float*)malloc(m*sizeof(float)); - float* XiPhiR = (float*)malloc(m*sizeof(float)); - float dist = 0.; - float dist2 = 0.; + Real* YiRhoR = (Real*)malloc(m*sizeof(Real)); + Real* XiPhiR = (Real*)malloc(m*sizeof(Real)); + Real dist = 0.; + Real dist2 = 0.; int ite = 0; - float EPS = 1e-15; - float* dotProducts = (float*)malloc(k*sizeof(float)); + Real EPS = 1e-15; + Real* dotProducts = (Real*)malloc(k*sizeof(Real)); while (ite < mini || (ite < maxi && (dist >= tau || dist2 >= sqrt(tau)))) { @@ -90,7 +90,7 @@ void EMGLLF_core( //ps2(:,mm,r)=transpose(X2(:,:,r))*Y2(:,mm,r); for (int u=0; u<p; u++) { - float dotProduct = 0.; + Real dotProduct = 0.; for (int v=0; v<n; v++) dotProduct += X2[ai(v,u,r,n,m,k)] * Y2[ai(v,mm,r,n,m,k)]; ps2[ai(u,mm,r,n,m,k)] = dotProduct; @@ -101,7 +101,7 @@ void EMGLLF_core( for (int s=0; s<p; s++) { //Gram2(j,s,r)=transpose(X2(:,j,r))*(X2(:,s,r)); - float dotProduct = 0.; + Real dotProduct = 0.; for (int u=0; u<n; u++) dotProduct += X2[ai(u,j,r,n,p,k)] * X2[ai(u,s,r,n,p,k)]; Gram2[ai(j,s,r,p,p,k)] = dotProduct; @@ -117,7 +117,7 @@ void EMGLLF_core( for (int r=0; r<k; r++) { //b(r) = sum(sum(abs(phi(:,:,r)))); - float sumAbsPhi = 0.; + Real sumAbsPhi = 0.; for (int u=0; u<p; u++) for (int v=0; v<m; v++) sumAbsPhi += fabs(phi[ai(u,v,r,p,m,k)]); @@ -126,16 +126,16 @@ void EMGLLF_core( //gam2 = sum(gam,1); for (int u=0; u<k; u++) { - float sumOnColumn = 0.; + Real sumOnColumn = 0.; for (int v=0; v<n; v++) sumOnColumn += gam[mi(v,u,n,k)]; gam2[u] = sumOnColumn; } //a=sum(gam*transpose(log(pi))); - float a = 0.; + Real a = 0.; for (int u=0; u<n; u++) { - float dotProduct = 0.; + Real dotProduct = 0.; for (int v=0; v<k; v++) dotProduct += gam[mi(u,v,n,k)] * log(pi[v]); a += dotProduct; @@ -144,7 +144,7 @@ void EMGLLF_core( //tant que les proportions sont negatives int kk = 0; int pi2AllPositive = 0; - float invN = 1./n; + Real invN = 1./n; while (!pi2AllPositive) { //pi2(:)=pi(:)+0.1^kk*(1/n*gam2(:)-pi(:)); @@ -164,15 +164,15 @@ void EMGLLF_core( //t(m) la plus grande valeur dans la grille O.1^k tel que ce soit décroissante ou constante //(pi.^gamma)*b - float piPowGammaDotB = 0.; + Real piPowGammaDotB = 0.; for (int v=0; v<k; v++) piPowGammaDotB += pow(pi[v],gamma) * b[v]; //(pi2.^gamma)*b - float pi2PowGammaDotB = 0.; + Real pi2PowGammaDotB = 0.; for (int v=0; v<k; v++) pi2PowGammaDotB += pow(pi2[v],gamma) * b[v]; //transpose(gam2)*log(pi2) - float prodGam2logPi2 = 0.; + Real prodGam2logPi2 = 0.; for (int v=0; v<k; v++) prodGam2logPi2 += gam2[v] * log(pi2[v]); while (-invN*a + lambda*piPowGammaDotB < -invN*prodGam2logPi2 + lambda*pi2PowGammaDotB @@ -190,9 +190,9 @@ void EMGLLF_core( prodGam2logPi2 += gam2[v] * log(pi2[v]); kk++; } - float t = pow(0.1,kk); + Real t = pow(0.1,kk); //sum(pi+t*(pi2-pi)) - float sumPiPlusTbyDiff = 0.; + Real sumPiPlusTbyDiff = 0.; for (int v=0; v<k; v++) sumPiPlusTbyDiff += (pi[v] + t*(pi2[v] - pi[v])); //pi=(pi+t*(pi2-pi))/sum(pi+t*(pi2-pi)); @@ -207,7 +207,7 @@ void EMGLLF_core( for (int i=0; i<n; i++) { //< X2(i,:,r) , phi(:,mm,r) > - float dotProduct = 0.0; + Real dotProduct = 0.0; for (int u=0; u<p; u++) dotProduct += X2[ai(i,u,r,n,p,k)] * phi[ai(u,mm,r,n,m,k)]; //ps1(i,mm,r)=Y2(i,mm,r)*dot(X2(i,:,r),phi(:,mm,r)); @@ -215,12 +215,12 @@ void EMGLLF_core( nY21[ai(i,mm,r,n,m,k)] = Y2[ai(i,mm,r,n,m,k)] * Y2[ai(i,mm,r,n,m,k)]; } //ps(mm,r)=sum(ps1(:,mm,r)); - float sumPs1 = 0.0; + Real sumPs1 = 0.0; for (int u=0; u<n; u++) sumPs1 += ps1[ai(u,mm,r,n,m,k)]; ps[mi(mm,r,m,k)] = sumPs1; //nY2(mm,r)=sum(nY21(:,mm,r)); - float sumNy21 = 0.0; + Real sumNy21 = 0.0; for (int u=0; u<n; u++) sumNy21 += nY21[ai(u,mm,r,n,m,k)]; nY2[mi(mm,r,m,k)] = sumNy21; @@ -237,7 +237,7 @@ void EMGLLF_core( { //sum(phi(1:j-1,mm,r).*transpose(Gram2(j,1:j-1,r)))+sum(phi(j+1:p,mm,r) // .*transpose(Gram2(j,j+1:p,r))) - float dotPhiGram2 = 0.0; + Real dotPhiGram2 = 0.0; for (int u=0; u<j; u++) dotPhiGram2 += phi[ai(u,mm,r,p,m,k)] * Gram2[ai(j,u,r,p,p,k)]; for (int u=j+1; u<p; u++) @@ -262,12 +262,12 @@ void EMGLLF_core( ///////////// int signum; - float sumLogLLF2 = 0.0; + Real sumLogLLF2 = 0.0; for (int i=0; i<n; i++) { - float sumLLF1 = 0.0; - float sumGamI = 0.0; - float minDotProduct = INFINITY; + Real sumLLF1 = 0.0; + Real sumGamI = 0.0; + Real minDotProduct = INFINITY; for (int r=0; r<k; r++) { @@ -300,7 +300,7 @@ void EMGLLF_core( if (dotProducts[r] < minDotProduct) minDotProduct = dotProducts[r]; } - float shift = 0.5*minDotProduct; + Real shift = 0.5*minDotProduct; for (int r=0; r<k; r++) { //compute det(rho(:,:,r)) [TODO: avoid re-computations] @@ -310,7 +310,7 @@ void EMGLLF_core( matrix->data[u*m+v] = rho[ai(u,v,r,m,m,k)]; } gsl_linalg_LU_decomp(matrix, permutation, &signum); - float detRhoR = gsl_linalg_LU_det(matrix, signum); + Real detRhoR = gsl_linalg_LU_det(matrix, signum); Gam[mi(i,r,n,k)] = pi[r] * detRhoR * exp(-0.5*dotProducts[r] + shift); sumLLF1 += Gam[mi(i,r,n,k)] / pow(2*M_PI,m/2.0); @@ -327,7 +327,7 @@ void EMGLLF_core( } //sum(pen(ite,:)) - float sumPen = 0.0; + Real sumPen = 0.0; for (int r=0; r<k; r++) sumPen += pow(pi[r],gamma) * b[r]; //LLF(ite)=-1/n*sum(log(LLF2(ite,:)))+lambda*sum(pen(ite,:)); @@ -338,14 +338,14 @@ void EMGLLF_core( dist = (LLF[ite] - LLF[ite-1]) / (1.0 + fabs(LLF[ite])); //Dist1=max(max((abs(phi-Phi))./(1+abs(phi)))); - float Dist1 = 0.0; + Real Dist1 = 0.0; for (int u=0; u<p; u++) { for (int v=0; v<m; v++) { for (int w=0; w<k; w++) { - float tmpDist = fabs(phi[ai(u,v,w,p,m,k)]-Phi[ai(u,v,w,p,m,k)]) + Real tmpDist = fabs(phi[ai(u,v,w,p,m,k)]-Phi[ai(u,v,w,p,m,k)]) / (1.0+fabs(phi[ai(u,v,w,p,m,k)])); if (tmpDist > Dist1) Dist1 = tmpDist; @@ -353,14 +353,14 @@ void EMGLLF_core( } } //Dist2=max(max((abs(rho-Rho))./(1+abs(rho)))); - float Dist2 = 0.0; + Real Dist2 = 0.0; for (int u=0; u<m; u++) { for (int v=0; v<m; v++) { for (int w=0; w<k; w++) { - float tmpDist = fabs(rho[ai(u,v,w,m,m,k)]-Rho[ai(u,v,w,m,m,k)]) + Real tmpDist = fabs(rho[ai(u,v,w,m,m,k)]-Rho[ai(u,v,w,m,m,k)]) / (1.0+fabs(rho[ai(u,v,w,m,m,k)])); if (tmpDist > Dist2) Dist2 = tmpDist; @@ -368,12 +368,12 @@ void EMGLLF_core( } } //Dist3=max(max((abs(pi-Pi))./(1+abs(Pi)))); - float Dist3 = 0.0; + Real Dist3 = 0.0; for (int u=0; u<n; u++) { for (int v=0; v<k; v++) { - float tmpDist = fabs(pi[v]-Pi[v]) / (1.0+fabs(pi[v])); + Real tmpDist = fabs(pi[v]-Pi[v]) / (1.0+fabs(pi[v])); if (tmpDist > Dist3) Dist3 = tmpDist; } diff --git a/src/sources/EMGLLF.h b/src/sources/EMGLLF.h index 005c05b..8f375ff 100644 --- a/src/sources/EMGLLF.h +++ b/src/sources/EMGLLF.h @@ -1,25 +1,27 @@ #ifndef valse_EMGLLF_H #define valse_EMGLLF_H +#include "utils.h" + void EMGLLF_core( // IN parameters - const float* phiInit, - const float* rhoInit, - const float* piInit, - const float* gamInit, + const Real* phiInit, + const Real* rhoInit, + const Real* piInit, + const Real* gamInit, int mini, int maxi, - float gamma, - float lambda, - const float* X, - const float* Y, - float tau, + Real gamma, + Real lambda, + const Real* X, + const Real* Y, + Real tau, // OUT parameters - float* phi, - float* rho, - float* pi, - float* LLF, - float* S, + Real* phi, + Real* rho, + Real* pi, + Real* LLF, + Real* S, // additional size parameters int n, int p, diff --git a/src/sources/EMGrank.c b/src/sources/EMGrank.c index 3d5a9c7..2422fc0 100644 --- a/src/sources/EMGrank.c +++ b/src/sources/EMGrank.c @@ -3,13 +3,13 @@ #include "utils.h" // Compute pseudo-inverse of a square matrix -static float* pinv(const float* matrix, int dim) +static Real* pinv(const Real* matrix, int dim) { gsl_matrix* U = gsl_matrix_alloc(dim,dim); gsl_matrix* V = gsl_matrix_alloc(dim,dim); gsl_vector* S = gsl_vector_alloc(dim); gsl_vector* work = gsl_vector_alloc(dim); - float EPS = 1e-10; //threshold for singular value "== 0" + Real EPS = 1e-10; //threshold for singular value "== 0" //copy matrix into U copyArray(matrix, U->data, dim*dim); @@ -19,12 +19,12 @@ static float* pinv(const float* matrix, int dim) gsl_vector_free(work); // Obtain pseudo-inverse by V*S^{-1}*t(U) - float* inverse = (float*)malloc(dim*dim*sizeof(float)); + Real* inverse = (Real*)malloc(dim*dim*sizeof(Real)); for (int i=0; i<dim; i++) { for (int ii=0; ii<dim; ii++) { - float dotProduct = 0.0; + Real dotProduct = 0.0; for (int j=0; j<dim; j++) dotProduct += V->data[i*dim+j] * (S->data[j] > EPS ? 1.0/S->data[j] : 0.0) * U->data[ii*dim+j]; inverse[i*dim+ii] = dotProduct; @@ -40,17 +40,17 @@ static float* pinv(const float* matrix, int dim) // TODO: comment EMGrank purpose void EMGrank_core( // IN parameters - const float* Pi, // parametre de proportion - const float* Rho, // parametre initial de variance renormalisé + const Real* Pi, // parametre de proportion + const Real* Rho, // parametre initial de variance renormalisé int mini, // nombre minimal d'itérations dans l'algorithme EM int maxi, // nombre maximal d'itérations dans l'algorithme EM - const float* X, // régresseurs - const float* Y, // réponse - float tau, // seuil pour accepter la convergence + const Real* X, // régresseurs + const Real* Y, // réponse + Real tau, // seuil pour accepter la convergence const int* rank, // vecteur des rangs possibles // OUT parameters - float* phi, // parametre de moyenne renormalisé, calculé par l'EM - float* LLF, // log vraisemblance associé à cet échantillon, pour les valeurs estimées des paramètres + Real* phi, // parametre de moyenne renormalisé, calculé par l'EM + Real* LLF, // log vraisemblance associé à cet échantillon, pour les valeurs estimées des paramètres // additional size parameters int n, // taille de l'echantillon int p, // nombre de covariables @@ -58,20 +58,20 @@ void EMGrank_core( int k) // nombre de composantes { // Allocations, initializations - float* Phi = (float*)calloc(p*m*k,sizeof(float)); - float* hatBetaR = (float*)malloc(p*m*sizeof(float)); + Real* Phi = (Real*)calloc(p*m*k,sizeof(Real)); + Real* hatBetaR = (Real*)malloc(p*m*sizeof(Real)); int signum; - float invN = 1.0/n; + Real invN = 1.0/n; int deltaPhiBufferSize = 20; - float* deltaPhi = (float*)malloc(deltaPhiBufferSize*sizeof(float)); + Real* deltaPhi = (Real*)malloc(deltaPhiBufferSize*sizeof(Real)); int ite = 0; - float sumDeltaPhi = 0.0; - float* YiRhoR = (float*)malloc(m*sizeof(float)); - float* XiPhiR = (float*)malloc(m*sizeof(float)); - float* Xr = (float*)malloc(n*p*sizeof(float)); - float* Yr = (float*)malloc(n*m*sizeof(float)); - float* tXrXr = (float*)malloc(p*p*sizeof(float)); - float* tXrYr = (float*)malloc(p*m*sizeof(float)); + Real sumDeltaPhi = 0.0; + Real* YiRhoR = (Real*)malloc(m*sizeof(Real)); + Real* XiPhiR = (Real*)malloc(m*sizeof(Real)); + Real* Xr = (Real*)malloc(n*p*sizeof(Real)); + Real* Yr = (Real*)malloc(n*m*sizeof(Real)); + Real* tXrXr = (Real*)malloc(p*p*sizeof(Real)); + Real* tXrYr = (Real*)malloc(p*m*sizeof(Real)); gsl_matrix* matrixM = gsl_matrix_alloc(p, m); gsl_matrix* matrixE = gsl_matrix_alloc(m, m); gsl_permutation* permutation = gsl_permutation_alloc(m); @@ -115,7 +115,7 @@ void EMGrank_core( { for (int jj=0; jj<p; jj++) { - float dotProduct = 0.0; + Real dotProduct = 0.0; for (int u=0; u<cardClustR; u++) dotProduct += Xr[mi(u,j,n,p)] * Xr[mi(u,jj,n,p)]; tXrXr[mi(j,jj,p,p)] = dotProduct; @@ -123,14 +123,14 @@ void EMGrank_core( } //Get pseudo inverse = (t(Xr)*Xr)^{-1} - float* invTXrXr = pinv(tXrXr, p); + Real* invTXrXr = pinv(tXrXr, p); // Compute tXrYr = t(Xr) * Yr for (int j=0; j<p; j++) { for (int jj=0; jj<m; jj++) { - float dotProduct = 0.0; + Real dotProduct = 0.0; for (int u=0; u<cardClustR; u++) dotProduct += Xr[mi(u,j,n,p)] * Yr[mi(u,j,n,m)]; tXrYr[mi(j,jj,p,m)] = dotProduct; @@ -142,7 +142,7 @@ void EMGrank_core( { for (int jj=0; jj<m; jj++) { - float dotProduct = 0.0; + Real dotProduct = 0.0; for (int u=0; u<p; u++) dotProduct += invTXrXr[mi(j,u,p,p)] * tXrYr[mi(u,jj,p,m)]; matrixM->data[j*m+jj] = dotProduct; @@ -159,12 +159,12 @@ void EMGrank_core( S->data[j] = 0.0; //[intermediate step] Compute hatBetaR = U * S * t(V) - double* U = matrixM->data; + double* U = matrixM->data; //GSL require double precision for (int j=0; j<p; j++) { for (int jj=0; jj<m; jj++) { - float dotProduct = 0.0; + Real dotProduct = 0.0; for (int u=0; u<m; u++) dotProduct += U[j*m+u] * S->data[u] * V->data[jj*m+u]; hatBetaR[mi(j,jj,p,m)] = dotProduct; @@ -176,7 +176,7 @@ void EMGrank_core( { for (int jj=0; jj<m; jj++) { - float dotProduct=0.0; + Real dotProduct=0.0; for (int u=0; u<m; u++) dotProduct += hatBetaR[mi(j,u,p,m)] * Rho[ai(u,jj,r,m,m,k)]; phi[ai(j,jj,r,p,m,k)] = dotProduct; @@ -188,11 +188,11 @@ void EMGrank_core( // Etape E // ///////////// - float sumLogLLF2 = 0.0; + Real sumLogLLF2 = 0.0; for (int i=0; i<n; i++) { - float sumLLF1 = 0.0; - float maxLogGamIR = -INFINITY; + Real sumLLF1 = 0.0; + Real maxLogGamIR = -INFINITY; for (int r=0; r<k; r++) { //Compute @@ -207,7 +207,7 @@ void EMGrank_core( matrixE->data[j*m+jj] = Rho[ai(j,jj,r,m,m,k)]; } gsl_linalg_LU_decomp(matrixE, permutation, &signum); - float detRhoR = gsl_linalg_LU_det(matrixE, signum); + Real detRhoR = gsl_linalg_LU_det(matrixE, signum); //compute Y(i,:)*Rho(:,:,r) for (int j=0; j<m; j++) @@ -226,10 +226,10 @@ void EMGrank_core( } //compute dotProduct < Y(:,i)*rho(:,:,r)-X(i,:)*phi(:,:,r) . Y(:,i)*rho(:,:,r)-X(i,:)*phi(:,:,r) > - float dotProduct = 0.0; + Real dotProduct = 0.0; for (int u=0; u<m; u++) dotProduct += (YiRhoR[u]-XiPhiR[u]) * (YiRhoR[u]-XiPhiR[u]); - float logGamIR = log(Pi[r]) + log(detRhoR) - 0.5*dotProduct; + Real logGamIR = log(Pi[r]) + log(detRhoR) - 0.5*dotProduct; //Z(i) = index of max (gam(i,:)) if (logGamIR > maxLogGamIR) @@ -247,14 +247,14 @@ void EMGrank_core( *LLF = -invN * sumLogLLF2; //newDeltaPhi = max(max((abs(phi-Phi))./(1+abs(phi)))); - float newDeltaPhi = 0.0; + Real newDeltaPhi = 0.0; for (int j=0; j<p; j++) { for (int jj=0; jj<m; jj++) { for (int r=0; r<k; r++) { - float tmpDist = fabs(phi[ai(j,jj,r,p,m,k)]-Phi[ai(j,jj,r,p,m,k)]) + Real tmpDist = fabs(phi[ai(j,jj,r,p,m,k)]-Phi[ai(j,jj,r,p,m,k)]) / (1.0+fabs(phi[ai(j,jj,r,p,m,k)])); if (tmpDist > newDeltaPhi) newDeltaPhi = tmpDist; diff --git a/src/sources/EMGrank.h b/src/sources/EMGrank.h index 92c3f73..b7367d8 100644 --- a/src/sources/EMGrank.h +++ b/src/sources/EMGrank.h @@ -1,19 +1,21 @@ #ifndef valse_EMGrank_H #define valse_EMGrank_H +#include "utils.h" + void EMGrank_core( // IN parameters - const float* Pi, - const float* Rho, + const Real* Pi, + const Real* Rho, int mini, int maxi, - const float* X, - const float* Y, - float tau, + const Real* X, + const Real* Y, + Real tau, const int* rank, // OUT parameters - float* phi, - float* LLF, + Real* phi, + Real* LLF, // additional size parameters int n, int p, diff --git a/src/sources/constructionModelesLassoMLE.c b/src/sources/constructionModelesLassoMLE.c index a48f7d0..6b92094 100644 --- a/src/sources/constructionModelesLassoMLE.c +++ b/src/sources/constructionModelesLassoMLE.c @@ -7,25 +7,25 @@ // TODO: comment on constructionModelesLassoMLE purpose void constructionModelesLassoMLE_core( // IN parameters - const float* phiInit, // parametre initial de moyenne renormalisé - const float* rhoInit, // parametre initial de variance renormalisé - const float* piInit,// parametre initial des proportions - const float* gamInit, // paramètre initial des probabilités a posteriori de chaque échantillon + const Real* phiInit, // parametre initial de moyenne renormalisé + const Real* rhoInit, // parametre initial de variance renormalisé + const Real* piInit,// parametre initial des proportions + const Real* gamInit, // paramètre initial des probabilités a posteriori de chaque échantillon int mini,// nombre minimal d'itérations dans l'algorithme EM int maxi,// nombre maximal d'itérations dans l'algorithme EM - float gamma,// valeur de gamma : puissance des proportions dans la pénalisation pour un Lasso adaptatif - const float* glambda, // valeur des paramètres de régularisation du Lasso - const float* X, // régresseurs - const float* Y, // réponse - float seuil,// seuil pour prendre en compte une variable - float tau,// seuil pour accepter la convergence + Real gamma,// valeur de gamma : puissance des proportions dans la pénalisation pour un Lasso adaptatif + const Real* glambda, // valeur des paramètres de régularisation du Lasso + const Real* X, // régresseurs + const Real* Y, // réponse + Real seuil,// seuil pour prendre en compte une variable + Real tau,// seuil pour accepter la convergence const int* A1, // matrice des coefficients des parametres selectionnes const int* A2, // matrice des coefficients des parametres non selectionnes // OUT parameters - float* phi,// estimateur ainsi calculé par le Lasso - float* rho,// estimateur ainsi calculé par le Lasso - float* pi, // estimateur ainsi calculé par le Lasso - float* lvraisemblance, // estimateur ainsi calculé par le Lasso + Real* phi,// estimateur ainsi calculé par le Lasso + Real* rho,// estimateur ainsi calculé par le Lasso + Real* pi, // estimateur ainsi calculé par le Lasso + Real* lvraisemblance, // estimateur ainsi calculé par le Lasso // additional size parameters int n, // taille de l'echantillon int p, // nombre de covariables @@ -58,7 +58,7 @@ void constructionModelesLassoMLE_core( continue; //Xa = X(:,a) - float* Xa = (float*)malloc(n*lengthA*sizeof(float)); + Real* Xa = (Real*)malloc(n*lengthA*sizeof(Real)); for (int i=0; i<n; i++) { for (int j=0; j<lengthA; j++) @@ -66,7 +66,7 @@ void constructionModelesLassoMLE_core( } //phia = phiInit(a,:,:) - float* phia = (float*)malloc(lengthA*m*k*sizeof(float)); + Real* phia = (Real*)malloc(lengthA*m*k*sizeof(Real)); for (int j=0; j<lengthA; j++) { for (int mm=0; mm<m; mm++) @@ -78,11 +78,11 @@ void constructionModelesLassoMLE_core( //[phiLambda,rhoLambda,piLambda,~,~] = EMGLLF(... // phiInit(a,:,:),rhoInit,piInit,gamInit,mini,maxi,gamma,0,X(:,a),Y,tau); - float* phiLambda = (float*)malloc(lengthA*m*k*sizeof(float)); - float* rhoLambda = (float*)malloc(m*m*k*sizeof(float)); - float* piLambda = (float*)malloc(k*sizeof(float)); - float* LLF = (float*)malloc((maxi+1)*sizeof(float)); - float* S = (float*)malloc(lengthA*m*k*sizeof(float)); + Real* phiLambda = (Real*)malloc(lengthA*m*k*sizeof(Real)); + Real* rhoLambda = (Real*)malloc(m*m*k*sizeof(Real)); + Real* piLambda = (Real*)malloc(k*sizeof(Real)); + Real* LLF = (Real*)malloc((maxi+1)*sizeof(Real)); + Real* S = (Real*)malloc(lengthA*m*k*sizeof(Real)); EMGLLF_core(phia,rhoInit,piInit,gamInit,mini,maxi,gamma,0.0,Xa,Y,tau, phiLambda,rhoLambda,piLambda,LLF,S, n,lengthA,m,k); @@ -154,12 +154,12 @@ void constructionModelesLassoMLE_core( free(b); int signum; - float* densite = (float*)calloc(L*n,sizeof(float)); - float sumLogDensit = 0.0; + Real* densite = (Real*)calloc(L*n,sizeof(Real)); + Real sumLogDensit = 0.0; gsl_matrix* matrix = gsl_matrix_alloc(m, m); gsl_permutation* permutation = gsl_permutation_alloc(m); - float* YiRhoR = (float*)malloc(m*sizeof(float)); - float* XiPhiR = (float*)malloc(m*sizeof(float)); + Real* YiRhoR = (Real*)malloc(m*sizeof(Real)); + Real* XiPhiR = (Real*)malloc(m*sizeof(Real)); for (int i=0; i<n; i++) { //~ for r=1:k @@ -176,7 +176,7 @@ void constructionModelesLassoMLE_core( matrix->data[u*m+v] = rho[ai4(u,v,r,lambdaIndex,m,m,k,L)]; } gsl_linalg_LU_decomp(matrix, permutation, &signum); - float detRhoR = gsl_linalg_LU_det(matrix, signum); + Real detRhoR = gsl_linalg_LU_det(matrix, signum); //compute Y(i,:)*rho(:,:,r,lambdaIndex) for (int u=0; u<m; u++) @@ -196,7 +196,7 @@ void constructionModelesLassoMLE_core( // On peut remplacer X par Xa dans ce dernier calcul, mais je ne sais pas si c'est intéressant ... // compute dotProduct < delta . delta > - float dotProduct = 0.0; + Real dotProduct = 0.0; for (int u=0; u<m; u++) dotProduct += (YiRhoR[u]-XiPhiR[u]) * (YiRhoR[u]-XiPhiR[u]); diff --git a/src/sources/constructionModelesLassoMLE.h b/src/sources/constructionModelesLassoMLE.h index 2058e48..992c2c7 100644 --- a/src/sources/constructionModelesLassoMLE.h +++ b/src/sources/constructionModelesLassoMLE.h @@ -1,27 +1,29 @@ #ifndef valse_constructionModelesLassoMLE_H #define valse_constructionModelesLassoMLE_H +#include "utils.h" + void constructionModelesLassoMLE_core( // IN parameters - const float* phiInit, - const float* rhoInit, - const float* piInit, - const float* gamInit, + const Real* phiInit, + const Real* rhoInit, + const Real* piInit, + const Real* gamInit, int mini, int maxi, - float gamma, - const float* glambda, - const float* X, - const float* Y, - float seuil, - float tau, + Real gamma, + const Real* glambda, + const Real* X, + const Real* Y, + Real seuil, + Real tau, const int* A1, const int* A2, // OUT parameters - float* phi, - float* rho, - float* pi, - float* lvraisemblance, + Real* phi, + Real* rho, + Real* pi, + Real* lvraisemblance, // additional size parameters int n, int p, diff --git a/src/sources/constructionModelesLassoRank.c b/src/sources/constructionModelesLassoRank.c index 031e76c..8eee0eb 100644 --- a/src/sources/constructionModelesLassoRank.c +++ b/src/sources/constructionModelesLassoRank.c @@ -7,19 +7,19 @@ // TODO: comment on constructionModelesLassoRank purpose void constructionModelesLassoRank_core( // IN parameters - const float* Pi,// parametre initial des proportions - const float* Rho, // parametre initial de variance renormalisé + const Real* Pi,// parametre initial des proportions + const Real* Rho, // parametre initial de variance renormalisé int mini, // nombre minimal d'itérations dans l'algorithme EM int maxi, // nombre maximal d'itérations dans l'algorithme EM - const float* X,// régresseurs - const float* Y,// réponse - float tau, // seuil pour accepter la convergence + const Real* X,// régresseurs + const Real* Y,// réponse + Real tau, // seuil pour accepter la convergence const int* A1, // matrice des coefficients des parametres selectionnes int rangmin, //rang minimum autorisé int rangmax, //rang maximum autorisé // OUT parameters (all pointers, to be modified) - float* phi,// estimateur ainsi calculé par le Lasso - float* lvraisemblance,// estimateur ainsi calculé par le Lasso + Real* phi,// estimateur ainsi calculé par le Lasso + Real* lvraisemblance,// estimateur ainsi calculé par le Lasso // additional size parameters int n,// taille de l'echantillon int p,// nombre de covariables @@ -73,24 +73,24 @@ for (int r=0; r<k; r++) continue; //from now on, longueurActive > 0 - float* phiLambda = (float*)malloc(longueurActive*m*k*sizeof(float)); - float LLF; + Real* phiLambda = (Real*)malloc(longueurActive*m*k*sizeof(Real)); + Real LLF; for (int j=0; j<Size; j++) { //[phiLambda,LLF] = EMGrank(Pi(:,lambdaIndex),Rho(:,:,:,lambdaIndex),mini,maxi,X(:,active),Y,tau,Rank(j,:)); int* rank = (int*)malloc(k*sizeof(int)); for (int r=0; r<k; r++) rank[r] = Rank[mi(j,r,Size,k)]; - float* Xactive = (float*)malloc(n*longueurActive*sizeof(float)); + Real* Xactive = (Real*)malloc(n*longueurActive*sizeof(Real)); for (int i=0; i<n; i++) { for (int jj=0; jj<longueurActive; jj++) Xactive[mi(i,jj,n,longueurActive)] = X[mi(i,active[jj],n,p)]; } - float* PiLambda = (float*)malloc(k*sizeof(float)); + Real* PiLambda = (Real*)malloc(k*sizeof(Real)); for (int r=0; r<k; r++) PiLambda[r] = Pi[mi(r,lambdaIndex,k,L)]; - float* RhoLambda = (float*)malloc(m*m*k*sizeof(float)); + Real* RhoLambda = (Real*)malloc(m*m*k*sizeof(Real)); for (int u=0; u<m; u++) { for (int v=0; v<m; v++) @@ -109,7 +109,7 @@ for (int r=0; r<k; r++) //lvraisemblance((lambdaIndex-1)*Size+j,:) = [LLF, dot(Rank(j,:), length(active)-Rank(j,:)+m)]; lvraisemblance[mi(lambdaIndex*Size+j,0,L*Size,2)] = LLF; //dot(Rank(j,:), length(active)-Rank(j,:)+m) - float dotProduct = 0.0; + Real dotProduct = 0.0; for (int r=0; r<k; r++) dotProduct += Rank[mi(j,r,Size,k)] * (longueurActive-Rank[mi(j,r,Size,k)]+m); lvraisemblance[mi(lambdaIndex*Size+j,1,Size*L,2)] = dotProduct; diff --git a/src/sources/constructionModelesLassoRank.h b/src/sources/constructionModelesLassoRank.h index 60f6623..91a71d8 100644 --- a/src/sources/constructionModelesLassoRank.h +++ b/src/sources/constructionModelesLassoRank.h @@ -1,22 +1,24 @@ #ifndef valse_constructionModelesLassoRank_H #define valse_constructionModelesLassoRank_H +#include "utils.h" + // Main job on raw inputs (after transformation from mxArray) void constructionModelesLassoRank_core( // IN parameters - const float* Pi, - const float* Rho, + const Real* Pi, + const Real* Rho, int mini, int maxi, - const float* X, - const float* Y, - float tau, + const Real* X, + const Real* Y, + Real tau, const int* A1, int rangmin, int rangmax, // OUT parameters - float* phi, - float* lvraisemblance, + Real* phi, + Real* lvraisemblance, // additional size parameters int n, int p, diff --git a/src/sources/selectiontotale.c b/src/sources/selectiontotale.c index 3b2e015..8c1b768 100644 --- a/src/sources/selectiontotale.c +++ b/src/sources/selectiontotale.c @@ -7,23 +7,23 @@ // Main job on raw inputs (after transformation from mxArray) void selectiontotale_core( // IN parameters - const float* phiInit, // parametre initial de moyenne renormalisé - const float* rhoInit, // parametre initial de variance renormalisé - const float* piInit,// parametre initial des proportions - const float* gamInit, // paramètre initial des probabilités a posteriori de chaque échantillon + const Real* phiInit, // parametre initial de moyenne renormalisé + const Real* rhoInit, // parametre initial de variance renormalisé + const Real* piInit,// parametre initial des proportions + const Real* gamInit, // paramètre initial des probabilités a posteriori de chaque échantillon int mini, // nombre minimal d'itérations dans lambdaIndex'algorithme EM int maxi, // nombre maximal d'itérations dans lambdaIndex'algorithme EM - float gamma, // valeur de gamma : puissance des proportions dans la pénalisation pour un Lasso adaptatif - const float* glambda, // valeur des paramètres de régularisation du Lasso - const float* X,// régresseurs - const float* Y,// réponse - float seuil, // seuil pour prendre en compte une variable - float tau, // seuil pour accepter la convergence + Real gamma, // valeur de gamma : puissance des proportions dans la pénalisation pour un Lasso adaptatif + const Real* glambda, // valeur des paramètres de régularisation du Lasso + const Real* X,// régresseurs + const Real* Y,// réponse + Real seuil, // seuil pour prendre en compte une variable + Real tau, // seuil pour accepter la convergence // OUT parameters (all pointers, to be modified) int* A1, // matrice des coefficients des parametres selectionnes int* A2, // matrice des coefficients des parametres non selectionnes - float* Rho,// estimateur ainsi calculé par le Lasso - float* Pi,// estimateur ainsi calculé par le Lasso + Real* Rho,// estimateur ainsi calculé par le Lasso + Real* Pi,// estimateur ainsi calculé par le Lasso // additional size parameters int n,// taille de lambdaIndex'echantillon int p,// nombre de covariables @@ -51,11 +51,11 @@ void selectiontotale_core( for (lambdaIndex=0; lambdaIndex<L; lambdaIndex++) { //allocate output variables - float* phi = (float*)malloc(p*m*k*sizeof(float)); - float* rho = (float*)malloc(m*m*k*sizeof(float)); - float* pi = (float*)malloc(k*sizeof(float)); - float* LLF = (float*)malloc(maxi*sizeof(float)); - float* S = (float*)malloc(p*m*k*sizeof(float)); + Real* phi = (Real*)malloc(p*m*k*sizeof(Real)); + Real* rho = (Real*)malloc(m*m*k*sizeof(Real)); + Real* pi = (Real*)malloc(k*sizeof(Real)); + Real* LLF = (Real*)malloc(maxi*sizeof(Real)); + Real* S = (Real*)malloc(p*m*k*sizeof(Real)); EMGLLF_core(phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,glambda[lambdaIndex],X,Y,tau, phi,rho,pi,LLF,S, n,p,m,k); @@ -72,7 +72,7 @@ void selectiontotale_core( int cpt2 = 0; for (int jj=0; jj<m; jj++) { - float maxPhi = 0.0; + Real maxPhi = 0.0; for (int r=0; r<k; r++) { if (fabs(phi[ai(j,jj,r,p,m,k)]) > maxPhi) diff --git a/src/sources/selectiontotale.h b/src/sources/selectiontotale.h index d225592..fea6e39 100644 --- a/src/sources/selectiontotale.h +++ b/src/sources/selectiontotale.h @@ -1,26 +1,28 @@ #ifndef valse_selectiontotale_H #define valse_selectiontotale_H +#include "utils.h" + // Main job on raw inputs (after transformation from mxArray) void selectiontotale_core( // IN parameters - const float* phiInit, - const float* rhoInit, - const float* piInit, - const float* gamInit, + const Real* phiInit, + const Real* rhoInit, + const Real* piInit, + const Real* gamInit, int mini, int maxi, - float gamma, - const float* glambda, - const float* X, - const float* Y, - float seuil, - float tau, + Real gamma, + const Real* glambda, + const Real* X, + const Real* Y, + Real seuil, + Real tau, // OUT parameters int* A1, int* A2, - float* Rho, - float* Pi, + Real* Rho, + Real* Pi, // additional size parameters int n, int p, diff --git a/src/sources/utils.h b/src/sources/utils.h index 0c5a8d8..b33c69e 100644 --- a/src/sources/utils.h +++ b/src/sources/utils.h @@ -1,6 +1,16 @@ #ifndef valse_utils_H #define valse_utils_H +//#include <stdint.h> + +/******** + * Types + *******/ + +typedef float Real; +//typedef uint32_t UInt; +//typedef int32_t Int; + /******************* * tune parallelism *******************/ diff --git a/src/test/Makefile b/src/test/Makefile index 459a5cb..71c2342 100644 --- a/src/test/Makefile +++ b/src/test/Makefile @@ -12,19 +12,19 @@ all: $(LIB) test.EMGLLF test.EMGrank test.constructionModelesLassoMLE test.EMGra $(LIB): $(LIB_OBJ) $(CC) -shared -o $@ $^ $(LDFLAGS) -test.EMGLLF: test.EMGLLF.o utils.o +test.EMGLLF: test.EMGLLF.o test_utils.o $(CC) -o $@ $^ $(LDFLAGS) $(TEST_LDFLAGS) -test.constructionModelesLassoMLE: test.constructionModelesLassoMLE.o utils.o +test.constructionModelesLassoMLE: test.constructionModelesLassoMLE.o test_utils.o $(CC) -o $@ $^ $(LDFLAGS) $(TEST_LDFLAGS) -test.EMGrank: test.EMGrank.o utils.o +test.EMGrank: test.EMGrank.o test_utils.o $(CC) -o $@ $^ $(LDFLAGS) $(TEST_LDFLAGS) -test.constructionModelesLassoRank: test.constructionModelesLassoRank.o utils.o +test.constructionModelesLassoRank: test.constructionModelesLassoRank.o test_utils.o $(CC) -o $@ $^ $(LDFLAGS) $(TEST_LDFLAGS) -test.selectionTotale: test.selectionTotale.o utils.o +test.selectionTotale: test.selectionTotale.o test_utils.o $(CC) -o $@ $^ $(LDFLAGS) $(TEST_LDFLAGS) %.o: %.c diff --git a/src/test/OUT b/src/test/OUT new file mode 100644 index 0000000..d695287 --- /dev/null +++ b/src/test/OUT @@ -0,0 +1,1629 @@ +==8976== Memcheck, a memory error detector +==8976== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. +==8976== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info +==8976== Command: ./test.EMGLLF +==8976== +==8976== Invalid write of size 4 +==8976== at 0x59E9535: EMGLLF_core (EMGLLF.c:228) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== Address 0x697c470 is 0 bytes after a block of size 1,200 alloc'd +==8976== at 0x4C2AB8D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==8976== by 0x400B3D: main (test.EMGLLF.c:37) +==8976== +==8976== Invalid read of size 4 +==8976== at 0x59E90DD: EMGLLF_core (EMGLLF.c:212) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== Address 0x697c4f0 is 16 bytes before a block of size 40 alloc'd +==8976== at 0x4C2AB8D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==8976== by 0x400B67: main (test.EMGLLF.c:39) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E58278: sqrt (in /usr/lib/libm-2.24.so) +==8976== by 0x59E94E4: EMGLLF_core (EMGLLF.c:228) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59E9872: EMGLLF_core (EMGLLF.c:248) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59E9958: EMGLLF_core (EMGLLF.c:250) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59E9F8D: EMGLLF_core (EMGLLF.c:300) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E97935: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E5759E: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E979DE: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E5759E: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E979E3: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E5759E: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E979F3: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E5759E: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E97A18: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E5759E: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E97A71: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E5759E: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E97A77: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E5759E: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E575C1: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E575CB: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E575CD: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57DA8: log (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98368: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98376: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E983B5: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E983F5: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E98441: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E98493: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E984A6: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E984FC: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98549: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E985A4: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E985A6: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA280: EMGLLF_core (EMGLLF.c:319) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59EA2E0: EMGLLF_core (EMGLLF.c:325) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E97AA6: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E5759E: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59EA5FF: EMGLLF_core (EMGLLF.c:350) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E58278: sqrt (in /usr/lib/libm-2.24.so) +==8976== by 0x59E82C1: EMGLLF_core (EMGLLF.c:80) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E58278: sqrt (in /usr/lib/libm-2.24.so) +==8976== by 0x59E838F: EMGLLF_core (EMGLLF.c:86) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59E89D8: EMGLLF_core (EMGLLF.c:156) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B97: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8AEA: EMGLLF_core (EMGLLF.c:173) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B9D: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8AEA: EMGLLF_core (EMGLLF.c:173) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57E9B: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8AEA: EMGLLF_core (EMGLLF.c:173) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA5: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8AEA: EMGLLF_core (EMGLLF.c:173) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA7: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8AEA: EMGLLF_core (EMGLLF.c:173) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57DA8: log (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98368: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98376: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E983B5: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E983F5: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E98441: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E98493: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E984A6: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E984FC: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98549: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E985A4: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E985A6: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59E8E86: EMGLLF_core (EMGLLF.c:178) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B97: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8D20: EMGLLF_core (EMGLLF.c:187) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B9D: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8D20: EMGLLF_core (EMGLLF.c:187) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57E9B: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8D20: EMGLLF_core (EMGLLF.c:187) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA5: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8D20: EMGLLF_core (EMGLLF.c:187) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA7: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8D20: EMGLLF_core (EMGLLF.c:187) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57DA8: log (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98368: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98376: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E983B5: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E983F5: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E98441: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E98493: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E984A6: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E984FC: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98549: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E985A4: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E985A6: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8DE1: EMGLLF_core (EMGLLF.c:190) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B97: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9861: EMGLLF_core (EMGLLF.c:248) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B9D: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9861: EMGLLF_core (EMGLLF.c:248) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57E9B: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9861: EMGLLF_core (EMGLLF.c:248) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA5: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9861: EMGLLF_core (EMGLLF.c:248) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA7: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9861: EMGLLF_core (EMGLLF.c:248) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B97: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9943: EMGLLF_core (EMGLLF.c:250) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B9D: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9943: EMGLLF_core (EMGLLF.c:250) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57E9B: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9943: EMGLLF_core (EMGLLF.c:250) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA5: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9943: EMGLLF_core (EMGLLF.c:250) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA7: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9943: EMGLLF_core (EMGLLF.c:250) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B97: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9AF3: EMGLLF_core (EMGLLF.c:254) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B9D: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9AF3: EMGLLF_core (EMGLLF.c:254) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57E9B: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9AF3: EMGLLF_core (EMGLLF.c:254) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA5: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9AF3: EMGLLF_core (EMGLLF.c:254) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA7: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E9AF3: EMGLLF_core (EMGLLF.c:254) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B97: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E99DC: EMGLLF_core (EMGLLF.c:251) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B9D: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E99DC: EMGLLF_core (EMGLLF.c:251) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57E9B: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E99DC: EMGLLF_core (EMGLLF.c:251) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA5: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E99DC: EMGLLF_core (EMGLLF.c:251) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA7: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E99DC: EMGLLF_core (EMGLLF.c:251) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E97ABE: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E5759E: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E97C6E: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E5759E: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E575E0: exp (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA179: EMGLLF_core (EMGLLF.c:315) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B97: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA38F: EMGLLF_core (EMGLLF.c:332) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E48B9D: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x4E57E73: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA38F: EMGLLF_core (EMGLLF.c:332) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57E9B: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA38F: EMGLLF_core (EMGLLF.c:332) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA5: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA38F: EMGLLF_core (EMGLLF.c:332) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA7: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59EA38F: EMGLLF_core (EMGLLF.c:332) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59EA8A0: EMGLLF_core (EMGLLF.c:377) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59EA8F7: EMGLLF_core (EMGLLF.c:383) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59EA912: EMGLLF_core (EMGLLF.c:385) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== +==8976== More than 100 errors detected. Subsequent errors +==8976== will still be recorded, but in less detail than before. +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57DA8: log (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98368: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98376: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E983B5: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E983F5: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E98441: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E98493: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E984A6: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4E984FC: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E98549: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E985A4: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E985A6: ??? (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8807: EMGLLF_core (EMGLLF.c:140) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57E9B: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8A4F: EMGLLF_core (EMGLLF.c:169) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA5: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8A4F: EMGLLF_core (EMGLLF.c:169) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57EA7: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8A4F: EMGLLF_core (EMGLLF.c:169) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57F24: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8AEA: EMGLLF_core (EMGLLF.c:173) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57F48: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8AEA: EMGLLF_core (EMGLLF.c:173) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57F4A: pow (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8AEA: EMGLLF_core (EMGLLF.c:173) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57DC0: log (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4E57DC2: log (in /usr/lib/libm-2.24.so) +==8976== by 0x59E8BAB: EMGLLF_core (EMGLLF.c:177) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59EA94B: EMGLLF_core (EMGLLF.c:67) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x59EA977: EMGLLF_core (EMGLLF.c:67) +==8976== by 0x400C03: main (test.EMGLLF.c:45) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x400EE4: compareArray (test_utils.c:19) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400C89: main (test.EMGLLF.c:58) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x400F09: compareArray (test_utils.c:22) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3A458: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3A472: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C33A90: __mpn_extract_double (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A4A1: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3A516: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3A51E: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3BB67: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C327D8: __mpn_lshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3BB6B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C327DB: __mpn_lshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3BB6B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3BBA2: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3BBD1: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3BD46: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3C1C8: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32D74: __mpn_mul_1 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3C1E3: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32DFF: __mpn_mul_1 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3C1E3: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32E72: __mpn_mul_1 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3C1E3: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3C1F7: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3C206: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C328E8: __mpn_rshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3C3F5: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3290D: __mpn_rshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3C3F5: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39F89: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A7C7: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32D74: __mpn_mul_1 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39F90: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A7C7: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32D98: __mpn_mul_1 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39F90: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A7C7: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3A7CB: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B151: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39F89: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B16F: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B18E: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3B1BD: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B1C3: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B6AC: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3AAE2: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3ABDD: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B3ED: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B5F1: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B5D2: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400D29: main (test.EMGLLF.c:68) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3AF68: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3BB19: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C327D8: __mpn_lshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3BB1D: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C327DB: __mpn_lshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3BB1D: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3BB43: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3BB55: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3AFA1: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B053: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4C2EED3: memcpy@GLIBC_2.2.5 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==8976== by 0x5C3B013: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4C2EFEB: memcpy@GLIBC_2.2.5 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==8976== by 0x5C3B013: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4C2F001: memcpy@GLIBC_2.2.5 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==8976== by 0x5C3B013: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4C2EF43: memcpy@GLIBC_2.2.5 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==8976== by 0x5C3B013: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B01C: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B022: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C322EA: __mpn_cmp (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B1FC: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C322EE: __mpn_cmp (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B1FC: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C322F5: __mpn_cmp (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B1FC: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B203: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4C2EED3: memcpy@GLIBC_2.2.5 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==8976== by 0x5C3B224: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4C2EF40: memcpy@GLIBC_2.2.5 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==8976== by 0x5C3B224: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x4C2EF43: memcpy@GLIBC_2.2.5 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==8976== by 0x5C3B224: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x4C2EF4E: memcpy@GLIBC_2.2.5 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==8976== by 0x5C3B224: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3B22D: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32D74: __mpn_mul_1 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C32A2F: __mpn_mul (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B07E: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32DFF: __mpn_mul_1 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C32A2F: __mpn_mul (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B07E: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32E72: __mpn_mul_1 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C32A2F: __mpn_mul (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B07E: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32A40: __mpn_mul (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B07E: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3B2A6: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3B2B6: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B2BA: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3C602: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3C617: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B345: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C328E8: __mpn_rshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B369: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3290D: __mpn_rshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B369: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C32895: __mpn_rshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B38B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C328BC: __mpn_rshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B38B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C328E6: __mpn_rshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B38B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C328E8: __mpn_rshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B38B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C328F9: __mpn_rshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B38B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3290D: __mpn_rshift (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B38B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3B39D: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C39EAD: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32675: __mpn_divrem (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39F05: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32678: __mpn_divrem (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39F05: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C32689: __mpn_divrem (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39F05: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3268F: __mpn_divrem (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39F05: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C326A0: __mpn_divrem (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39F05: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C326AF: __mpn_divrem (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39F05: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C326B7: __mpn_divrem (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39F05: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C326E3: __mpn_divrem (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39F05: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39F12: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39F1A: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39F2E: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C39F34: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32D74: __mpn_mul_1 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39EC4: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C32D98: __mpn_mul_1 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C39EC4: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C39EC8: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39EDA: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A70B: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39F12: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A7C7: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39F1A: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A7C7: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39F2E: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A7C7: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C39F34: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A7C7: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C39EC8: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A7C7: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C3B124: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C3B128: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39EDA: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3A7C7: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39F12: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B16F: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39F1A: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B16F: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39F2E: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B16F: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C39F34: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B16F: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Conditional jump or move depends on uninitialised value(s) +==8976== at 0x5C39EC8: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B16F: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Use of uninitialised value of size 8 +==8976== at 0x5C39EDA: hack_digit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3B16F: __printf_fp_l (in /usr/lib/libc-2.24.so) +==8976== by 0x5C37CD1: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400F25: compareArray (test_utils.c:23) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400DCC: main (test.EMGLLF.c:78) +==8976== +==8976== Syscall param write(buf) points to uninitialised byte(s) +==8976== at 0x5CCB530: __write_nocancel (in /usr/lib/libc-2.24.so) +==8976== by 0x5C62866: _IO_file_write@@GLIBC_2.2.5 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C61BB1: new_do_write (in /usr/lib/libc-2.24.so) +==8976== by 0x5C63938: _IO_do_write@@GLIBC_2.2.5 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C6552B: _IO_flush_all_lockp (in /usr/lib/libc-2.24.so) +==8976== by 0x5C656F4: _IO_cleanup (in /usr/lib/libc-2.24.so) +==8976== by 0x5C25932: __run_exit_handlers (in /usr/lib/libc-2.24.so) +==8976== by 0x5C259E9: exit (in /usr/lib/libc-2.24.so) +==8976== by 0x5C10297: (below main) (in /usr/lib/libc-2.24.so) +==8976== Address 0x699db91 is 177 bytes inside a block of size 4,096 alloc'd +==8976== at 0x4C2AB8D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==8976== by 0x5C56AB1: _IO_file_doallocate (in /usr/lib/libc-2.24.so) +==8976== by 0x5C64AD5: _IO_doallocbuf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C63E37: _IO_file_overflow@@GLIBC_2.2.5 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C62F05: _IO_file_xsputn@@GLIBC_2.2.5 (in /usr/lib/libc-2.24.so) +==8976== by 0x5C36EA5: vfprintf (in /usr/lib/libc-2.24.so) +==8976== by 0x5C3F278: printf (in /usr/lib/libc-2.24.so) +==8976== by 0x400E31: compareArray (test_utils.c:12) +==8976== by 0x400F6A: compareArray_real (test_utils.c:30) +==8976== by 0x400C89: main (test.EMGLLF.c:58) +==8976== +Checking phi + Inaccuracy: max(abs(error)) = 0.484829 >= 1e-05 +Checking rho + Inaccuracy: max(abs(error)) = 1.36056 >= 1e-05 +Checking pi + Inaccuracy: max(abs(error)) = 0.145946 >= 1e-05 +Checking LLF + Inaccuracy: max(abs(error)) = 14.0083 >= 1e-05 +Checking S + Inaccuracy: max(abs(error)) = 130.206 >= 1e-05 +==8976== +==8976== HEAP SUMMARY: +==8976== in use at exit: 523 bytes in 18 blocks +==8976== total heap usage: 168 allocs, 150 frees, 348,490 bytes allocated +==8976== +==8976== LEAK SUMMARY: +==8976== definitely lost: 515 bytes in 17 blocks +==8976== indirectly lost: 0 bytes in 0 blocks +==8976== possibly lost: 0 bytes in 0 blocks +==8976== still reachable: 8 bytes in 1 blocks +==8976== suppressed: 0 bytes in 0 blocks +==8976== Rerun with --leak-check=full to see details of leaked memory +==8976== +==8976== For counts of detected and suppressed errors, rerun with: -v +==8976== Use --track-origins=yes to see where uninitialised values come from +==8976== ERROR SUMMARY: 68204 errors from 232 contexts (suppressed: 0 from 0) diff --git a/src/test/test.ConstructionModelesLassoMLE.c b/src/test/test.ConstructionModelesLassoMLE.c index 198d5a8..e9c7678 100644 --- a/src/test/test.ConstructionModelesLassoMLE.c +++ b/src/test/test.ConstructionModelesLassoMLE.c @@ -1,5 +1,5 @@ #include "constructionModelesLassoMLE.h" -#include "ioutils.h" +#include "test_utils.h" int main(int argc, char** argv) { diff --git a/src/test/test.EMGLLF.c b/src/test/test.EMGLLF.c index 8f6b2b1..db38f14 100644 --- a/src/test/test.EMGLLF.c +++ b/src/test/test.EMGLLF.c @@ -1,7 +1,9 @@ #include "EMGLLF.h" -#include "utils.h" +#include "test_utils.h" #include <stdlib.h> +#include <stdio.h> + int main(int argc, char** argv) { int* dimensions = readArray_int("dimensions"); @@ -40,7 +42,6 @@ int main(int argc, char** argv) //////////////////// // Call to EMGLLF // //////////////////// - EMGLLF_core(phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,lambda,X,Y,tau, phi,rho,pi,LLF,S, n,p,m,k); diff --git a/src/test/test.EMGrank.c b/src/test/test.EMGrank.c index 59a68d0..80263a0 100644 --- a/src/test/test.EMGrank.c +++ b/src/test/test.EMGrank.c @@ -1,5 +1,5 @@ #include "EMGrank.h" -#include "utils.h" +#include "test_utils.h" int main(int argc, char** argv) { diff --git a/src/test/test.constructionModelesLassoRank.c b/src/test/test.constructionModelesLassoRank.c index 1060e20..cf95bc4 100644 --- a/src/test/test.constructionModelesLassoRank.c +++ b/src/test/test.constructionModelesLassoRank.c @@ -1,5 +1,5 @@ #include "constructionModelesLassoRank.h" -#include "ioutils.h" +#include "test_utils.h" int main(int argc, char** argv) { diff --git a/src/test/test.selectiontotale.c b/src/test/test.selectiontotale.c index ebfdf19..2553d05 100644 --- a/src/test/test.selectiontotale.c +++ b/src/test/test.selectiontotale.c @@ -1,5 +1,5 @@ #include "selectiontotale.h" -#include "ioutils.h" +#include "test_utils.h" int main(int argc, char** argv) { diff --git a/src/test/utils.c b/src/test/test_utils.c similarity index 91% rename from src/test/utils.c rename to src/test/test_utils.c index 2eac0c2..7fc240e 100644 --- a/src/test/utils.c +++ b/src/test/test_utils.c @@ -2,6 +2,7 @@ #include <stdio.h> #include <math.h> #include <string.h> +#include "utils.h" // Check if array == refArray void compareArray(const char* ID, const void* array, const void* refArray, int size, @@ -61,6 +62,7 @@ void* readArray(const char* fileName, int isinteger) void* array = malloc(n*elementSize); for (int i=0; i<n; i++) { + fgets(bufferNum, 64, arrayFile); // transform buffer content into float or int, and store it at appropriate location if (isinteger) ((int*)array)[i] = atoi(bufferNum); @@ -85,10 +87,16 @@ float* readArray_real(const char* fileName) int read_int(const char* fileName) { - return readArray_int(fileName)[0]; + int* array = readArray_int(fileName); + int res = array[0]; + free(array); + return res; } float read_real(const char* fileName) { - return readArray_real(fileName)[0]; + Real* array = readArray_real(fileName); + Real res = array[0]; + free(array); + return res; } diff --git a/src/test/utils.h b/src/test/test_utils.h similarity index 100% rename from src/test/utils.h rename to src/test/test_utils.h