exiftool-vendored.exe 12.82.0 → 12.84.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/bin/exiftool.exe +0 -0
- package/bin/exiftool_files/Changes +37 -0
- package/bin/exiftool_files/Licenses_Strawberry_Perl.zip +0 -0
- package/bin/exiftool_files/README +3 -2
- package/bin/exiftool_files/build_geolocation +872 -0
- package/bin/exiftool_files/config_files/example.config +2 -2
- package/bin/exiftool_files/exiftool.pl +28 -6
- package/bin/exiftool_files/fmt_files/gpx.fmt +2 -1
- package/bin/exiftool_files/fmt_files/gpx_wpt.fmt +2 -1
- package/bin/exiftool_files/lib/Archive/Zip/Archive.pm +399 -65
- package/bin/exiftool_files/lib/Archive/Zip/DirectoryMember.pm +1 -1
- package/bin/exiftool_files/lib/Archive/Zip/FileMember.pm +1 -1
- package/bin/exiftool_files/lib/Archive/Zip/Member.pm +499 -195
- package/bin/exiftool_files/lib/Archive/Zip/NewFileMember.pm +1 -1
- package/bin/exiftool_files/lib/Archive/Zip/StringMember.pm +2 -2
- package/bin/exiftool_files/lib/Archive/Zip/ZipFileMember.pm +79 -20
- package/bin/exiftool_files/lib/Archive/Zip.pm +179 -29
- package/bin/exiftool_files/lib/AutoLoader.pm +453 -0
- package/bin/exiftool_files/lib/B/Deparse.pm +209 -137
- package/bin/exiftool_files/lib/B.pm +1 -1
- package/bin/exiftool_files/lib/Benchmark.pm +1123 -0
- package/bin/exiftool_files/lib/Class/Struct.pm +2 -2
- package/bin/exiftool_files/lib/Compress/Raw/Bzip2.pm +14 -9
- package/bin/exiftool_files/lib/Compress/Raw/Lzma.pm +982 -0
- package/bin/exiftool_files/lib/Compress/Raw/Zlib.pm +91 -86
- package/bin/exiftool_files/lib/Compress/Zlib.pm +105 -100
- package/bin/exiftool_files/lib/Config.pm +9 -9
- package/bin/exiftool_files/lib/Config_heavy.pl +36 -33
- package/bin/exiftool_files/lib/CryptX.pm +2 -82
- package/bin/exiftool_files/lib/Data/Dumper.pm +2 -2
- package/bin/exiftool_files/lib/Digest/MD5.pm +12 -9
- package/bin/exiftool_files/lib/Digest/Perl/MD5.pm +1 -191
- package/bin/exiftool_files/lib/Digest/base.pm +26 -20
- package/bin/exiftool_files/lib/DynaLoader.pm +7 -4
- package/bin/exiftool_files/lib/Encode.pm +3 -3
- package/bin/exiftool_files/lib/Errno.pm +13 -13
- package/bin/exiftool_files/lib/Exporter/Heavy.pm +2 -2
- package/bin/exiftool_files/lib/Exporter.pm +1 -1
- package/bin/exiftool_files/lib/ExtUtils/Command/MM.pm +323 -0
- package/bin/exiftool_files/lib/ExtUtils/Command.pm +382 -0
- package/bin/exiftool_files/lib/File/Find.pm +1 -1
- package/bin/exiftool_files/lib/File/Glob.pm +1 -8
- package/bin/exiftool_files/lib/File/GlobMapper.pm +2 -2
- package/bin/exiftool_files/lib/File/HomeDir/Darwin/Carbon.pm +2 -40
- package/bin/exiftool_files/lib/File/HomeDir/Darwin/Cocoa.pm +2 -34
- package/bin/exiftool_files/lib/File/HomeDir/Darwin.pm +2 -28
- package/bin/exiftool_files/lib/File/HomeDir/Driver.pm +2 -35
- package/bin/exiftool_files/lib/File/HomeDir/FreeDesktop.pm +2 -62
- package/bin/exiftool_files/lib/File/HomeDir/MacOS9.pm +2 -53
- package/bin/exiftool_files/lib/File/HomeDir/Test.pm +2 -43
- package/bin/exiftool_files/lib/File/HomeDir/Unix.pm +2 -53
- package/bin/exiftool_files/lib/File/HomeDir/Windows.pm +2 -69
- package/bin/exiftool_files/lib/File/HomeDir.pm +5 -416
- package/bin/exiftool_files/lib/File/Path.pm +3 -3
- package/bin/exiftool_files/lib/File/Spec/Win32.pm +2 -2
- package/bin/exiftool_files/lib/File/Temp.pm +70 -35
- package/bin/exiftool_files/lib/File/Which.pm +1 -240
- package/bin/exiftool_files/lib/File/stat.pm +3 -2
- package/bin/exiftool_files/lib/IO/Compress/Adapter/Bzip2.pm +16 -17
- package/bin/exiftool_files/lib/IO/Compress/Adapter/Deflate.pm +19 -20
- package/bin/exiftool_files/lib/IO/Compress/Base/Common.pm +5 -5
- package/bin/exiftool_files/lib/IO/Compress/Base.pm +35 -26
- package/bin/exiftool_files/lib/IO/Compress/Brotli.pm +159 -0
- package/bin/exiftool_files/lib/IO/Compress/Bzip2.pm +50 -25
- package/bin/exiftool_files/lib/IO/Compress/Gzip/Constants.pm +6 -6
- package/bin/exiftool_files/lib/IO/Compress/Gzip.pm +58 -32
- package/bin/exiftool_files/lib/IO/Compress/RawDeflate.pm +63 -38
- package/bin/exiftool_files/lib/IO/Compress/Zlib/Extra.pm +20 -20
- package/bin/exiftool_files/lib/IO/Dir.pm +1 -1
- package/bin/exiftool_files/lib/IO/File.pm +1 -1
- package/bin/exiftool_files/lib/IO/Handle.pm +1 -21
- package/bin/exiftool_files/lib/IO/Pipe.pm +1 -1
- package/bin/exiftool_files/lib/IO/Seekable.pm +1 -1
- package/bin/exiftool_files/lib/IO/Select.pm +16 -2
- package/bin/exiftool_files/lib/IO/Socket/INET.pm +14 -9
- package/bin/exiftool_files/lib/IO/Socket/UNIX.pm +17 -1
- package/bin/exiftool_files/lib/IO/Socket.pm +474 -126
- package/bin/exiftool_files/lib/IO/String.pm +425 -0
- package/bin/exiftool_files/lib/IO/Uncompress/Adapter/Inflate.pm +13 -14
- package/bin/exiftool_files/lib/IO/Uncompress/Base.pm +142 -132
- package/bin/exiftool_files/lib/IO/Uncompress/Brotli.pm +119 -0
- package/bin/exiftool_files/lib/IO/Uncompress/Gunzip.pm +43 -37
- package/bin/exiftool_files/lib/IO/Uncompress/RawInflate.pm +49 -43
- package/bin/exiftool_files/lib/IO.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Apple.pm +51 -7
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +18 -5
- package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +29 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +19 -2
- package/bin/exiftool_files/lib/Image/ExifTool/GM.pm +17 -8
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.dat +0 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.pm +163 -101
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +18 -10
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +7 -6
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +6 -1
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +5 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +15 -6
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +18 -9
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +24 -5
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +2 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +165 -132
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +3 -0
- package/bin/exiftool_files/lib/Image/ExifTool.pm +45 -23
- package/bin/exiftool_files/lib/Image/ExifTool.pod +23 -14
- package/bin/exiftool_files/lib/List/Util.pm +97 -8
- package/bin/exiftool_files/lib/MIME/Base64.pm +5 -5
- package/bin/exiftool_files/lib/MIME/Charset/_Compat.pm +106 -0
- package/bin/exiftool_files/lib/MIME/Charset.pm +1303 -0
- package/bin/exiftool_files/lib/Math/BigFloat.pm +444 -27
- package/bin/exiftool_files/lib/Math/BigInt/Calc.pm +296 -313
- package/bin/exiftool_files/lib/Math/BigInt/FastCalc.pm +1 -1
- package/bin/exiftool_files/lib/Math/BigInt/GMP.pm +2 -115
- package/bin/exiftool_files/lib/Math/BigInt/LTM.pm +2 -24
- package/bin/exiftool_files/lib/Math/BigInt/Lib.pm +61 -32
- package/bin/exiftool_files/lib/Math/BigInt.pm +292 -107
- package/bin/exiftool_files/lib/POSIX.pm +1 -1
- package/bin/exiftool_files/lib/PerlIO/scalar.pm +41 -0
- package/bin/exiftool_files/lib/PerlIO.pm +397 -0
- package/bin/exiftool_files/lib/Portable/CPAN.pm +94 -94
- package/bin/exiftool_files/lib/Portable/Config.pm +94 -94
- package/bin/exiftool_files/lib/Portable/FileSpec.pm +180 -180
- package/bin/exiftool_files/lib/Portable/HomeDir.pm +110 -110
- package/bin/exiftool_files/lib/Portable/LoadYaml.pm +430 -430
- package/bin/exiftool_files/lib/Portable/minicpan.pm +55 -55
- package/bin/exiftool_files/lib/Portable.pm +246 -320
- package/bin/exiftool_files/lib/Scalar/Util.pm +9 -4
- package/bin/exiftool_files/lib/Socket.pm +16 -12
- package/bin/exiftool_files/lib/Storable.pm +1444 -1441
- package/bin/exiftool_files/lib/TAP/Base.pm +133 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Base.pm +467 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Color.pm +116 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Console/ParallelSession.pm +201 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Console/Session.pm +205 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Console.pm +100 -0
- package/bin/exiftool_files/lib/TAP/Formatter/File/Session.pm +95 -0
- package/bin/exiftool_files/lib/TAP/Formatter/File.pm +56 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Session.pm +220 -0
- package/bin/exiftool_files/lib/TAP/Harness/Beyond.pod +426 -0
- package/bin/exiftool_files/lib/TAP/Harness/Env.pm +215 -0
- package/bin/exiftool_files/lib/TAP/Harness.pm +1054 -0
- package/bin/exiftool_files/lib/TAP/Object.pm +155 -0
- package/bin/exiftool_files/lib/TAP/Parser/Aggregator.pm +414 -0
- package/bin/exiftool_files/lib/TAP/Parser/Grammar.pm +584 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator/Array.pm +100 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator/Process.pm +378 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator/Stream.pm +116 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator.pm +162 -0
- package/bin/exiftool_files/lib/TAP/Parser/IteratorFactory.pm +339 -0
- package/bin/exiftool_files/lib/TAP/Parser/Multiplexer.pm +194 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Bailout.pm +62 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Comment.pm +60 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Plan.pm +119 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Pragma.pm +62 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Test.pm +271 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Unknown.pm +48 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Version.pm +62 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/YAML.pm +61 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result.pm +297 -0
- package/bin/exiftool_files/lib/TAP/Parser/ResultFactory.pm +183 -0
- package/bin/exiftool_files/lib/TAP/Parser/Scheduler/Job.pm +127 -0
- package/bin/exiftool_files/lib/TAP/Parser/Scheduler/Spinner.pm +61 -0
- package/bin/exiftool_files/lib/TAP/Parser/Scheduler.pm +448 -0
- package/bin/exiftool_files/lib/TAP/Parser/Source.pm +381 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Executable.pm +184 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/File.pm +136 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Handle.pm +124 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Perl.pm +370 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/RawTAP.pm +130 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler.pm +191 -0
- package/bin/exiftool_files/lib/TAP/Parser/YAMLish/Reader.pm +332 -0
- package/bin/exiftool_files/lib/TAP/Parser/YAMLish/Writer.pm +254 -0
- package/bin/exiftool_files/lib/TAP/Parser.pm +1931 -0
- package/bin/exiftool_files/lib/Test/Builder/Formatter.pm +107 -0
- package/bin/exiftool_files/lib/Test/Builder/IO/Scalar.pm +659 -0
- package/bin/exiftool_files/lib/Test/Builder/Module.pm +182 -0
- package/bin/exiftool_files/lib/Test/Builder/Tester/Color.pm +51 -0
- package/bin/exiftool_files/lib/Test/Builder/Tester.pm +675 -0
- package/bin/exiftool_files/lib/Test/Builder/TodoDiag.pm +68 -0
- package/bin/exiftool_files/lib/Test/Builder.pm +2653 -0
- package/bin/exiftool_files/lib/Test/Harness.pm +618 -0
- package/bin/exiftool_files/lib/Test/More.pm +1997 -0
- package/bin/exiftool_files/lib/Test/Simple.pm +220 -0
- package/bin/exiftool_files/lib/Test/Tester/Capture.pm +241 -0
- package/bin/exiftool_files/lib/Test/Tester/CaptureRunner.pm +79 -0
- package/bin/exiftool_files/lib/Test/Tester/Delegate.pm +45 -0
- package/bin/exiftool_files/lib/Test/Tester.pm +695 -0
- package/bin/exiftool_files/lib/Test/Tutorial.pod +618 -0
- package/bin/exiftool_files/lib/Test/use/ok.pm +64 -0
- package/bin/exiftool_files/lib/Text/ParseWords.pm +303 -0
- package/bin/exiftool_files/lib/Tie/StdHandle.pm +2 -2
- package/bin/exiftool_files/lib/Time/HiRes.pm +73 -68
- package/bin/exiftool_files/lib/Time/Local.pm +82 -35
- package/bin/exiftool_files/lib/Time/Piece.pm +19 -4
- package/bin/exiftool_files/lib/Time/Seconds.pm +1 -1
- package/bin/exiftool_files/lib/UNIVERSAL.pm +203 -0
- package/bin/exiftool_files/lib/Unicode/GCString.pm +60 -0
- package/bin/exiftool_files/lib/Unicode/LineBreak/Constants.pm +68 -0
- package/bin/exiftool_files/lib/Unicode/LineBreak.pm +248 -0
- package/bin/exiftool_files/lib/Win32/API/Struct.pm +1 -177
- package/bin/exiftool_files/lib/Win32/API/Type.pm +1 -100
- package/bin/exiftool_files/lib/Win32/API.pm +1 -830
- package/bin/exiftool_files/lib/Win32/FindFile.pm +2 -123
- package/bin/exiftool_files/lib/Win32.pm +213 -89
- package/bin/exiftool_files/lib/Win32API/File.pm +1 -1
- package/bin/exiftool_files/lib/auto/B/B.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Bzip2/Bzip2.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Lzma/Lzma.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Lzma/autosplit.ix +3 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Zlib/Zlib.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/CryptX/CryptX.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Cwd/Cwd.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Data/Dumper/Dumper.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Digest/MD5/MD5.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Digest/SHA/SHA.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Encode/Encode.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Fcntl/Fcntl.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/File/Glob/Glob.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/IO/Compress/Brotli/Brotli.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/IO/IO.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/List/Util/Util.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/MIME/Base64/Base64.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Math/BigInt/FastCalc/FastCalc.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Math/BigInt/GMP/GMP.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/POSIX/POSIX.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/PerlIO/scalar/scalar.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Socket/Socket.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Storable/Storable.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Time/HiRes/HiRes.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Time/Piece/Piece.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Unicode/LineBreak/LineBreak.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32/API/API.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32/FindFile/FindFile.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32/Win32.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32API/File/File.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/mro/mro.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/re/re.xs.dll +0 -0
- package/bin/exiftool_files/lib/feature.pm +49 -17
- package/bin/exiftool_files/lib/mro.pm +4 -20
- package/bin/exiftool_files/lib/overload.pm +15 -15
- package/bin/exiftool_files/lib/parent.pm +10 -2
- package/bin/exiftool_files/lib/re.pm +91 -33
- package/bin/exiftool_files/lib/warnings.pm +17 -6
- package/bin/exiftool_files/libgcc_s_seh-1.dll +0 -0
- package/bin/exiftool_files/liblzma-5__.dll +0 -0
- package/bin/exiftool_files/libstdc++-6.dll +0 -0
- package/bin/exiftool_files/libwinpthread-1.dll +0 -0
- package/bin/exiftool_files/perl.exe +0 -0
- package/bin/exiftool_files/perl532.dll +0 -0
- package/package.json +6 -4
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/cs.pm +0 -978
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/de.pm +0 -1975
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/en_ca.pm +0 -44
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/en_gb.pm +0 -124
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/es.pm +0 -2921
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/fi.pm +0 -1116
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/fr.pm +0 -3171
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/it.pm +0 -2750
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ja.pm +0 -10256
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ko.pm +0 -4499
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/nl.pm +0 -1270
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/pl.pm +0 -3019
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ru.pm +0 -18220
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/sk.pm +0 -441
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/sv.pm +0 -714
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/tr.pm +0 -452
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/zh_cn.pm +0 -2225
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/zh_tw.pm +0 -72
- package/bin/exiftool_files/libgcc_s_dw2-1.dll +0 -0
- package/bin/exiftool_files/perl530.dll +0 -0
|
@@ -8,7 +8,7 @@ use Math::BigInt::Lib 1.999801;
|
|
|
8
8
|
|
|
9
9
|
our @ISA = qw< Math::BigInt::Lib >;
|
|
10
10
|
|
|
11
|
-
our $VERSION = '1.
|
|
11
|
+
our $VERSION = '1.6007';
|
|
12
12
|
|
|
13
13
|
use XSLoader;
|
|
14
14
|
XSLoader::load "Math::BigInt::GMP", $VERSION;
|
|
@@ -45,117 +45,4 @@ sub STORABLE_thaw {
|
|
|
45
45
|
|
|
46
46
|
__END__
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
=head1 NAME
|
|
51
|
-
|
|
52
|
-
Math::BigInt::GMP - backend library for Math::BigInt etc. based on GMP
|
|
53
|
-
|
|
54
|
-
=head1 SYNOPSIS
|
|
55
|
-
|
|
56
|
-
# to use it with Math::BigInt
|
|
57
|
-
use Math::BigInt lib => 'GMP';
|
|
58
|
-
|
|
59
|
-
# to use it with Math::BigFloat
|
|
60
|
-
use Math::BigFloat lib => 'GMP';
|
|
61
|
-
|
|
62
|
-
# to use it with Math::BigRat
|
|
63
|
-
use Math::BigRat lib => 'GMP';
|
|
64
|
-
|
|
65
|
-
=head1 DESCRIPTION
|
|
66
|
-
|
|
67
|
-
Math::BigInt::GMP is a backend library for Math::BigInt, Math::BigFloat,
|
|
68
|
-
Math::BigRat and related modules.
|
|
69
|
-
|
|
70
|
-
Math::BigInt::GMP provides support for big integer calculations by means of the
|
|
71
|
-
GMP C library. See L<https://gmplib.org/> for more information about the GMP
|
|
72
|
-
library.
|
|
73
|
-
|
|
74
|
-
Math::BigInt::GMP no longer uses Math::GMP, but provides its own XS layer to
|
|
75
|
-
access the GMP C library. This cuts out another (Perl subroutine) layer and
|
|
76
|
-
also reduces the memory footprint.
|
|
77
|
-
|
|
78
|
-
Math::BigInt::GMP inherits from Math::BigInt::Lib.
|
|
79
|
-
|
|
80
|
-
=head1 BUGS
|
|
81
|
-
|
|
82
|
-
Please report any bugs or feature requests to
|
|
83
|
-
C<bug-math-bigint-gmp at rt.cpan.org>, or through the web interface at
|
|
84
|
-
L<https://rt.cpan.org/Ticket/Create.html?Queue=Math-BigInt-GMP>
|
|
85
|
-
(requires login).
|
|
86
|
-
We will be notified, and then you'll automatically be notified of progress on
|
|
87
|
-
your bug as I make changes.
|
|
88
|
-
|
|
89
|
-
=head1 SUPPORT
|
|
90
|
-
|
|
91
|
-
You can find documentation for this module with the perldoc command.
|
|
92
|
-
|
|
93
|
-
perldoc Math::BigInt::GMP
|
|
94
|
-
|
|
95
|
-
You can also look for information at:
|
|
96
|
-
|
|
97
|
-
=over 4
|
|
98
|
-
|
|
99
|
-
=item * RT: CPAN's request tracker
|
|
100
|
-
|
|
101
|
-
L<https://rt.cpan.org/Dist/Display.html?Name=Math-BigInt-GMP>
|
|
102
|
-
|
|
103
|
-
=item * AnnoCPAN: Annotated CPAN documentation
|
|
104
|
-
|
|
105
|
-
L<http://annocpan.org/dist/Math-BigInt-GMP>
|
|
106
|
-
|
|
107
|
-
=item * CPAN Ratings
|
|
108
|
-
|
|
109
|
-
L<http://cpanratings.perl.org/dist/Math-BigInt-GMP>
|
|
110
|
-
|
|
111
|
-
=item * Search CPAN
|
|
112
|
-
|
|
113
|
-
L<http://search.cpan.org/dist/Math-BigInt-GMP/>
|
|
114
|
-
|
|
115
|
-
=item * CPAN Testers Matrix
|
|
116
|
-
|
|
117
|
-
L<http://matrix.cpantesters.org/?dist=Math-BigInt-GMP>
|
|
118
|
-
|
|
119
|
-
=item * The Bignum mailing list
|
|
120
|
-
|
|
121
|
-
=over 4
|
|
122
|
-
|
|
123
|
-
=item * Post to mailing list
|
|
124
|
-
|
|
125
|
-
C<bignum at lists.scsys.co.uk>
|
|
126
|
-
|
|
127
|
-
=item * View mailing list
|
|
128
|
-
|
|
129
|
-
L<http://lists.scsys.co.uk/pipermail/bignum/>
|
|
130
|
-
|
|
131
|
-
=item * Subscribe/Unsubscribe
|
|
132
|
-
|
|
133
|
-
L<http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/bignum>
|
|
134
|
-
|
|
135
|
-
=back
|
|
136
|
-
|
|
137
|
-
=back
|
|
138
|
-
|
|
139
|
-
=head1 LICENSE
|
|
140
|
-
|
|
141
|
-
This program is free software; you may redistribute it and/or modify it under
|
|
142
|
-
the same terms as Perl itself.
|
|
143
|
-
|
|
144
|
-
=head1 AUTHOR
|
|
145
|
-
|
|
146
|
-
Tels E<lt>http://bloodgate.com/E<gt> in 2001-2007.
|
|
147
|
-
|
|
148
|
-
Thanks to Chip Turner (CHIPT on CPAN) for providing Math::GMP, which was
|
|
149
|
-
inspiring my work.
|
|
150
|
-
|
|
151
|
-
=head1 SEE ALSO
|
|
152
|
-
|
|
153
|
-
L<Math::BigInt::Lib> for a description of the API.
|
|
154
|
-
|
|
155
|
-
Alternative libraries L<Math::BigInt::Calc>, L<Math::BigInt::FastCalc>, and
|
|
156
|
-
L<Math::BigInt::Pari>.
|
|
157
|
-
|
|
158
|
-
Some of the modules that use these libraries L<Math::BigInt>,
|
|
159
|
-
L<Math::BigFloat>, and L<Math::BigRat>.
|
|
160
|
-
|
|
161
|
-
=cut
|
|
48
|
+
#line 162
|
|
@@ -2,7 +2,7 @@ package Math::BigInt::LTM;
|
|
|
2
2
|
|
|
3
3
|
use strict;
|
|
4
4
|
use warnings;
|
|
5
|
-
our $VERSION = '0.
|
|
5
|
+
our $VERSION = '0.069';
|
|
6
6
|
|
|
7
7
|
use CryptX;
|
|
8
8
|
use Carp;
|
|
@@ -883,26 +883,4 @@ sub _as_hex {
|
|
|
883
883
|
|
|
884
884
|
1;
|
|
885
885
|
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
=head1 NAME
|
|
889
|
-
|
|
890
|
-
Math::BigInt::LTM - Use the libtommath library for Math::BigInt routines
|
|
891
|
-
|
|
892
|
-
=head1 SYNOPSIS
|
|
893
|
-
|
|
894
|
-
use Math::BigInt lib => 'LTM';
|
|
895
|
-
|
|
896
|
-
## See Math::BigInt docs for usage.
|
|
897
|
-
|
|
898
|
-
=head1 DESCRIPTION
|
|
899
|
-
|
|
900
|
-
Provides support for big integer calculations by means of the libtommath c-library.
|
|
901
|
-
|
|
902
|
-
I<Since: CryptX-0.029>
|
|
903
|
-
|
|
904
|
-
=head1 SEE ALSO
|
|
905
|
-
|
|
906
|
-
L<Math::BigInt>, L<https://github.com/libtom/libtommath>
|
|
907
|
-
|
|
908
|
-
=cut
|
|
886
|
+
#line 909
|
|
@@ -4,7 +4,7 @@ use 5.006001;
|
|
|
4
4
|
use strict;
|
|
5
5
|
use warnings;
|
|
6
6
|
|
|
7
|
-
our $VERSION = '1.
|
|
7
|
+
our $VERSION = '1.999818';
|
|
8
8
|
|
|
9
9
|
use Carp;
|
|
10
10
|
|
|
@@ -251,13 +251,6 @@ use overload
|
|
|
251
251
|
|
|
252
252
|
;
|
|
253
253
|
|
|
254
|
-
# Do we need api_version() at all, now that we have a virtual parent class that
|
|
255
|
-
# will provide any missing methods? Fixme!
|
|
256
|
-
|
|
257
|
-
sub api_version () {
|
|
258
|
-
croak "@{[(caller 0)[3]]} method not implemented";
|
|
259
|
-
}
|
|
260
|
-
|
|
261
254
|
sub _new {
|
|
262
255
|
croak "@{[(caller 0)[3]]} method not implemented";
|
|
263
256
|
}
|
|
@@ -386,6 +379,20 @@ sub _digit {
|
|
|
386
379
|
substr($class ->_str($x), -($n+1), 1);
|
|
387
380
|
}
|
|
388
381
|
|
|
382
|
+
sub _digitsum {
|
|
383
|
+
my ($class, $x) = @_;
|
|
384
|
+
|
|
385
|
+
my $len = $class -> _len($x);
|
|
386
|
+
my $sum = $class -> _zero();
|
|
387
|
+
for (my $i = 0 ; $i < $len ; ++$i) {
|
|
388
|
+
my $digit = $class -> _digit($x, $i);
|
|
389
|
+
$digit = $class -> _new($digit);
|
|
390
|
+
$sum = $class -> _add($sum, $digit);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
return $sum;
|
|
394
|
+
}
|
|
395
|
+
|
|
389
396
|
sub _zeros {
|
|
390
397
|
my ($class, $x) = @_;
|
|
391
398
|
my $str = $class -> _str($x);
|
|
@@ -1428,16 +1435,20 @@ sub _to_base {
|
|
|
1428
1435
|
if (@_) {
|
|
1429
1436
|
$collseq = shift();
|
|
1430
1437
|
} else {
|
|
1431
|
-
if ($class -> _acmp($base, $class -> _new("
|
|
1432
|
-
$collseq = '0123456789'
|
|
1433
|
-
|
|
1438
|
+
if ($class -> _acmp($base, $class -> _new("94")) <= 0) {
|
|
1439
|
+
$collseq = '0123456789' # 48 .. 57
|
|
1440
|
+
. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # 65 .. 90
|
|
1441
|
+
. 'abcdefghijklmnopqrstuvwxyz' # 97 .. 122
|
|
1442
|
+
. '!"#$%&\'()*+,-./' # 33 .. 47
|
|
1443
|
+
. ':;<=>?@' # 58 .. 64
|
|
1444
|
+
. '[\\]^_`' # 91 .. 96
|
|
1445
|
+
. '{|}~'; # 123 .. 126
|
|
1434
1446
|
} else {
|
|
1435
|
-
croak "When base >
|
|
1447
|
+
croak "When base > 94, a collation sequence must be given";
|
|
1436
1448
|
}
|
|
1437
1449
|
}
|
|
1438
1450
|
|
|
1439
1451
|
my @collseq = split '', $collseq;
|
|
1440
|
-
my %collseq = map { $_ => $collseq[$_] } 0 .. $#collseq;
|
|
1441
1452
|
|
|
1442
1453
|
my $str = '';
|
|
1443
1454
|
my $tmp = $class -> _copy($x);
|
|
@@ -1573,11 +1584,16 @@ sub _from_base {
|
|
|
1573
1584
|
if ($class -> _acmp($base, $class -> _new("36")) <= 0) {
|
|
1574
1585
|
$str = uc $str;
|
|
1575
1586
|
$collseq = '0123456789' . 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
1576
|
-
} elsif ($class -> _acmp($base, $class -> _new("
|
|
1577
|
-
$collseq = '0123456789'
|
|
1578
|
-
|
|
1587
|
+
} elsif ($class -> _acmp($base, $class -> _new("94")) <= 0) {
|
|
1588
|
+
$collseq = '0123456789' # 48 .. 57
|
|
1589
|
+
. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # 65 .. 90
|
|
1590
|
+
. 'abcdefghijklmnopqrstuvwxyz' # 97 .. 122
|
|
1591
|
+
. '!"#$%&\'()*+,-./' # 33 .. 47
|
|
1592
|
+
. ':;<=>?@' # 58 .. 64
|
|
1593
|
+
. '[\\]^_`' # 91 .. 96
|
|
1594
|
+
. '{|}~'; # 123 .. 126
|
|
1579
1595
|
} else {
|
|
1580
|
-
croak "When base >
|
|
1596
|
+
croak "When base > 94, a collation sequence must be given";
|
|
1581
1597
|
}
|
|
1582
1598
|
$collseq = substr $collseq, 0, $class -> _num($base);
|
|
1583
1599
|
}
|
|
@@ -1920,11 +1936,8 @@ comparison routines.
|
|
|
1920
1936
|
|
|
1921
1937
|
=item CLASS-E<gt>api_version()
|
|
1922
1938
|
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
This method is no longer used. Methods that are not implemented by a subclass
|
|
1927
|
-
will be inherited from this class.
|
|
1939
|
+
This method is no longer used and can be omitted. Methods that are not
|
|
1940
|
+
implemented by a subclass will be inherited from this class.
|
|
1928
1941
|
|
|
1929
1942
|
=back
|
|
1930
1943
|
|
|
@@ -1986,10 +1999,20 @@ COLLSEQ. Each character in STR represents a numerical value identical to the
|
|
|
1986
1999
|
character's position in COLLSEQ. All characters in STR must be present in
|
|
1987
2000
|
COLLSEQ.
|
|
1988
2001
|
|
|
1989
|
-
If BASE is less than or equal to
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
2002
|
+
If BASE is less than or equal to 94, and a collation sequence is not specified,
|
|
2003
|
+
the following default collation sequence is used. It contains of all the 94
|
|
2004
|
+
printable ASCII characters except space/blank:
|
|
2005
|
+
|
|
2006
|
+
0123456789 # ASCII 48 to 57
|
|
2007
|
+
ABCDEFGHIJKLMNOPQRSTUVWXYZ # ASCII 65 to 90
|
|
2008
|
+
abcdefghijklmnopqrstuvwxyz # ASCII 97 to 122
|
|
2009
|
+
!"#$%&'()*+,-./ # ASCII 33 to 47
|
|
2010
|
+
:;<=>?@ # ASCII 58 to 64
|
|
2011
|
+
[\]^_` # ASCII 91 to 96
|
|
2012
|
+
{|}~ # ASCII 123 to 126
|
|
2013
|
+
|
|
2014
|
+
If the default collation sequence is used, and the BASE is less than or equal
|
|
2015
|
+
to 36, the letter case in STR is ignored.
|
|
1993
2016
|
|
|
1994
2017
|
For instance, with base 3 and collation sequence "-/|", the character "-"
|
|
1995
2018
|
represents 0, "/" represents 1, and "|" represents 2. So if STR is "/|-", the
|
|
@@ -2005,10 +2028,12 @@ conversion. All examples return 250.
|
|
|
2005
2028
|
|
|
2006
2029
|
Some more examples, all returning 250:
|
|
2007
2030
|
|
|
2008
|
-
$x = $class -> _from_base("100021", 3
|
|
2009
|
-
$x = $class -> _from_base("3322", 4
|
|
2010
|
-
$x = $class -> _from_base("2000", 5
|
|
2031
|
+
$x = $class -> _from_base("100021", 3)
|
|
2032
|
+
$x = $class -> _from_base("3322", 4)
|
|
2033
|
+
$x = $class -> _from_base("2000", 5)
|
|
2011
2034
|
$x = $class -> _from_base("caaa", 5, "abcde")
|
|
2035
|
+
$x = $class -> _from_base("42", 62)
|
|
2036
|
+
$x = $class -> _from_base("2!", 94)
|
|
2012
2037
|
|
|
2013
2038
|
=back
|
|
2014
2039
|
|
|
@@ -2301,6 +2326,10 @@ from the left (most significant digit). If $obj represents the number 123, then
|
|
|
2301
2326
|
CLASS->_digit($obj, 2) # returns 1
|
|
2302
2327
|
CLASS->_digit($obj, -1) # returns 1
|
|
2303
2328
|
|
|
2329
|
+
=item CLASS-E<gt>_digitsum(OBJ)
|
|
2330
|
+
|
|
2331
|
+
Returns the sum of the base 10 digits.
|
|
2332
|
+
|
|
2304
2333
|
=item CLASS-E<gt>_check(OBJ)
|
|
2305
2334
|
|
|
2306
2335
|
Returns true if the object is invalid and false otherwise. Preferably, the true
|
|
@@ -2394,11 +2423,11 @@ L<http://annocpan.org/dist/Math-BigInt>
|
|
|
2394
2423
|
|
|
2395
2424
|
=item * CPAN Ratings
|
|
2396
2425
|
|
|
2397
|
-
L<
|
|
2426
|
+
L<https://cpanratings.perl.org/dist/Math-BigInt>
|
|
2398
2427
|
|
|
2399
|
-
=item *
|
|
2428
|
+
=item * MetaCPAN
|
|
2400
2429
|
|
|
2401
|
-
L<
|
|
2430
|
+
L<https://metacpan.org/release/Math-BigInt>
|
|
2402
2431
|
|
|
2403
2432
|
=item * CPAN Testers Matrix
|
|
2404
2433
|
|