I'd also like to chime in here and say that I think PDL's support of data types 
is too limited right now. It should at least support long double formats. It 
would be more than awesome if PDL would work on the full range of numeric data 
types commonly used in scientific software and data formats, but it doesn't 
even come close currently.

Some relevant lists:
HDF5:
http://www.hdfgroup.org/HDF5/doc/UG/11_Datatypes.html

HDF:
http://www.hdfgroup.org/training/HDFtraining/UsersGuide/Fundmtls.fm3.html

NetCDF:
http://www.unidata.ucar.edu/software/netcdf/docs/netcdf/CDL-Data-Types.html

It would make interfacing to these very common formats stupid easy without any 
additional memory or data storage expense that you get from using the current 
PDL interfaces to these formats...

-Judd

____________________________
Judd Taylor
Software Engineer

Orbital Systems, Ltd.
3807 Carbon Rd.
Irving, TX 75038-3415

[email protected]<mailto:[email protected]>
(972) 915-3669 x127
________________________________
From: MARK BAKER [[email protected]]
Sent: Friday, February 10, 2012 11:29 AM
To: "[email protected]"
Subject: Re: [Perldl] Large Number Support?

Im having the same problem
where my piddle gets clobbered

pdl> $a = pdl(34758935747354930567354689735940673659406798345);
pdl> p $a;
3.47589357473549e+046

and it clobbers it even if i use a string method

pdl> $a = pdl('34758935747354930567354689735940673659406798345');
pdl> p $a;
3.47589357473549e+046

is there any way to save the precision here and still use this matrix ?

Thanks & Cheers

-Mark R Baker
[email protected]

________________________________
From: Joel Berger <[email protected]>
To: Chris Marshall <[email protected]>
Cc: "[email protected]" <[email protected]>
Sent: Friday, February 10, 2012 7:21 AM
Subject: Re: [Perldl] Large Number Support?

I'm not sure how it interoperates with PDL (in fact I would guess it
can't) but if you need more digits you can look at bignum
(http://p3rl.org/bignum) which has been core since 5.8. Internally it
uses different classes for Int Float etc, but on the surface are used
like any other number in Perl (again probably not PDL).

On Fri, Feb 10, 2012 at 7:54 AM, Chris Marshall 
<[email protected]<mailto:[email protected]>> wrote:
> I think the problem is you are trying to use more
> significant digits than can be represented by
> IEEE double precision: about 15.95 decimal
> digits while your time values are 17 digits.  You
> can either bias your dates (maybe starting from
> 2000, e.g., 2000+xx so 2012->12) or use a 64bit
> integer type.
>
> --Chris
>
> On Fri, Feb 10, 2012 at 6:32 AM, chm 
> <[email protected]<mailto:[email protected]>> wrote:
>> Hi Cliff-
>>
>> Do you have a program showing the problem
>> with some input data?  What data type are
>> the piddles?  (help $mypdl in the shell)
>>
>> As for the output from the 'p' command
>> for a piddle, you're looking at some format
>> conversion of some pdl type and not the
>> raw data.  See PDL::Core for info on the
>> current format.
>>
>> Also, you might see if the example you
>> show for the PDL shell gives the same
>> output for the debugger session.
>>
>> --Chris
>>
>> P.S. Could you please wrap your text to
>> 72 characters so that the list archives
>> are readable as paragraphs.  I.e., for
>> this post:
>>
>>  http://mailman.jach.hawaii.edu/pipermail/perldl/2012-February/006432.html
>>
>> There appear to be problems with mac mail
>> that result in this happening.  No solution
>> other than hand folding/wrapping was found.
>>
>>
>>
>> On 2/9/2012 10:49 PM, Clifford Sobchuk wrote:
>>>
>>>
>>> Hi folks,
>>>
>>> I ran into a problem - or an effect, that I don't understand. There
>>> seems to be a number that is too big to be displayed. See the
>>> following code:
>>>
>>> pdl>  p 2**40 1099511627776
>>>
>>> pdl>  p 2**32*1.00001 4295010245.67296
>>>
>>> pdl>  p 2**36*1.00001 68720163930.7674
>>>
>>> pdl>  p 2**38*1.00001 274880655723.069
>>>
>>> My problem is that I am using a serialized value for the date and
>>> time - to millisecond precision. So the following represents :
>>> YYYYMMDDHHMMSS.msmsms
>>>
>>> DB<33>  p ${$myData{MC800BTS1494}{1}{1}{time}}[0] 20120206201813.220
>>>
>>> DB<34>  p ${$myData{MC800BTS1494}{1}{1}{time}}[1] 20120206201813.320
>>>
>>> DB<35>  p ${$myData{MC800BTS1494}{1}{1}{time}}[2] 20120206201813.420
>>>
>>> DB<36>  p ${$myData{MC800BTS1494}{1}{1}{time}}[4] 20120206201813.620
>>>
>>> You'll notice that there are two more digits displayed when they are
>>> in Perl but after I convert them into a PDL, I lose the last two
>>> digits. I didn't think that this was considered a BigFloat?
>>>
>>> Any thoughts. Thanks,
>>>
>>>
>>> CLIFF SOBCHUK Ericsson Core RF Engineering Calgary, AB, Canada Phone
>>> 613-667-1974  ECN 8109 x71974 Mobile 403-819-9233
>>> [email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>
>>>
>>> yahoo: sobchuk http://www.ericsson.com/
>>>
>>> "The author works for Telefonaktiebolaget L M Ericsson ("Ericsson"),
>>> who is solely responsible for this email and its contents. All
>>> inquiries regarding this email should be addressed to Ericsson. The
>>> web site for Ericsson is www.ericsson.com<http://www.ericsson.com>."
>>>
>>> This Communication is Confidential. We only send and receive email on
>>> the basis of the terms set out at
>>>
>>> www.ericsson.com/email_disclaimer<http://www.ericsson.com/email_disclaimer>
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________ Perldl mailing list
>>> [email protected]<mailto:[email protected]>
>>> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>>
>>
>
> _______________________________________________
> Perldl mailing list
> [email protected]<mailto:[email protected]>
> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

_______________________________________________
Perldl mailing list
[email protected]<mailto:[email protected]>
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl


_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to