Bonjour bonjour,
j'ai un petit bout de code qui ressemble a ca :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
    for(i=1;i<X;i++)
    {
	mac_(&a0, *W16_ptr_Hn--, **W16_ptr_Xn);

        //increment position
        (*W16_ptr_Xn)++;

        //Circular Xn Buffer
        if (*W16_ptr_Xn == adr_end_W16_Xn)
        (*W16_ptr_Xn) = adr_start_W16_Xn;
    }
J'aimerais virer toute la partie en vert afin de la rendre transparente et obtenir un truc comme ca :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
    for(i=1;i<X;i++)
    {
	mac_(&a0, *W16_Hn--, **W16_Xn++);
    }
Forcement le **W16_Xn++ est faux, et de toute facon ne represente pas l'operation, que je souhaite effectuer, dans son ensemble.
PS : (c'est bizarre que Hn-- marche mais pas Xn++ .... les deux representent la valeur du buffer a l'adresse W16_Hn ou *W16_Xn)
Donc j'ai pour le moment une seule solution en tete :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
    for(i=1;i<X;i++)
    {
	C_mac_(&a0, *W16_Hn, **W16_Xn);
    }
puis je code C_mac_ de la facon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
	mac_(&a0, *W16_Hn--, **W16_Xn);
        (*W16_ptr_Xn)++;
 
        //Circular Xn Buffer
        if (*W16_ptr_Xn == adr_end_W16_Xn)
        (*W16_ptr_Xn) = adr_start_W16_Xn;

Je souhaite rendre ce process transparent pour des raisons inavouables

Enfin bref, ma question est la suivante :
Est-ce la seule solution ou je peux redefinir les operateurs++ pour ce cas precis. J'aimerais quelque chose de plus sexy que ma vieille solution minable

Merci d'avance