Probleme 1.#INF dans une boucle sur un tablea

jerome -  
 jerome -
Bonjour,

J'essaie de faire une boucle simple sur un tableau mais j'obtiens en résult 1.#INF. Je l'ai passé en dynamique (sa taille est grande, je me suis dit ca peut aider) et ca n'arrange rien.

Voici le code, si vous pouvez m'aider (vite) merci beaucoup! Tous les calculs avant la boucle finale sont bons (j'ai vérifié grace aux cout<<)

inline double eur_option::compute_price_mc(mkt market)
{
double brownian,final_stock;
double * payoff;
payoff=new double[10000];
double price;
//std::vector<double> payoff( 10000 );

//cout<<"pow"<<1/pow(252,0.5)<<endl;
for (int j=0;j<10000;++j)
{
brownian=0;
for (int i=0;i<maturity*252;++i)
brownian=brownian-0.5*pow(market.return_vol(),2)/252+market.return_vol()*gaussienne()/pow(252,0.5);
//cout<<brownian<<endl;
final_stock=market.return_under_0()*exp(brownian);
//cout<<"final"<<final_stock<<endl;;
if (type=="c")
{
if(final_stock>strike)
{
payoff[j]=(final_stock-strike)/10000;
//cout<<payoff[j];
}
}
if(type=="p")
{
if(final_stock<strike)
payoff[j]=-(final_stock-strike)/10000;
}
}

for (int i=0;i<10000;++i)
{
price +=payoff[i];
cout<<price;
}
delete[] payoff;
return price;
}

1 réponse

jerome
 
en fait, même si je ne me sers pas du tableau, et j'incrémente une variable "price" out au long de la boucle, j'obtiens aussi 1.#INF. Appeler une variable locale 10000 fois représente-t-il un probleme pour la mémoire?

Merci
0