From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | lockhart(at)fourpalms(dot)org, j(dot)richter(at)wallstreet-develop(dot)de, pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: Bug #534: factorial function |
Date: | 2001-12-29 20:40:13 |
Message-ID: | 200112292040.fBTKeDr04534@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
> Thomas Lockhart <lockhart(at)fourpalms(dot)org> writes:
> >> ... I'd be sorely tempted to replace all three by a single
> >> function that takes integer and returns numeric.
>
> > Yikes. Although numeric is theoretically nice, it is hundreds of times
> > slower than native doubles.
>
> (a) As a wise man once said, "I can make it arbitrarily fast, if it
> doesn't have to give the right answer". (b) The factorial function
> doesn't strike me as a performance bottleneck. (c) I have no objection
> to offering a double-precision-based gamma function alongside the
> integer factorial function. But I think factorial should give an exact
> answer as far as is possible before it overflows.
float8 is the wrong way to go with factorial. It is imprecise and only
goes to 69!. Numeric seems like the way to go with this function.
Added to TODO:
* Change factorial to return a numeric
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | pgsql-bugs | 2001-12-31 16:50:03 | Bug #546: un-pg_restore-able pg_dump |
Previous Message | guard | 2001-12-29 17:07:42 | pl/tcl for cygwin not install |