Hi,
wieck@debis.com (Jan Wieck) wrote:
>
> Tom Lane wrote:
> > If we thought that the math functions (sqrt, exp, etc) for numerics
> > were really getting used for anything, it might also be fun to try
> > to put in some better algorithms for them. I've got a copy of Cody
> > and Waite, which has been the bible for such things for twenty years.
> > But my guess is that it wouldn't be worth the trouble, except to the
> > extent that it speeds up the regression tests ;-)
>
(snip)
>
> Thus, usually the precision of float8 should be more than
> enough for those calculations. Making NUMERIC able to handle
> these functions in it's extreme precision shouldn't really be
> that time critical.
>
There are no problem concerning the NUMERIC test of INSERT/
SELECT and add/subtract/multiply/division. The only problem is
the processing time.
One solution which solves this problem is to change the argument
into *float8*. If the following changes are done, the processing
will become high-speed than a previous about 10 times.
File :"src/regress/sql/numeric.sql" Statement:"INSERT INTO num_result SELECT id, 0,
POWER('10'::numeric,LN(ABS(round(val,300)))..."
Change: "LN(ABS(round(val,300))))" to: "LN(float8(ABS(round(va,300))))"
# Another solution is to automatically convert the argument of the LOG function into double precision data type in the
*inside*.(But, I do not know what kind of effect will be caused by this solution.)
--
Regards.
SAKAIDA Masaaki <sakaida@psn.co.jp>
Osaka, Japan