Langage C;warning
Anne
-
Anne -
Anne -
Salut
J'ai un warning qui s'affiche pour quelques unes de mais variables, mais je ne comprends pas pourquoi. Je le declare en local, mais voila ce que j'ai a la compilation
Warning:referenced scalar variable A is shared by default.
cela me le fait aussi pour Aprime, S, I,Sprime ,Iprime et bdot
Voila un petit morceau du programme:
void *compute_slow_curr( Currargs *ca, float dt )
/*
* update j, d, f, x and [Ca] by biggest time step
* update m and h by either a medium or small time step
* update voltage by small time step
*/
{
double i_Na, i_K1, i_to, i_Kur, i_Kr, i_Ks, i_CaL, i_pCa, i_NaCa, i_rel, i_tr;
double S,A,I,Sprime,Aprime,Iprime,Bdot;//nouveau
/* ad in Jim's variables */
double iclca,del,Ecl,caflux,inf_qca,E_Na;
double ctnacl,ibcl,v_josh,ca_josh,ik_ach;
double caflux_tmp;
float v_j,ca_j;
int index_josh;
double exp_d_tau_qca;
/* end of Jim's variables */
double ls,la,lo,ks,ka,ko;//nouveau
double F_n, *vrow, *carow, *fnrow, di_ups;
int i, BigStep, MedStep;
int cl_index;
Gatetype **y = ca->y;
E_Na = R*T/F*log( conNa_o/ConNa_i0 );
if( cnt==UberStep) {
BigStep = 1;
MedStep = 1;
} else {
BigStep = 0;
if( !(cnt%Step) )
MedStep = 1;
else
MedStep = 0;
}
/* calculate exponential used within parallel loop */
exp_d_tau_qca=exp(-dt/tau_qca);
/* end calculation of exponential */
/* fscanf(in_Ca,"%d %f",&index_josh,&ca_j);
ca_josh=(double) ca_j; */
#pragma omp parallel
#pragma omp for schedule(static) private(i, ik_ach,i_Na,i_K1,i_to,vrow,carow,fnrow,i_Kur,i_Kr,i_Ks,i_CaL,i_pCa,i_NaCa,i_rel,di_ups,i_tr,ibcl,ctnacl,inf_qca,caflux,del,Ecl,iclca, caflux_tmp, cl_index)
/*#pragma MP taskloop schedtype(static)
#pragma MP taskloop private(caflux_tmp,cl_index,ik_ach,i_Na,i_K1,i_to,vrow,carow,fnrow,di_ups,i_Kur,i_Kr,i_Ks,i_CaL,i_pCa,i_NaCa,i_rel,i_tr,di_ups,i_tr,ibcl,ctnacl,inf_qca,caflux,del,Ecl,iclca)*/
for ( i=ca->start; i<ca->end; i++ ) {
/* y[0][i]=v_josh;
y[1][i]=ca_josh;*/
vrow = vtab[(int)(y[0][i]*StepVm)];
carow = catab[(int)(y[1][i]*StepCa)];
//channel states nouveau
A=y[4][i]*y[4][i]*y[4][i]*y[5][i]*y[6][i];
Aprime=y[4][i]*y[4][i]*y[4][i]*y[19][i]*y[20][i];
//S=y[5][i]*y[6][i]-A;
S=y[5][i]*y[6][i]-(y[4][i]*y[4][i]*y[4][i]*y[5][i]*y[6][i]);
I=1.0-y[21][i]-y[5][i]*y[6][i];
//Sprime= y[19][i]*y[20][i]-Aprime;
Sprime= y[19][i]*y[20][i]-(y[4][i]*y[4][i]*y[4][i]*y[19][i]*y[20][i]);
Iprime=y[21][i]-y[19][i]*y[20][i];
Bdot=(ks*S+ka*A+ko*I)*Dg-(ls*Sprime+la*Aprime+lo*Iprime);
Merci pour l'aide
J'ai un warning qui s'affiche pour quelques unes de mais variables, mais je ne comprends pas pourquoi. Je le declare en local, mais voila ce que j'ai a la compilation
Warning:referenced scalar variable A is shared by default.
cela me le fait aussi pour Aprime, S, I,Sprime ,Iprime et bdot
Voila un petit morceau du programme:
void *compute_slow_curr( Currargs *ca, float dt )
/*
* update j, d, f, x and [Ca] by biggest time step
* update m and h by either a medium or small time step
* update voltage by small time step
*/
{
double i_Na, i_K1, i_to, i_Kur, i_Kr, i_Ks, i_CaL, i_pCa, i_NaCa, i_rel, i_tr;
double S,A,I,Sprime,Aprime,Iprime,Bdot;//nouveau
/* ad in Jim's variables */
double iclca,del,Ecl,caflux,inf_qca,E_Na;
double ctnacl,ibcl,v_josh,ca_josh,ik_ach;
double caflux_tmp;
float v_j,ca_j;
int index_josh;
double exp_d_tau_qca;
/* end of Jim's variables */
double ls,la,lo,ks,ka,ko;//nouveau
double F_n, *vrow, *carow, *fnrow, di_ups;
int i, BigStep, MedStep;
int cl_index;
Gatetype **y = ca->y;
E_Na = R*T/F*log( conNa_o/ConNa_i0 );
if( cnt==UberStep) {
BigStep = 1;
MedStep = 1;
} else {
BigStep = 0;
if( !(cnt%Step) )
MedStep = 1;
else
MedStep = 0;
}
/* calculate exponential used within parallel loop */
exp_d_tau_qca=exp(-dt/tau_qca);
/* end calculation of exponential */
/* fscanf(in_Ca,"%d %f",&index_josh,&ca_j);
ca_josh=(double) ca_j; */
#pragma omp parallel
#pragma omp for schedule(static) private(i, ik_ach,i_Na,i_K1,i_to,vrow,carow,fnrow,i_Kur,i_Kr,i_Ks,i_CaL,i_pCa,i_NaCa,i_rel,di_ups,i_tr,ibcl,ctnacl,inf_qca,caflux,del,Ecl,iclca, caflux_tmp, cl_index)
/*#pragma MP taskloop schedtype(static)
#pragma MP taskloop private(caflux_tmp,cl_index,ik_ach,i_Na,i_K1,i_to,vrow,carow,fnrow,di_ups,i_Kur,i_Kr,i_Ks,i_CaL,i_pCa,i_NaCa,i_rel,i_tr,di_ups,i_tr,ibcl,ctnacl,inf_qca,caflux,del,Ecl,iclca)*/
for ( i=ca->start; i<ca->end; i++ ) {
/* y[0][i]=v_josh;
y[1][i]=ca_josh;*/
vrow = vtab[(int)(y[0][i]*StepVm)];
carow = catab[(int)(y[1][i]*StepCa)];
//channel states nouveau
A=y[4][i]*y[4][i]*y[4][i]*y[5][i]*y[6][i];
Aprime=y[4][i]*y[4][i]*y[4][i]*y[19][i]*y[20][i];
//S=y[5][i]*y[6][i]-A;
S=y[5][i]*y[6][i]-(y[4][i]*y[4][i]*y[4][i]*y[5][i]*y[6][i]);
I=1.0-y[21][i]-y[5][i]*y[6][i];
//Sprime= y[19][i]*y[20][i]-Aprime;
Sprime= y[19][i]*y[20][i]-(y[4][i]*y[4][i]*y[4][i]*y[19][i]*y[20][i]);
Iprime=y[21][i]-y[19][i]*y[20][i];
Bdot=(ks*S+ka*A+ko*I)*Dg-(ls*Sprime+la*Aprime+lo*Iprime);
Merci pour l'aide
A voir également:
- Langage C;warning
- Langage ascii - Guide
- Langage binaire - Guide
- Warning zone telechargement - Accueil - Outils
- Pascal langage - Télécharger - Édition & Programmation
- Téléchargement et streaming illégal : voici les adresses des sites pirates que les FAI vont bloquer - Accueil - Services en ligne