Re: Numeric x^y for negative x - Mailing list pgsql-hackers

From Dean Rasheed
Subject Re: Numeric x^y for negative x
Date
Msg-id CAEZATCXARqKNk57P+00v9RnpOhL13s04RmBHNrY9sTRv_Vev1g@mail.gmail.com
Whole thread Raw
In response to Re: Numeric x^y for negative x  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: Numeric x^y for negative x
List pgsql-hackers
On Mon, 13 Sept 2021 at 17:51, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>
> I came here just to opine that there should be a comment about there not
> being a clamp to the maximum scale.  For example, log_var says "Set the
> scales .. so that they each have more digits ..." which seems clear
> enough; I think the new comment is a bit on the short side.
>

OK, that's a fair point. Updated version attached.

> I couldn't get bc (version 1.07.1) to output the result; it says
>
> Runtime warning (func=(main), adr=47): non-zero scale in exponent
> Runtime error (func=(main), adr=47): exponent too large in raise
>

Ah yes, bc's "^" operator is a bit limited. It doesn't support
fractional powers for example, and evidently doesn't like powers that
large. I'm so used to not using it that I didn't notice - I always
just use exp() and ln() in bc to compute powers:

scale=2000
e(l(1 - 1.500012345678*10^-1000) * 1.45*10^1003) * 10^1000

Regards,
Dean

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: PG Docs - CREATE SUBSCRIPTION option list order
Next
From: "Bossart, Nathan"
Date:
Subject: Re: Estimating HugePages Requirements?