Posté par reno .
En réponse au journal Parlons C, parlons pipe !.
Évalué à 2.
Dernière modification le 22 août 2012 à 16:51.
Tes char tiennent sur 7bits, les originaux sur 8bits sinon c'est amusant comme idée: maximiser la performance du push, au détriment d'avoir un pop/read lent.
Autre méthode avec le même stockage qu'à l'origine:
staticinlinecharfifo_read(fifo_t*f){charres;int8cnt=0;fifo_tcopie=*f;do{res=copie&0x7f;/*on peut calculer res après aussi */copie>>=8;cnt++;}while(copie!=0);*f&=~((1<<8*cnt)-1);returnres;}
Après il y a des fonctions qui donne le numéro du bit de poids fort qui peuvent être plus performante mais moins portable.
[^] # Re: compteur ?
Posté par reno . En réponse au journal Parlons C, parlons pipe !. Évalué à 2. Dernière modification le 22 août 2012 à 16:51.
Tes char tiennent sur 7bits, les originaux sur 8bits sinon c'est amusant comme idée: maximiser la performance du push, au détriment d'avoir un pop/read lent.
Autre méthode avec le même stockage qu'à l'origine:
Après il y a des fonctions qui donne le numéro du bit de poids fort qui peuvent être plus performante mais moins portable.