Örvitinn

Námundun

Ég sá fyrir stuttu kóða sem gekk út á að námunda rauntölu að næstu heiltölu í forriti sem ég er að viðhalda. Þegar ég las yfir kóðann rifjaði ég upp miklu styttri og einfaldari aðferð til að gera sama hlut.

Svona lítur þessi kóði út.

int round(double db)
{
    int whole = fabs(db); // fabs skilar heiltöluhluta tölunnar
    double remainder = db - whole;
    if (remainder >= 0.5)
    {
        return ceil(db);
    }
    else
        return floor(db);
}

Einfalda aðferðin er svona:

int round(double db) {
   return floor(db+0.5);
}

Þetta er náttúrulega afskaplega ómerkilegt en mér finnst lúmskt gaman þegar ég get eytt kóða.

forritun
Athugasemdir

Már - 22/02/06 00:38 #

Ack, þetta efra er hræðilegt fall. Það neðra er svo einfalt að það liggur við að það sé óþarft að skilgreina það sem sér aðgerð. :-)

Þegar maður vinnur með (annara manna) Javascript, þá rekst maður ósjaldan á svona hrylling.

Matti - 22/02/06 11:57 #

Það er verst þegar maður finnur sambærilegan kóða, blótar bjánanum sem skrifaði hann og fattar svo að það var maður sjálfur fyrir nokkrum árum. Ekki það að ég hafi upplifað það :-)

jogus - 22/02/06 12:17 #

Það er afar undarlega þægileg tilfinning sem fæst við að eyða kóða. Ekkert síður manns eigin en annarra.