ODE ET PORTRAIT DE PHASE

Bel0 Messages postés 71 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 14 septembre 2007 - 26 août 2006 à 09:54
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 - 26 août 2006 à 12:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39269-ode-et-portrait-de-phase

cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
26 août 2006 à 12:39
Pour le AssertMatrix, effectivement il y a un probleme, Kirua me l'avait deja fait remarquer, et j'ai oublie de le changer
Sinon bonne idee pour eviter le gaspillage de temps.
Bel0 Messages postés 71 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 14 septembre 2007
26 août 2006 à 10:53
Même remarque que dans mon premier post dans la fonction InitDbgMatrix

Sinon, j'ai aussi remarqué que ton programme consommait tout le cpu disponible même s'il n'y avait aucune simulation en court. J'ai rajouté dans ton code un petit bout qui règle ce problème.

while(TRUE)
{
if(PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
{
if(msg.message == WM_QUIT)
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
if(nbChild == 0)
Sleep(50);
else
SendMessage(hwnd, WM_FREETIME, 0, 0);
}
}

nbChild est une variables static dans le fichier main.c qui est initialisée à 0, augmentée de 1 à la fin de la fonction createChildWindow et diminuée de 1 dans le WM_DESTROY de la fonction ChildWndProc.
Bel0 Messages postés 71 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 14 septembre 2007
26 août 2006 à 09:54
J'ai fini de jouer avec le programme et sa réalisation est très bien faite. Bravo.

Je viens de commencer à plonger dans le code et là aussi la qualité du code est relativement bonne ! :)

Au passage tu vas pouvoir corriger ton premier bug :P
void _AssertMatrix(P_MATRIX p,BOOL bCheckVals)
{

AssertPointer(p);
AssertMalloc(p);
Assert(p->nx > 0);
Assert(p->ny > 0);

if(bCheckVals)
{
int i,j;

for(j=0;iny;j++)
{
for(i=0;inx;i++)
{
AssertDouble(p->vals[p->nx*j + i]);
}
}
}

PopErrorMacro();
}

-> Ca devrait pas être j dans la condition de la première boucle ?

Je continue à chercher.