Complete.Org: Mailing Lists: Archives: freeciv-dev: April 2005:
[Freeciv-Dev] Re: (PR#12834) amortize()
Home

[Freeciv-Dev] Re: (PR#12834) amortize()

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: bdunstan149@xxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#12834) amortize()
From: "Benoit Hudson" <bh@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 18 Apr 2005 19:42:47 -0700
Reply-to: bugs@xxxxxxxxxxx

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=12834 >

On Mon, Apr 18, 2005 at 02:47:03PM -0700, Brian Dunstan wrote:
> 
> <URL: http://bugs.freeciv.org/Ticket/Display.html?id=12834 >
> 
> I noticed that the amortize() function uses a very
> clever, but complicated, algorithm.

This code is astounding.  Why don't we do this calculation in
floating-point?  It would be (with casts to doubles made beforehand):
        double discount = 1.0 - 1.0 / ((double)MORT);
        return benefit * pow(discount, delay);
or
        return (int) (benefit * pow(discount,delay) + 0.5);
if you want to round.

        -- Benoît





[Prev in Thread] Current Thread [Next in Thread]