Why are you using a serial number format in the first place? It requires more 
digits than can be expected from a double, and I can think of no mathematical 
advantage of using this over a decimal epoch format (which is seconds from 
1970, with milisec precision).

It's not like doing date1 + date2 in the serialized version is going to make 
any sense. If it were me, I'd just convert to the unix epoch with milisecs 
before putting it into the piddle variable. Then you have the advantage of 
date1 + date2, etc making sense.

-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