perl-Math-NV - assign correct value to perl's NV

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports i586
Package filename perl-Math-NV-2.01-alt1.i586.rpm
Package name perl-Math-NV
Package version 2.01
Package release alt1
Package architecture i586
Package type rpm
Category Development/Perl
Homepage -
License -
Maintainer -
Download size 53.45 KB
Installed size 53.45 KB
use Math::NV qw(:all);
my $nv = nv('1e-298'); # ie the number 10 ** -298
my($nv, $iv) = nv('1e-298');
The above snippet will assign a correct value for 1e-298 to $nv.
Doing simply "$nv = 1e-298;" may *not* do that. (The test suite
specifically checks and reports whether 1e-298 can correctly be
assigned directly to a perl scalar. It also checks some other
$iv is set to the number of characters in the input string that
were unparsed.
The nv() function assigns the value at the C (XS) level using
either the C function strtod() or strtold() - whichever is
appropriate for your perl's configuration.
Obviously, we are therefore relying upon absence of bugs in the
way your compiler/libc assigns strings to floats. (Hopefully, if
such bugs are present, this will become evident in the form of
failures in the module's test suite.)
For an NV $nv, it's not guaranteed that nv($nv) and nv("$nv")
will be equivalent. For example, on many of my 64-bit MS Win
builds of perl, a print() of nv('1e-298') will output 1e-298,
whereas a print() of nv(1e-298) outputs 9.99999999999999e-299.


Package Version Architecture Repository
perl-Math-NV-2.01-alt1.x86_64.rpm 2.01 x86_64 Autoimports
perl-Math-NV - - -


Name Value
/usr/lib/perl5 - - - - - - -
perl( -
perl(Math/ >= 4.070
perl-base >= 1:5.10.0
rpmlib(PayloadIsLzma) -
rpmlib(SetVersions) -
rtld(GNU_HASH) -


Name Value
perl(Math/ = 2.010
perl-Math-NV = 2.01-alt1


Type URL
Binary Package perl-Math-NV-2.01-alt1.i586.rpm
Source Package perl-Math-NV-2.01-alt1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    rpm [Sisyphus] i586 autoimports
    rpm [Sisyphus] noarch autoimports
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-Math-NV rpm package:
    # sudo apt-get install perl-Math-NV



See Also

Package Description
perl-Math-PRSG-1.0-alt4.1.i586.rpm perl module Math-PRSG
perl-Math-Preference-SVD-0.01-alt4.1.i586.rpm Perl extension for blah blah blah
perl-Math-Prime-FastSieve-0.19-alt4.1.i586.rpm Generate a list of all primes less than or equal
perl-Math-Rand48-1.00-alt4.1.i586.rpm perl module Math-Rand48
perl-Math-Random-0.72-alt3.1.i586.rpm Random Number Generators
perl-Math-Random-BlumBlumShub-0.06-alt3.1.i586.rpm the Blum-Blum-Shub pseudorandom bit generator
perl-Math-Random-Brownian-0.03-alt4.1.i586.rpm perl module Math-Random-Brownian
perl-Math-Random-MT-1.17-alt3.1.i586.rpm The Mersenne Twister PRNG
perl-Math-Random-MT-Auto-6.23-alt3_2.i586.rpm Auto-seeded Mersenne Twister PRNGs
perl-Math-Random-MTwist-0.23-alt2.1.i586.rpm A fast stateful Mersenne Twister pseudo-random number generator
perl-Math-Random-MicaliSchnorr-0.06-alt3.1.i586.rpm the Micali-Schnorr pseudorandom bit generator
perl-Math-Random-PCG32-0.12-alt1.1.i586.rpm minimal PCG random number generator
perl-Math-Random-TT800-1.01-alt4.1.i586.rpm perl module Math-Random-TT800
perl-Math-Random-Xorshift-0.05-alt4.1.i586.rpm a fast PRNG
perl-Math-SZaru-0.01-alt3.1.i586.rpm Perl wrapper for the SZaru C++ library