Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Math::BigInt Newbee question.

by Paladin (Priest)
on Jan 27, 2005 at 16:57 UTC ( #425624=note: print w/ replies, xml ) Need Help??


in reply to Math::BigInt Newbee question.

When I run that code, I get

$ perl whomany.pl 2 675 Global symbol "$arg2" requires explicit package name at test.pl line 2 +0. Execution of test.pl aborted due to compilation errors.

So I am guessing that the code you pasted is not the code that's actually running. You don't declare $arg2 and are missing ->new in a few places.

Also, bdiv and bmul modify inplace. I believe what you were trying to write is:

#!/usr/bin/perl -w use strict; use Math::BigInt; #BigInt KiloByte Unit my $KB = Math::BigInt->new( "1024" ); #BigInt MegaByte Unit my $MB = $KB->copy()->bmul( $KB ); #BigInt GigaByte Unit my $GB = $MB->copy()->bmul( $KB ); print "$KB, $MB, $GB\n"; my $arg1 = Math::BigInt->new( shift ); my $arg2 = Math::BigInt->new( shift ); # arg1 is in GBs my $GBarg1 = $arg1->copy()->bmul( $GB ); # arg2 is in MBs my $MBarg2 = $arg2->copy()->bmul( $MB ); print $GBarg1, " ", $MBarg2, "\n"; # why rc is 0? my ($rc, $rem) = $GBarg1->copy()->bdiv( $MBarg2 ); print "rc is [$rc]\n";
Note: Also, to be really correct, you will need to add 1 more CD to the final result to take up the remainder of the data.

Update: Clean up code a bit


Comment on Re: Math::BigInt Newbee question.
Select or Download Code
Replies are listed 'Best First'.
Re^2: Math::BigInt Newbee question.
by ikegami (Pope) on Jan 27, 2005 at 17:20 UTC

    I think you can also do my $MB = $KB * $KB; instead of my $MB = $KB->copy()->bmul( $KB ); thanks to overloaded operators.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://425624]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (9)
As of 2015-08-01 01:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (285 votes), past polls