🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #18440

Re: Una ayuda please :), piruleta por medio.

#18440
From: quasimodo_TEM
Date: Tue, 07 Sep 1999 00:00
92 lines
3266 bytes
*puntero_loco wrote:

>  el programa sin chorraditas quedar�a:
>
> void send(int* to, int* from, int count)
> {
>         int n = (count+7)/8;
>         switch(count%8) {
>         case 0: do {
>                 *to++ = *from++;
>                 } while (--n>0);
>        case 7:         *to++ = *from++;
>        case 6:         *to++ = *from++;
>        case 5:         *to++ = *from++;
>        case 4:         *to++ = *from++;
>        case 3:         *to++ = *from++;
>        case 2:         *to++ = *from++;
>        case 1:         *to++ = *from++;
>         }
> }

Discrepo: empleando una sintaxis m�s ortodoxa, su
equivalente ser�a esto:

void send(int* to, int* from, int count)
{
        int n = (count+7)/8;
        do {
        switch(count%8) {
        case 0:  do {
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
             } while (--n>0);
             break;
        case 1:  do {
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
             } while (--n>0);
             break;
         case 2: do {
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
             } while (--n>0);
             break;
         case 3: do {
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
             } while (--n>0);
             break;
         case 4: do {
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
             } while (--n>0);
             break;
         case 5: do {
                  *to++ = *from++;
                  *to++ = *from++;
                  *to++ = *from++;
             } while (--n>0);
             break;
         case 6: do {
                  *to++ = *from++;
                  *to++ = *from++;
             } while (--n>0);
             break;
         case 7: do {
                  *to++ = *from++;
             } while (--n>0);
         }
 }

... que SI es inteligible.
Technical Details
Message-ID: <37D43E49.44A4F402@euskalnet.net>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <37D2B3AB.CC6C91AF@teleline.es> <fkruq7.hb1.ln@127.0.0.1>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII
X-Google-Thread: f86c8,ec38c86f5338aad7
X-Google-Attributes: gidf86c8,public
From: quasimodo_TEM <kuskiSKIPTHIS@euskalnet.net>
Subject: Re: Una ayuda please :), piruleta por medio.
Date: 1999/09/07
Message-ID: <37D43E49.44A4F402@euskalnet.net>
X-Deja-AN: 521867603
Content-Transfer-Encoding: 8bit
References: <37D2B3AB.CC6C91AF@teleline.es> <fkruq7.hb1.ln@127.0.0.1>
Organization: escasa o nula
Content-Type: text/plain; charset=iso-8859-1
Mime-Version: 1.0
Newsgroups: es.comp.os.linux.programacion