Skip site navigation (1) Skip section navigation (2)

Re: Arbitrary precision arithmatic with pgsql

From: Rajesh Kumar Mallah <mallah(at)trade-india(dot)com>
To: Michael Glaesemann <grzm(at)myrealbox(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Arbitrary precision arithmatic with pgsql
Date: 2004-08-31 12:37:33
Message-ID: 4134710D.70501@trade-india.com (view raw or flat)
Thread:
Lists: pgsql-sql
Michael Glaesemann wrote:

>
> On Aug 31, 2004, at 8:55 PM, Rajesh Kumar Mallah wrote:
>
>> The docs says that numeric type supports numbers upto
>> any precision
>
>
> <snip />
>
>> However
>>
>> tradein_clients=# SELECT  cast(2^100 as numeric);
>
>
> <snip />
>
>> 1. Does the specs not require pgsql to print a warning or info ,
>>   will it not be considered silient truncation of data.
>
>
> AFAICS, the issue here is not the cast per se, but rather the power 
> operation (2^100), which expects a double precision argument. This 
> operation happens before the cast.


Looks like the power operation of numeric ie, numeric ^ numeric  already 
exists
but it returns a double precision and the accuracy is getting lost. Shud 
numeric
^ numeric  not be returning numeric instead?

Regds
mallah.

tradein_clients=# CREATE TABLE t_a as SELECT  1::numeric ^ 1::numeric  
as col;
SELECT
tradein_clients=# \d t_a
           Table "public.t_a"
+--------+------------------+-----------+
| Column |       Type       | Modifiers |
+--------+------------------+-----------+
| col    | double precision |           |
+--------+------------------+-----------+





>
>> 2. Is there any way to do such calculation using pgsql, i understand
>>   bc is a better tool for it.
>
>
> What you need is a power operation for numeric, which I think you'd 
> have to write yourself, possibly leveraging one of the procedural 
> languages (perhaps pl/perl) to access such an operation (as you 
> yourself mentioned). I'm sure you could find an algorithm to port to 
> PL/pgsql as well.
>
> Hope this helps.
>
> Michael Glaesemann
> grzm myrealbox com
>
>
> !DSPAM:41346ebe315451222497446!
>
>


-- 

regds
Mallah.

Rajesh Kumar Mallah
+---------------------------------------------------+
| Tradeindia.com  (3,11,246) Registered Users 	    | 
| Indias' Leading B2B eMarketPlace                  |
| http://www.tradeindia.com/			    |
+---------------------------------------------------+


In response to

pgsql-sql by date

Next:From: Michael GlaesemannDate: 2004-08-31 12:41:22
Subject: Re: Arbitrary precision arithmatic with pgsql
Previous:From: Martin MarquesDate: 2004-08-31 12:32:36
Subject: Re: colored PL with emacs

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group