Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I set the level of precision for Perl's bignum?

I'm trying to use the bignum module in Perl and want to set the precision. I know this can be done via a one liner as detailed on the module's CPAN page:

$ perl -Mbignum=p,-50 -le 'print sqrt(20)'

...which will print out the square root of 20 to 50 digits of precision, but what I'm wondering is if there's anyway to set the precision within a script, i.e. something like:

#!/usr/bin/perl
use bignum;

setPrecision(-50);
print sqrt(20);

I've searched around here, Google, and PerlMonks without any luck so far. Thanks in advance.

like image 273
theraccoonbear Avatar asked Feb 03 '23 07:02

theraccoonbear


1 Answers

Per Anon.'s suggestion:

#!/usr/bin/perl

use strict;
use warnings;

use bignum ( p => -50 );

print sqrt(20);

You might like to look at the docs for Math::BigFloat and Math::BigInt which bignum makes use of.

like image 147
martin clayton Avatar answered Mar 04 '23 03:03

martin clayton