[Perldl] Large Number Support?

Joel Berger joel.a.berger at gmail.com
Fri Feb 10 05:21:14 HST 2012


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 <devel.chm.01 at gmail.com> 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 <devel.chm.01 at gmail.com> 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
>>> clifford.sobchuk at ericsson.com<mailto:clifford.sobchuk at ericsson.com>
>>>
>>> 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."
>>>
>>> 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
>>> Perldl at jach.hawaii.edu
>>> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>>
>>
>
> _______________________________________________
> Perldl mailing list
> Perldl at jach.hawaii.edu
> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl




More information about the Perldl mailing list