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

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

Serving Software Downloads in 976 Categories, Downloaded 29.873.009 Times

Math::BigInt 1.87

  Date Added: May 22, 2010  |  Visits: 738


Report Broken Link
Printer Friendly Version

Product Homepage
Download (72 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
More Reviews or Write Review

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  
Libraries  -  GNU Classpath 0.95
GNU Classpath (essential libraries for Java) is a project to create free core class libraries for use with virtual machines and compilers for the Java programming language. GNU Classpath project includes all native methods and core classes...
6.5 MB  
Programming  -  ObjectScript 2.10.1
ObjectScript is a general purpose object-oriented programming language. ObjectScript is designed to be simple to learn, easy to use, yet still powerful, combining the convenience of an interactive interpreter with many of the features of Java:.
11 MB  
Games  -  Quantum Man 1.9.1
Quantum Man (working title), is a project run by two programming novices. It is actually the very first python/pygame program we've ever written and has steadily increased in complexity as time has passed. To begin with the code included one...
2.04 MB  
Code Management Tools  -  Domino Javadoc Generator 0.4
Domino Javadoc Generator project aims to create a documentation to the Lotus Notes API for Java in a standard format common in the Java comunity and accepted by the most IDEs for Java. The Lotus Notes API is delivered as a Java archive together...
389.12 KB  
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  
Video Editors  -  ANDREW 1.2
ANDREWs Not a DVD Ripping and Encoding Wizard, but an interactive wrapper or a BASH script to simplify the use of OggEnc, MEncoder and mkv/ogmmerge to create, from a DVD, one or more Matroska or Ogg Media files containing an ISO/IEC  MPEG-4 Part 2...
174.08 KB  
Audio Tools  -  KWav2CD 0.8
Kwav2cd is a CDRDao frontend to create audio CDs from .wav or .mp3 files. This program is a front-end for CDRDAO. It produces TOC files and starts CDRDAO. The TRACK list can be pulled together easily by using DragnDrop, and the sequence of the...
153.6 KB  
Network & Internet  -  khtml2png 1.0.3 / 2.6.7a
khtml2png is a command line program to create screenshots of webpages. The project uses libkhtml (the library that is used in the KDE webbrowser Konqueror). In khtml2png 2.0.5 to 2.5.0 "convert" from the ImageMagick graphic conversion toolkit is...
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by, it is used to describe information about an application such as the name and...
327.68 KB  
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  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.11.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...
2.73 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