Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.199.699 Times

Math::BigInt 1.87

  Date Added: May 22, 2010  |  Visits: 1.051

Math::BigInt

Report Broken Link
Printer Friendly Version


Product Homepage
Download (89 downloads)



Math::BigInt is an arbitrary size integer/float math package. SYNOPSIS use Math::BigInt; # or make it faster: install (optional) Math::BigInt::GMP # and always use (it will fall back to pure Perl if the # GMP library is not installed): # will warn if Math::BigInt::GMP cannot be found use Math::BigInt lib => GMP; # to supress the warning use this: # use Math::BigInt try => GMP; my $str = 1234567890; my @values = (64,74,18); my $n = 1; my $sign = -; # Number creation my $x = Math::BigInt->new($str); # defaults to 0 my $y = $x->copy(); # make a true copy my $nan = Math::BigInt->bnan(); # create a NotANumber my $zero = Math::BigInt->bzero(); # create a +0 my $inf = Math::BigInt->binf(); # create a +inf my $inf = Math::BigInt->binf(-); # create a -inf my $one = Math::BigInt->bone(); # create a +1 my $mone = Math::BigInt->bone(-); # create a -1 my $pi = Math::BigInt->bpi(); # returns 3 # see Math::BigFloat::bpi() $h = Math::BigInt->new(0x123); # from hexadecimal $b = Math::BigInt->new(0b101); # from binary $o = Math::BigInt->from_oct(0101); # from octal # Testing (dont modify their arguments) # (return true if the condition is met, otherwise false) $x->is_zero(); # if $x is +0 $x->is_nan(); # if $x is NaN $x->is_one(); # if $x is +1 $x->is_one(-); # if $x is -1 $x->is_odd(); # if $x is odd $x->is_even(); # if $x is even $x->is_pos(); # if $x >= 0 $x->is_neg(); # if $x < 0 $x->is_inf($sign); # if $x is +inf, or -inf (sign is default +) $x->is_int(); # if $x is an integer (not a float) # comparing and digit/sign extraction $x->bcmp($y); # compare numbers (undef,<0,=0,>0) $x->bacmp($y); # compare absolutely (undef,<0,=0,>0) $x->sign(); # return the sign, either +,- or NaN $x->digit($n); # return the nth digit, counting from right $x->digit(-$n); # return the nth digit, counting from left # The following all modify their first argument. If you want to preserve # $x, use $z = $x->copy()->bXXX($y); See under L for why this is # necessary when mixing $a = $b assignments with non-overloaded math. $x->bzero(); # set $x to 0 $x->bnan(); # set $x to NaN $x->bone(); # set $x to +1 $x->bone(-); # set $x to -1 $x->binf(); # set $x to inf $x->binf(-); # set $x to -inf $x->bneg(); # negation $x->babs(); # absolute value $x->bnorm(); # normalize (no-op in BigInt) $x->bnot(); # twos complement (bit wise not) $x->binc(); # increment $x by 1 $x->bdec(); # decrement $x by 1 $x->badd($y); # addition (add $y to $x) $x->bsub($y); # subtraction (subtract $y from $x) $x->bmul($y); # multiplication (multiply $x by $y) $x->bdiv($y); # divide, set $x to quotient # return (quo,rem) or quo if scalar $x->bmuladd($y,$z); # $x = $x * $y + $z $x->bmod($y); # modulus (x % y) $x->bmodpow($exp,$mod); # modular exponentation (($num**$exp) % $mod)) $x->bmodinv($mod); # the inverse of $x in the given modulus $mod $x->bpow($y); # power of arguments (x ** y) $x->blsft($y); # left shift in base 2 $x->brsft($y); # right shift in base 2 # returns (quo,rem) or quo if in scalar context $x->blsft($y,$n); # left shift by $y places in base $n $x->brsft($y,$n); # right shift by $y places in base $n # returns (quo,rem) or quo if in scalar context $x->band($y); # bitwise and $x->bior($y); # bitwise inclusive or $x->bxor($y); # bitwise exclusive or $x->bnot(); # bitwise not (twos complement) $x->bsqrt(); # calculate square-root $x->broot($y); # $yth root of $x (e.g. $y == 3 => cubic root) $x->bfac(); # factorial of $x (1*2*3*4*..$x) $x->bnok($y); # x over y (binomial coefficient n over k) $x->blog(); # logarithm of $x to base e (Eulers number) $x->blog($base); # logarithm of $x to base $base (f.i. 2) $x->bexp(); # calculate e ** $x where e is Eulers number $x->round($A,$P,$mode); # round to accuracy or precision using mode $mode $x->bround($n); # accuracy: preserve $n digits $x->bfround($n); # round to $nth digit, no-op for BigInts # The following do not modify their arguments in BigInt (are no-ops), # but do so in BigFloat: $x->bfloor(); # return integer less or equal than $x $x->bceil(); # return integer greater or equal than $x # The following do not modify their arguments: # greatest common divisor (no OO style) my $gcd = Math::BigInt::bgcd(@values); # lowest common multiplicator (no OO style) my $lcm = Math::BigInt::blcm(@values); $x->length(); # return number of digits in number ($xl,$f) = $x->length(); # length of number and length of fraction part, # latter is always 0 digits long for BigInts $x->exponent(); # return exponent as BigInt $x->mantissa(); # return (signed) mantissa as BigInt $x->parts(); # return (mantissa,exponent) as BigInt $x->copy(); # make a true copy of $x (unlike $y = $x;) $x->as_int(); # return as BigInt (in BigInt: same as copy()) $x->numify(); # return as scalar (might overflow!) # conversation to string (do not modify their argument) $x->bstr(); # normalized string (e.g. 3) $x->bsstr(); # norm. string in scientific notation (e.g. 3E0) $x->as_hex(); # as signed hexadecimal string with prefixed 0x $x->as_bin(); # as signed binary string with prefixed 0b $x->as_oct(); # as signed octal string with prefixed 0 # precision and accuracy (see section about rounding for more) $x->precision(); # return P of $x (or global, if P of $x undef) $x->precision($n); # set P of $x to $n $x->accuracy(); # return A of $x (or global, if A of $x undef) $x->accuracy($n); # set A $x to $n # Global methods Math::BigInt->precision(); # get/set global P for all BigInt objects Math::BigInt->accuracy(); # get/set global A for all BigInt objects Math::BigInt->round_mode(); # get/set global round mode, one of # even, odd, +inf, -inf, zero, trunc or common Math::BigInt->config(); # return hash containing configuration.

