Probleme 1.#INF dans une boucle sur un tablea

Fermé
jerome - 15 oct. 2007 à 11:01
 jerome - 15 oct. 2007 à 11:18
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

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