acx01b
Messages postés280Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention 8 juillet 2014
-
8 mars 2007 à 21:07
jacquesleps
Messages postés1Date d'inscriptionmardi 25 mars 2008StatutMembreDernière intervention25 mars 2008
-
25 mars 2008 à 20:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
jacquesleps
Messages postés1Date d'inscriptionmardi 25 mars 2008StatutMembreDernière intervention25 mars 2008 25 mars 2008 à 20:14
je présume que tu veux dire:
int i;
d[0] = 0; // et pas tab
for (i=0; i < 2*n-1; i++) {
c = a*c-b*d[i];
d[i+1] = a*d[i]+b*c;
}
cs_arb
Messages postés40Date d'inscriptionlundi 18 février 2002StatutMembreDernière intervention 5 novembre 20124 11 avril 2007 à 01:36
Super et très intéressant : le hic : je n'ai pas VCC. Puis je porter tout ça sous DEVCPP sans trop d'encombre ou un autre?
Merci de votre aide.
cs_max12
Messages postés1491Date d'inscriptiondimanche 19 novembre 2000StatutModérateurDernière intervention 7 juillet 2014 9 mars 2007 à 16:25
EnterCriticalSection sert à faire de la synchronisation de thread donc à bloquer ceux-ci tant que la section n'est pas libéré donc sa n'a rien à voir :P Il faut utiliser SetThreadPriority dans ce cas :)
Taron31
Messages postés199Date d'inscriptionvendredi 16 avril 2004StatutMembreDernière intervention28 février 2008 9 mars 2007 à 13:12
si tu veux être encore plus performant, tu peux coder en asm inline avec la FPU les calculs des flottants...
gabuzomeuh
Messages postés53Date d'inscriptionjeudi 31 juillet 2003StatutMembreDernière intervention28 mars 2007 8 mars 2007 à 22:09
Quand la fenêtre est réduite ou restaurée, il y a une courte interruption du processus.
Doit-on utiliser un thread ou un SetPriorityClass ou un EnterCriticalSection ?
acx01b
Messages postés280Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention 8 juillet 20146 8 mars 2007 à 21:10
troisième essai...
double angle = 2*M_PI/n;
double a = cos(angle);
double b = sin(angle);
double c = 1;
double d[2*n];
int i;
tab[0] = 0;
for (i=0; i < 2*n-1; i++) {
c = a*c-b*d[i];
d[i+1] = a*d[i]+b*c;
}
dans le tableau d tu as alors toute ta période
acx01b
Messages postés280Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention 8 juillet 20146 8 mars 2007 à 21:08
dans le tableau d pardon
acx01b
Messages postés280Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention 8 juillet 20146 8 mars 2007 à 21:07
salut,
il est plus intéressant au niveau performance je pense de calculer les points de la sinusoïde à l'aide des complexes
(a+ib)(c+id) = (ac-bd) + i(ad+bc)
double angle = 2*M_PI/n;
double a = cos(angle);
double b = sin(angle);
double c = 1;
double d[4*n];
int i;
tab[0] = 0;
for (i=1; i < 2*n; i++) {
tmp = a*c-b*d[2*i-2];
tab[2*i] = a*d[2*i-2]+b*c;
}
25 mars 2008 à 20:14
int i;
d[0] = 0; // et pas tab
for (i=0; i < 2*n-1; i++) {
c = a*c-b*d[i];
d[i+1] = a*d[i]+b*c;
}
11 avril 2007 à 01:36
Merci de votre aide.
9 mars 2007 à 16:25
9 mars 2007 à 13:12
8 mars 2007 à 22:09
Doit-on utiliser un thread ou un SetPriorityClass ou un EnterCriticalSection ?
8 mars 2007 à 21:10
double angle = 2*M_PI/n;
double a = cos(angle);
double b = sin(angle);
double c = 1;
double d[2*n];
int i;
tab[0] = 0;
for (i=0; i < 2*n-1; i++) {
c = a*c-b*d[i];
d[i+1] = a*d[i]+b*c;
}
dans le tableau d tu as alors toute ta période
8 mars 2007 à 21:08
8 mars 2007 à 21:07
il est plus intéressant au niveau performance je pense de calculer les points de la sinusoïde à l'aide des complexes
(a+ib)(c+id) = (ac-bd) + i(ad+bc)
double angle = 2*M_PI/n;
double a = cos(angle);
double b = sin(angle);
double c = 1;
double d[4*n];
int i;
tab[0] = 0;
for (i=1; i < 2*n; i++) {
tmp = a*c-b*d[2*i-2];
tab[2*i] = a*d[2*i-2]+b*c;
}
dans le tableau c tu as alors toute ta période
a+