Erreur "Expression must have integral type"
Résolu
maniqk
-
maniqk -
maniqk -
Bonjour,
Le message d'erreur du titre est affiché avec le code suivant :
La fonction _fto128(float,float,float,float) me rassemble 4 floats en une seule variable de 128 bits. La fonction _get32f_128() récupère 32 bits d'une variable de 128 bits (pour récupérer mes valeurs) et la fonction _qmpysp(a,b) multiplie a et b.
J'ai donc le message d'erreur qui s'affiche pour chaque instruction où il y a l'une de ces fonctions. Cependant, j'ai aussi fait ceci dans un autre projet, avec le code suivant, et là pas d'erreur :
Si quelqu'un a eu la motiv de tout lire, voit il la différence entre ces deux programmes ? Je ne vois pas pourquoi l'un toune et pas l'autre...
Merci d'avance !
maniqk
Le message d'erreur du titre est affiché avec le code suivant :
void LU_simple(float *tableau, int nombreLignes, float nombreColonnes){ int i = 0, j = 0, k = 0, l = 0; __x128_t a,b; float var1 = nombreColonnes/4; int var2 = var1; int var3 = nombreColonnes - 4*var2; while(k < nombreColonnes){ for(l = k; l<nombreColonnes-1 ; l++){ j = 0; b = _fto128(tableau[k*nombreColonnes+(l+1)],tableau[k*nombreColonnes+(l+1)],tableau[k*nombreColonnes+(l+1)],tableau[k*nombreColonnes+(l+1)]); while(j<=var2){ if(4*j+4 < nombreColonnes){ a = _fto128(tableau[(j+4)*nombreColonnes+k],tableau[(j+3)*nombreColonnes+k],tableau[(j+2)*nombreColonnes+k],tableau[(j+1)*nombreColonnes+k]); tableau[(4*j+1)*nombreColonnes+(l+1)] -= _get32f_128(_qmpysp(a,b),0); tableau[(4*j+2)*nombreColonnes+(l+1)] -= _get32f_128(_qmpysp(a,b),1); tableau[(4*j+3)*nombreColonnes+(l+1)] -= _get32f_128(_qmpysp(a,b),2); tableau[(4*j+4)*nombreColonnes+(l+1)] -= _get32f_128(_qmpysp(a,b),3); j++; } else{ for(i = 0; i < var3; i++){ tableau[(4*var2+i+1)*nombreColonnes+(l+1)] -= tableau[(4*var2+(i+1))*nombreColonnes+k]*tableau[k*nombreColonnes+(l+1)]; // J'ai enlevé ici toutes les accolades fermantes pour gain de place sur le forum
La fonction _fto128(float,float,float,float) me rassemble 4 floats en une seule variable de 128 bits. La fonction _get32f_128() récupère 32 bits d'une variable de 128 bits (pour récupérer mes valeurs) et la fonction _qmpysp(a,b) multiplie a et b.
J'ai donc le message d'erreur qui s'affiche pour chaque instruction où il y a l'une de ces fonctions. Cependant, j'ai aussi fait ceci dans un autre projet, avec le code suivant, et là pas d'erreur :
int main(){ float a1 = 30.5; float b1 = -5.3; float c1 = 3.1; float d1 = 1.5; float a2 = 0.5; float b2 = 2.3; float c2 = -9.0; float d2 = 3.5; __x128_t premier = _fto128(a1,b1,c1,d1); __x128_t deuxieme = _fto128(a2,b2,c2,d2); __x128_t resultat = _qmpysp(premier,deuxieme); float A,B,C,D; A = _get32f_128(resultat,0); B = _get32f_128(resultat,1); C = _get32f_128(resultat,2); D = _get32f_128(resultat,3); printf("A = %f, B = %f, C = %f, D = %f",A,B,C,D); return 0; }
Si quelqu'un a eu la motiv de tout lire, voit il la différence entre ces deux programmes ? Je ne vois pas pourquoi l'un toune et pas l'autre...
Merci d'avance !
maniqk
A voir également:
- Expression must have integral type c
- Bbox must - Accueil - Guide box et connexion Internet
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Clear type - Guide
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
- Microsoft expression encoder - Télécharger - Divers Utilitaires
3 réponses
Hm ok dommage que je puisse pas supprimer le post :/
C'était juste à côté des arguments de mon tableau, il faut forcément un int dedans et il n'aime pas le "float nombreColonnes" qui est en argument dans la fonction !
Problem solved...
C'était juste à côté des arguments de mon tableau, il faut forcément un int dedans et il n'aime pas le "float nombreColonnes" qui est en argument dans la fonction !
Problem solved...