github.com/aergoio/aergo@v1.3.1/libtool/src/gmp-6.1.2/demos/perl/sample.pl (about) 1 #!/usr/bin/perl -w 2 3 # Some sample GMP module operations 4 5 # Copyright 2001, 2004 Free Software Foundation, Inc. 6 # 7 # This file is part of the GNU MP Library. 8 # 9 # The GNU MP Library is free software; you can redistribute it and/or modify 10 # it under the terms of either: 11 # 12 # * the GNU Lesser General Public License as published by the Free 13 # Software Foundation; either version 3 of the License, or (at your 14 # option) any later version. 15 # 16 # or 17 # 18 # * the GNU General Public License as published by the Free Software 19 # Foundation; either version 2 of the License, or (at your option) any 20 # later version. 21 # 22 # or both in parallel, as here. 23 # 24 # The GNU MP Library is distributed in the hope that it will be useful, but 25 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 26 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 27 # for more details. 28 # 29 # You should have received copies of the GNU General Public License and the 30 # GNU Lesser General Public License along with the GNU MP Library. If not, 31 # see https://www.gnu.org/licenses/. 32 33 use strict; 34 35 36 use GMP; 37 print "using GMP module $GMP::VERSION and GMP library ",GMP::version(),"\n"; 38 39 40 use GMP::Mpz qw(:all); 41 print "the 200th fibonacci number is ", fib(200), "\n"; 42 print "next prime after 10**30 is (probably) ", nextprime(mpz(10)**30), "\n"; 43 44 45 use GMP::Mpq qw(:constants); 46 print "the 7th harmonic number is ", 1+1/2+1/3+1/4+1/5+1/6+1/7, "\n"; 47 use GMP::Mpq qw(:noconstants); 48 49 50 use GMP::Mpf qw(mpf); 51 my $f = mpf(1,180); 52 $f >>= 180; 53 $f += 1; 54 print "a sample mpf is $f\n";