Requirements: No special requirements
Platforms: Linux
Keyword: Base Bigint Create Create A Gmp Libraries Mathbigint Nan Programming Return X Is
Users rating: 0/10

License: Freeware Size: 194.56 KB
USER REVIEWS
More Reviews or Write Review


MATH::BIGINT RELATED
Games  -  Create A Mall for Mac OS 1.0
You are Kelly, a rising star in a mall development company. You become a world class mall developer by creating exciting malls with interesting stores. Upgrade the stores to attract more customers and earn more money. Create A Mall is the first...
26 MB  
3D Graphic Tools  -  send2kflickr 0.1
send2kflickr is the first attempt to create a KIPI plugin which uses KFlickr. The functionality is limited but this is due to limitations in the KIPI API. For example I would of liked to of been able to add tags set in Digikam automatically in...
37.89 KB  
Programming  -  iTheater 0.2
iTheater is an open source project that aims to create a media center application for Mac OS X, to fully take advantage of Apple's OSX. The project aims to integrate most media-based Mac applications into a single console (or media center).
9.57 MB  
File Renamers  -  Right-Click for Zip Unzip 1.0
This lightweight and easy to use program puts all the power of Zip and Unzip into the right mouse button! If you want to create a Zip file, all you have to do is select one or more files and right-click. Your Zip will be created with speed and...
2.99 MB  
Programming  -  OpenERP 92
Insignis OpenERP is driven by the urge to create a multi-layered, platform and programming language independent environment for the development of database driven custom made business applications, all within a 'standard' application environment.
1.28 MB  
Project Management  -  XP Studio 0.5.8
The goal of XP Studio is to create a complete software development environment in which it is easy to practice eXtreme Programming (XP) or other Agile software development methodologies.
1009 B  
Libraries  -  floatrange Beta
floatrange was specially developed as a nodule for the Python programming language that is able to mimic Python's built-in range() with support for float values. (range() only works with int values). It also precision level for floating point...
 
Science  -  jason 1.3.7
Jason is a fully-fledged interpreter for an extended version of AgentSpeak, a BDI agent-oriented logic programming language, and is implemented in Java. Using JADE a multi-agent system can be distributed over a network effortlessly.
20.54 MB  
Shell & Desktop  -  Create CVSup 0.1.6
Create CVSup is a script that will create a cvsup server mirror for FreeBSD, NetBSD, and OpenBSD. Create CVSup script has been tested and is known to work under FreeBSD, NetBSD, and OpenBSD..
4.1 KB  
Desktop Utilities  -  Recursively create M3U playlists 1.1
Recursively create M3U playlists is a service menu which can create a file called playlist.m3u in each directories and sub directories. You can edit recursively_create_M3U_playlist.py to change the name of playlist.m3u To install, simply put...
1.02 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB