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
