STLExtract 1.0.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.
- data/.gitignore +14 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +66 -0
- data/Rakefile +2 -0
- data/STLExtract-0.0.1.gem +0 -0
- data/STLExtract.gemspec +23 -0
- data/Slic3r/Linux/bin/slic3r +0 -0
- data/Slic3r/Linux/dll/libGLU.so +1 -0
- data/Slic3r/Linux/dll/libGLU.so.1 +1 -0
- data/Slic3r/Linux/dll/libGLU.so.1.3.08004 +0 -0
- data/Slic3r/Linux/dll/libperl.so +0 -0
- data/Slic3r/Linux/dll/libwx_baseu-2.9.so +1 -0
- data/Slic3r/Linux/dll/libwx_baseu-2.9.so.3 +1 -0
- data/Slic3r/Linux/dll/libwx_baseu-2.9.so.3.0.0 +0 -0
- data/Slic3r/Linux/dll/libwx_baseu_net-2.9.so +1 -0
- data/Slic3r/Linux/dll/libwx_baseu_net-2.9.so.3 +1 -0
- data/Slic3r/Linux/dll/libwx_baseu_net-2.9.so.3.0.0 +0 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_adv-2.9.so +1 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_adv-2.9.so.3 +1 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_adv-2.9.so.3.0.0 +0 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_core-2.9.so +1 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_core-2.9.so.3 +1 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_core-2.9.so.3.0.0 +0 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_gl-2.9.so +1 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_gl-2.9.so.3 +1 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_gl-2.9.so.3.0.0 +0 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_html-2.9.so +1 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_html-2.9.so.3 +1 -0
- data/Slic3r/Linux/dll/libwx_gtk2u_html-2.9.so.3.0.0 +0 -0
- data/Slic3r/Linux/lib/std/Authen/SASL.pm +130 -0
- data/Slic3r/Linux/lib/std/Authen/SASL/CRAM_MD5.pm +18 -0
- data/Slic3r/Linux/lib/std/Authen/SASL/EXTERNAL.pm +18 -0
- data/Slic3r/Linux/lib/std/Authen/SASL/Perl.pm +344 -0
- data/Slic3r/Linux/lib/std/Authen/SASL/Perl/ANONYMOUS.pm +93 -0
- data/Slic3r/Linux/lib/std/Authen/SASL/Perl/CRAM_MD5.pm +105 -0
- data/Slic3r/Linux/lib/std/Authen/SASL/Perl/DIGEST_MD5.pm +877 -0
- data/Slic3r/Linux/lib/std/Authen/SASL/Perl/EXTERNAL.pm +97 -0
- data/Slic3r/Linux/lib/std/Authen/SASL/Perl/GSSAPI.pm +375 -0
- data/Slic3r/Linux/lib/std/Authen/SASL/Perl/LOGIN.pm +216 -0
- data/Slic3r/Linux/lib/std/Authen/SASL/Perl/PLAIN.pm +182 -0
- data/Slic3r/Linux/lib/std/B.pm +1202 -0
- data/Slic3r/Linux/lib/std/B/Deparse.pm +4900 -0
- data/Slic3r/Linux/lib/std/CPAN/Config.pm +55 -0
- data/Slic3r/Linux/lib/std/Cava/Global.pm +20 -0
- data/Slic3r/Linux/lib/std/Cava/Project.pm +19 -0
- data/Slic3r/Linux/lib/std/Class/Accessor.pm +744 -0
- data/Slic3r/Linux/lib/std/Class/Method/Modifiers.pm +481 -0
- data/Slic3r/Linux/lib/std/Class/Struct.pm +636 -0
- data/Slic3r/Linux/lib/std/Class/XSAccessor.pm +326 -0
- data/Slic3r/Linux/lib/std/Class/XSAccessor/Heavy.pm +76 -0
- data/Slic3r/Linux/lib/std/Compress/Raw/Bzip2.pm +361 -0
- data/Slic3r/Linux/lib/std/Compress/Raw/Zlib.pm +1429 -0
- data/Slic3r/Linux/lib/std/Config.pm +110 -0
- data/Slic3r/Linux/lib/std/Config_git.pl +12 -0
- data/Slic3r/Linux/lib/std/Config_heavy.pl +1355 -0
- data/Slic3r/Linux/lib/std/Crypt/CBC.pm +1050 -0
- data/Slic3r/Linux/lib/std/Crypt/SSLeay.pm +457 -0
- data/Slic3r/Linux/lib/std/Crypt/SSLeay/CTX.pm +4 -0
- data/Slic3r/Linux/lib/std/Crypt/SSLeay/Conn.pm +4 -0
- data/Slic3r/Linux/lib/std/Crypt/SSLeay/Err.pm +4 -0
- data/Slic3r/Linux/lib/std/Crypt/SSLeay/MainContext.pm +42 -0
- data/Slic3r/Linux/lib/std/Crypt/SSLeay/X509.pm +26 -0
- data/Slic3r/Linux/lib/std/Cwd.pm +855 -0
- data/Slic3r/Linux/lib/std/Data/Dumper.pm +1306 -0
- data/Slic3r/Linux/lib/std/Data/UUID.pm +204 -0
- data/Slic3r/Linux/lib/std/Devel/GlobalDestruction.pm +110 -0
- data/Slic3r/Linux/lib/std/Digest/HMAC.pm +120 -0
- data/Slic3r/Linux/lib/std/Digest/HMAC_MD5.pm +71 -0
- data/Slic3r/Linux/lib/std/Digest/MD5.pm +376 -0
- data/Slic3r/Linux/lib/std/Digest/SHA.pm +701 -0
- data/Slic3r/Linux/lib/std/Digest/base.pm +100 -0
- data/Slic3r/Linux/lib/std/Encode.pm +977 -0
- data/Slic3r/Linux/lib/std/Encode/Alias.pm +384 -0
- data/Slic3r/Linux/lib/std/Encode/Byte.pm +120 -0
- data/Slic3r/Linux/lib/std/Encode/CJKConstants.pm +66 -0
- data/Slic3r/Linux/lib/std/Encode/CN.pm +74 -0
- data/Slic3r/Linux/lib/std/Encode/CN/HZ.pm +198 -0
- data/Slic3r/Linux/lib/std/Encode/Config.pm +170 -0
- data/Slic3r/Linux/lib/std/Encode/EBCDIC.pm +45 -0
- data/Slic3r/Linux/lib/std/Encode/Encoder.pm +253 -0
- data/Slic3r/Linux/lib/std/Encode/Encoding.pm +360 -0
- data/Slic3r/Linux/lib/std/Encode/GSM0338.pm +292 -0
- data/Slic3r/Linux/lib/std/Encode/Guess.pm +355 -0
- data/Slic3r/Linux/lib/std/Encode/JP.pm +95 -0
- data/Slic3r/Linux/lib/std/Encode/JP/H2Z.pm +176 -0
- data/Slic3r/Linux/lib/std/Encode/JP/JIS7.pm +165 -0
- data/Slic3r/Linux/lib/std/Encode/KR.pm +69 -0
- data/Slic3r/Linux/lib/std/Encode/KR/2022_KR.pm +81 -0
- data/Slic3r/Linux/lib/std/Encode/Locale.pm +348 -0
- data/Slic3r/Linux/lib/std/Encode/MIME/Header.pm +242 -0
- data/Slic3r/Linux/lib/std/Encode/MIME/Header/ISO_2022_JP.pm +131 -0
- data/Slic3r/Linux/lib/std/Encode/MIME/Name.pm +94 -0
- data/Slic3r/Linux/lib/std/Encode/Symbol.pm +44 -0
- data/Slic3r/Linux/lib/std/Encode/TW.pm +75 -0
- data/Slic3r/Linux/lib/std/Encode/Unicode.pm +270 -0
- data/Slic3r/Linux/lib/std/Encode/Unicode/UTF7.pm +130 -0
- data/Slic3r/Linux/lib/std/Errno.pm +282 -0
- data/Slic3r/Linux/lib/std/Fcntl.pm +186 -0
- data/Slic3r/Linux/lib/std/File/Basename.pm +402 -0
- data/Slic3r/Linux/lib/std/File/Glob.pm +437 -0
- data/Slic3r/Linux/lib/std/File/GlobMapper.pm +679 -0
- data/Slic3r/Linux/lib/std/File/Listing.pm +435 -0
- data/Slic3r/Linux/lib/std/File/Path.pm +981 -0
- data/Slic3r/Linux/lib/std/File/Spec.pm +339 -0
- data/Slic3r/Linux/lib/std/File/Spec/Cygwin.pm +160 -0
- data/Slic3r/Linux/lib/std/File/Spec/Epoc.pm +79 -0
- data/Slic3r/Linux/lib/std/File/Spec/Functions.pm +130 -0
- data/Slic3r/Linux/lib/std/File/Spec/Mac.pm +786 -0
- data/Slic3r/Linux/lib/std/File/Spec/OS2.pm +276 -0
- data/Slic3r/Linux/lib/std/File/Spec/Unix.pm +595 -0
- data/Slic3r/Linux/lib/std/File/Spec/VMS.pm +679 -0
- data/Slic3r/Linux/lib/std/File/Spec/Win32.pm +446 -0
- data/Slic3r/Linux/lib/std/File/Temp.pm +2452 -0
- data/Slic3r/Linux/lib/std/File/stat.pm +345 -0
- data/Slic3r/Linux/lib/std/FileHandle.pm +262 -0
- data/Slic3r/Linux/lib/std/Filter/Util/Call.pm +498 -0
- data/Slic3r/Linux/lib/std/FindBin.pm +209 -0
- data/Slic3r/Linux/lib/std/Getopt/Long.pm +2693 -0
- data/Slic3r/Linux/lib/std/Growl/GNTP.pm +595 -0
- data/Slic3r/Linux/lib/std/HTML/Entities.pm +483 -0
- data/Slic3r/Linux/lib/std/HTML/HeadParser.pm +310 -0
- data/Slic3r/Linux/lib/std/HTML/Parser.pm +1240 -0
- data/Slic3r/Linux/lib/std/HTTP/Config.pm +436 -0
- data/Slic3r/Linux/lib/std/HTTP/Cookies.pm +781 -0
- data/Slic3r/Linux/lib/std/HTTP/Cookies/Netscape.pm +114 -0
- data/Slic3r/Linux/lib/std/HTTP/Date.pm +388 -0
- data/Slic3r/Linux/lib/std/HTTP/Headers.pm +849 -0
- data/Slic3r/Linux/lib/std/HTTP/Headers/Util.pm +199 -0
- data/Slic3r/Linux/lib/std/HTTP/Message.pm +1107 -0
- data/Slic3r/Linux/lib/std/HTTP/Negotiate.pm +528 -0
- data/Slic3r/Linux/lib/std/HTTP/Request.pm +242 -0
- data/Slic3r/Linux/lib/std/HTTP/Request/Common.pm +514 -0
- data/Slic3r/Linux/lib/std/HTTP/Response.pm +638 -0
- data/Slic3r/Linux/lib/std/HTTP/Status.pm +267 -0
- data/Slic3r/Linux/lib/std/I18N/Langinfo.pm +191 -0
- data/Slic3r/Linux/lib/std/IO.pm +68 -0
- data/Slic3r/Linux/lib/std/IO/Compress/Adapter/Bzip2.pm +162 -0
- data/Slic3r/Linux/lib/std/IO/Compress/Adapter/Deflate.pm +165 -0
- data/Slic3r/Linux/lib/std/IO/Compress/Base.pm +981 -0
- data/Slic3r/Linux/lib/std/IO/Compress/Base/Common.pm +956 -0
- data/Slic3r/Linux/lib/std/IO/Compress/Bzip2.pm +758 -0
- data/Slic3r/Linux/lib/std/IO/Compress/Deflate.pm +930 -0
- data/Slic3r/Linux/lib/std/IO/Compress/Gzip.pm +1242 -0
- data/Slic3r/Linux/lib/std/IO/Compress/Gzip/Constants.pm +148 -0
- data/Slic3r/Linux/lib/std/IO/Compress/RawDeflate.pm +1017 -0
- data/Slic3r/Linux/lib/std/IO/Compress/Zlib/Constants.pm +77 -0
- data/Slic3r/Linux/lib/std/IO/Compress/Zlib/Extra.pm +198 -0
- data/Slic3r/Linux/lib/std/IO/Dir.pm +248 -0
- data/Slic3r/Linux/lib/std/IO/File.pm +204 -0
- data/Slic3r/Linux/lib/std/IO/Handle.pm +646 -0
- data/Slic3r/Linux/lib/std/IO/Pipe.pm +257 -0
- data/Slic3r/Linux/lib/std/IO/Seekable.pm +128 -0
- data/Slic3r/Linux/lib/std/IO/Select.pm +387 -0
- data/Slic3r/Linux/lib/std/IO/Socket.pm +540 -0
- data/Slic3r/Linux/lib/std/IO/Socket/INET.pm +464 -0
- data/Slic3r/Linux/lib/std/IO/Socket/SSL.pm +2456 -0
- data/Slic3r/Linux/lib/std/IO/Socket/UNIX.pm +143 -0
- data/Slic3r/Linux/lib/std/IO/Uncompress/Adapter/Bunzip2.pm +112 -0
- data/Slic3r/Linux/lib/std/IO/Uncompress/Adapter/Inflate.pm +158 -0
- data/Slic3r/Linux/lib/std/IO/Uncompress/Base.pm +1483 -0
- data/Slic3r/Linux/lib/std/IO/Uncompress/Bunzip2.pm +858 -0
- data/Slic3r/Linux/lib/std/IO/Uncompress/Gunzip.pm +1111 -0
- data/Slic3r/Linux/lib/std/IO/Uncompress/Inflate.pm +982 -0
- data/Slic3r/Linux/lib/std/IO/Uncompress/RawInflate.pm +1110 -0
- data/Slic3r/Linux/lib/std/Import/Into.pm +289 -0
- data/Slic3r/Linux/lib/std/LWP.pm +667 -0
- data/Slic3r/Linux/lib/std/LWP/Authen/Basic.pm +65 -0
- data/Slic3r/Linux/lib/std/LWP/Authen/Digest.pm +68 -0
- data/Slic3r/Linux/lib/std/LWP/Authen/Ntlm.pm +180 -0
- data/Slic3r/Linux/lib/std/LWP/ConnCache.pm +313 -0
- data/Slic3r/Linux/lib/std/LWP/MediaTypes.pm +280 -0
- data/Slic3r/Linux/lib/std/LWP/MemberMixin.pm +44 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol.pm +291 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/GHTTP.pm +73 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/cpan.pm +72 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/data.pm +52 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/file.pm +146 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/ftp.pm +543 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/gopher.pm +213 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/http.pm +501 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/https.pm +132 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/loopback.pm +26 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/mailto.pm +183 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/nntp.pm +145 -0
- data/Slic3r/Linux/lib/std/LWP/Protocol/nogo.pm +24 -0
- data/Slic3r/Linux/lib/std/LWP/UserAgent.pm +1859 -0
- data/Slic3r/Linux/lib/std/List/Util.pm +433 -0
- data/Slic3r/Linux/lib/std/MIME/Base64.pm +188 -0
- data/Slic3r/Linux/lib/std/MIME/QuotedPrint.pm +114 -0
- data/Slic3r/Linux/lib/std/Mail/Address.pm +273 -0
- data/Slic3r/Linux/lib/std/Mail/Header.pm +637 -0
- data/Slic3r/Linux/lib/std/Mail/Internet.pm +546 -0
- data/Slic3r/Linux/lib/std/Mail/Mailer.pm +215 -0
- data/Slic3r/Linux/lib/std/Mail/Util.pm +149 -0
- data/Slic3r/Linux/lib/std/Math/BigFloat.pm +4493 -0
- data/Slic3r/Linux/lib/std/Math/BigFloat/Trace.pm +58 -0
- data/Slic3r/Linux/lib/std/Math/BigInt.pm +5284 -0
- data/Slic3r/Linux/lib/std/Math/BigInt/Calc.pm +2970 -0
- data/Slic3r/Linux/lib/std/Math/BigInt/CalcEmu.pm +329 -0
- data/Slic3r/Linux/lib/std/Math/BigInt/FastCalc.pm +112 -0
- data/Slic3r/Linux/lib/std/Math/BigInt/Trace.pm +47 -0
- data/Slic3r/Linux/lib/std/Math/Complex.pm +2093 -0
- data/Slic3r/Linux/lib/std/Math/Libm.pm +199 -0
- data/Slic3r/Linux/lib/std/Math/PlanePath.pm +2211 -0
- data/Slic3r/Linux/lib/std/Math/PlanePath/ArchimedeanChords.pm +686 -0
- data/Slic3r/Linux/lib/std/Math/PlanePath/Base/Digits.pm +389 -0
- data/Slic3r/Linux/lib/std/Math/PlanePath/Base/Generic.pm +242 -0
- data/Slic3r/Linux/lib/std/Math/PlanePath/Base/NSEW.pm +114 -0
- data/Slic3r/Linux/lib/std/Math/PlanePath/Flowsnake.pm +886 -0
- data/Slic3r/Linux/lib/std/Math/PlanePath/FlowsnakeCentres.pm +1018 -0
- data/Slic3r/Linux/lib/std/Math/PlanePath/HilbertCurve.pm +772 -0
- data/Slic3r/Linux/lib/std/Math/PlanePath/MultipleRings.pm +1715 -0
- data/Slic3r/Linux/lib/std/Math/PlanePath/OctagramSpiral.pm +469 -0
- data/Slic3r/Linux/lib/std/Math/PlanePath/SacksSpiral.pm +440 -0
- data/Slic3r/Linux/lib/std/Math/Trig.pm +768 -0
- data/Slic3r/Linux/lib/std/Method/Generate/Accessor.pm +652 -0
- data/Slic3r/Linux/lib/std/Method/Generate/BuildAll.pm +33 -0
- data/Slic3r/Linux/lib/std/Method/Generate/Constructor.pm +221 -0
- data/Slic3r/Linux/lib/std/Method/Generate/DemolishAll.pm +48 -0
- data/Slic3r/Linux/lib/std/Module/Runtime.pm +494 -0
- data/Slic3r/Linux/lib/std/Moo.pm +989 -0
- data/Slic3r/Linux/lib/std/Moo/HandleMoose.pm +210 -0
- data/Slic3r/Linux/lib/std/Moo/HandleMoose/FakeMetaClass.pm +21 -0
- data/Slic3r/Linux/lib/std/Moo/HandleMoose/_TypeMap.pm +72 -0
- data/Slic3r/Linux/lib/std/Moo/Object.pm +80 -0
- data/Slic3r/Linux/lib/std/Moo/Role.pm +475 -0
- data/Slic3r/Linux/lib/std/Moo/_Utils.pm +124 -0
- data/Slic3r/Linux/lib/std/Moo/_mro.pm +10 -0
- data/Slic3r/Linux/lib/std/Moo/sification.pm +22 -0
- data/Slic3r/Linux/lib/std/Mozilla/CA.pm +99 -0
- data/Slic3r/Linux/lib/std/Mozilla/CA/cacert.pem +3366 -0
- data/Slic3r/Linux/lib/std/Net/Cmd.pm +783 -0
- data/Slic3r/Linux/lib/std/Net/Config.pm +312 -0
- data/Slic3r/Linux/lib/std/Net/Domain.pm +347 -0
- data/Slic3r/Linux/lib/std/Net/FTP.pm +1829 -0
- data/Slic3r/Linux/lib/std/Net/FTP/A.pm +111 -0
- data/Slic3r/Linux/lib/std/Net/FTP/E.pm +8 -0
- data/Slic3r/Linux/lib/std/Net/FTP/I.pm +80 -0
- data/Slic3r/Linux/lib/std/Net/FTP/L.pm +8 -0
- data/Slic3r/Linux/lib/std/Net/FTP/dataconn.pm +124 -0
- data/Slic3r/Linux/lib/std/Net/HTTP.pm +279 -0
- data/Slic3r/Linux/lib/std/Net/HTTP/Methods.pm +593 -0
- data/Slic3r/Linux/lib/std/Net/HTTPS.pm +110 -0
- data/Slic3r/Linux/lib/std/Net/NNTP.pm +1140 -0
- data/Slic3r/Linux/lib/std/Net/Netrc.pm +325 -0
- data/Slic3r/Linux/lib/std/Net/SMTP.pm +867 -0
- data/Slic3r/Linux/lib/std/Net/SSL.pm +639 -0
- data/Slic3r/Linux/lib/std/Net/SSLeay.pm +2692 -0
- data/Slic3r/Linux/lib/std/OpenGL.pm +6288 -0
- data/Slic3r/Linux/lib/std/POSIX.pm +1037 -0
- data/Slic3r/Linux/lib/std/Params/Validate/XS.pm +51 -0
- data/Slic3r/Linux/lib/std/PerlIO.pm +332 -0
- data/Slic3r/Linux/lib/std/PerlIO/encoding.pm +53 -0
- data/Slic3r/Linux/lib/std/PerlIO/scalar.pm +41 -0
- data/Slic3r/Linux/lib/std/PerlIO/via.pm +243 -0
- data/Slic3r/Linux/lib/std/PerlIO/via/QuotedPrint.pm +94 -0
- data/Slic3r/Linux/lib/std/Pod/Escapes.pm +721 -0
- data/Slic3r/Linux/lib/std/Pod/InputObjects.pm +936 -0
- data/Slic3r/Linux/lib/std/Pod/Parser.pm +1829 -0
- data/Slic3r/Linux/lib/std/Pod/PlainText.pm +738 -0
- data/Slic3r/Linux/lib/std/Pod/Select.pm +746 -0
- data/Slic3r/Linux/lib/std/Pod/Simple.pm +1535 -0
- data/Slic3r/Linux/lib/std/Pod/Simple/BlackBox.pm +1930 -0
- data/Slic3r/Linux/lib/std/Pod/Simple/LinkSection.pm +174 -0
- data/Slic3r/Linux/lib/std/Pod/Simple/TiedOutFH.pm +105 -0
- data/Slic3r/Linux/lib/std/Pod/Simple/Transcode.pm +35 -0
- data/Slic3r/Linux/lib/std/Pod/Text.pm +886 -0
- data/Slic3r/Linux/lib/std/Pod/Usage.pm +730 -0
- data/Slic3r/Linux/lib/std/Role/Tiny.pm +698 -0
- data/Slic3r/Linux/lib/std/SVG.pm +341 -0
- data/Slic3r/Linux/lib/std/SVG/DOM.pm +804 -0
- data/Slic3r/Linux/lib/std/SVG/Element.pm +1649 -0
- data/Slic3r/Linux/lib/std/SVG/Extension.pm +458 -0
- data/Slic3r/Linux/lib/std/SVG/XML.pm +185 -0
- data/Slic3r/Linux/lib/std/Scalar/Util.pm +325 -0
- data/Slic3r/Linux/lib/std/SelectSaver.pm +54 -0
- data/Slic3r/Linux/lib/std/Slic3r.pm +180 -0
- data/Slic3r/Linux/lib/std/Slic3r/Build.pm +8 -0
- data/Slic3r/Linux/lib/std/Slic3r/Config.pm +456 -0
- data/Slic3r/Linux/lib/std/Slic3r/ExPolygon.pm +53 -0
- data/Slic3r/Linux/lib/std/Slic3r/Extruder.pm +52 -0
- data/Slic3r/Linux/lib/std/Slic3r/ExtrusionLoop.pm +12 -0
- data/Slic3r/Linux/lib/std/Slic3r/ExtrusionPath.pm +12 -0
- data/Slic3r/Linux/lib/std/Slic3r/ExtrusionPath/Collection.pm +5 -0
- data/Slic3r/Linux/lib/std/Slic3r/Fill.pm +259 -0
- data/Slic3r/Linux/lib/std/Slic3r/Fill/ArchimedeanChords.pm +7 -0
- data/Slic3r/Linux/lib/std/Slic3r/Fill/Base.pm +81 -0
- data/Slic3r/Linux/lib/std/Slic3r/Fill/Concentric.pm +65 -0
- data/Slic3r/Linux/lib/std/Slic3r/Fill/Flowsnake.pm +18 -0
- data/Slic3r/Linux/lib/std/Slic3r/Fill/HilbertCurve.pm +7 -0
- data/Slic3r/Linux/lib/std/Slic3r/Fill/Honeycomb.pm +128 -0
- data/Slic3r/Linux/lib/std/Slic3r/Fill/Line.pm +8 -0
- data/Slic3r/Linux/lib/std/Slic3r/Fill/OctagramSpiral.pm +9 -0
- data/Slic3r/Linux/lib/std/Slic3r/Fill/PlanePath.pm +61 -0
- data/Slic3r/Linux/lib/std/Slic3r/Fill/Rectilinear.pm +110 -0
- data/Slic3r/Linux/lib/std/Slic3r/Flow.pm +12 -0
- data/Slic3r/Linux/lib/std/Slic3r/Format/AMF.pm +122 -0
- data/Slic3r/Linux/lib/std/Slic3r/Format/AMF/Parser.pm +157 -0
- data/Slic3r/Linux/lib/std/Slic3r/Format/OBJ.pm +36 -0
- data/Slic3r/Linux/lib/std/Slic3r/Format/STL.pm +39 -0
- data/Slic3r/Linux/lib/std/Slic3r/GCode.pm +696 -0
- data/Slic3r/Linux/lib/std/Slic3r/GCode/ArcFitting.pm +242 -0
- data/Slic3r/Linux/lib/std/Slic3r/GCode/CoolingBuffer.pm +80 -0
- data/Slic3r/Linux/lib/std/Slic3r/GCode/Layer.pm +238 -0
- data/Slic3r/Linux/lib/std/Slic3r/GCode/MotionPlanner.pm +317 -0
- data/Slic3r/Linux/lib/std/Slic3r/GCode/PlaceholderParser.pm +83 -0
- data/Slic3r/Linux/lib/std/Slic3r/GCode/Reader.pm +72 -0
- data/Slic3r/Linux/lib/std/Slic3r/GCode/SpiralVase.pm +81 -0
- data/Slic3r/Linux/lib/std/Slic3r/GCode/VibrationLimit.pm +64 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI.pm +586 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/AboutDialog.pm +110 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/ConfigWizard.pm +373 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/OptionsGroup.pm +504 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater.pm +1437 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater/ObjectCutDialog.pm +153 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater/ObjectPartsPanel.pm +268 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater/ObjectPreviewDialog.pm +30 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater/ObjectSettingsDialog.pm +175 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater/OverrideSettingsPanel.pm +137 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/Preferences.pm +78 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/PreviewCanvas.pm +506 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/SimpleTab.pm +230 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/SkeinPanel.pm +550 -0
- data/Slic3r/Linux/lib/std/Slic3r/GUI/Tab.pm +944 -0
- data/Slic3r/Linux/lib/std/Slic3r/Geometry.pm +753 -0
- data/Slic3r/Linux/lib/std/Slic3r/Geometry/Clipper.pm +13 -0
- data/Slic3r/Linux/lib/std/Slic3r/Layer.pm +76 -0
- data/Slic3r/Linux/lib/std/Slic3r/Layer/BridgeDetector.pm +277 -0
- data/Slic3r/Linux/lib/std/Slic3r/Layer/Region.pm +545 -0
- data/Slic3r/Linux/lib/std/Slic3r/Line.pm +21 -0
- data/Slic3r/Linux/lib/std/Slic3r/Model.pm +608 -0
- data/Slic3r/Linux/lib/std/Slic3r/Point.pm +10 -0
- data/Slic3r/Linux/lib/std/Slic3r/Polygon.pm +95 -0
- data/Slic3r/Linux/lib/std/Slic3r/Polyline.pm +40 -0
- data/Slic3r/Linux/lib/std/Slic3r/Print.pm +1146 -0
- data/Slic3r/Linux/lib/std/Slic3r/Print/Object.pm +1023 -0
- data/Slic3r/Linux/lib/std/Slic3r/Print/Region.pm +63 -0
- data/Slic3r/Linux/lib/std/Slic3r/Print/Simple.pm +108 -0
- data/Slic3r/Linux/lib/std/Slic3r/Print/State.pm +28 -0
- data/Slic3r/Linux/lib/std/Slic3r/Print/SupportMaterial.pm +862 -0
- data/Slic3r/Linux/lib/std/Slic3r/SVG.pm +142 -0
- data/Slic3r/Linux/lib/std/Slic3r/Surface.pm +15 -0
- data/Slic3r/Linux/lib/std/Slic3r/Test/SectionCut.pm +170 -0
- data/Slic3r/Linux/lib/std/Slic3r/TriangleMesh.pm +22 -0
- data/Slic3r/Linux/lib/std/Slic3r/XS.pm +205 -0
- data/Slic3r/Linux/lib/std/Socket.pm +804 -0
- data/Slic3r/Linux/lib/std/Storable.pm +1227 -0
- data/Slic3r/Linux/lib/std/Sub/Defer.pm +141 -0
- data/Slic3r/Linux/lib/std/Sub/Exporter/Progressive.pm +158 -0
- data/Slic3r/Linux/lib/std/Sub/Quote.pm +368 -0
- data/Slic3r/Linux/lib/std/Symbol.pm +170 -0
- data/Slic3r/Linux/lib/std/Term/Cap.pm +799 -0
- data/Slic3r/Linux/lib/std/Text/ParseWords.pm +294 -0
- data/Slic3r/Linux/lib/std/Thread/Queue.pm +476 -0
- data/Slic3r/Linux/lib/std/Tie/Handle.pm +201 -0
- data/Slic3r/Linux/lib/std/Tie/Hash.pm +268 -0
- data/Slic3r/Linux/lib/std/Tie/Hash/NamedCapture.pm +49 -0
- data/Slic3r/Linux/lib/std/Tie/StdHandle.pm +71 -0
- data/Slic3r/Linux/lib/std/Time/HiRes.pm +591 -0
- data/Slic3r/Linux/lib/std/Time/Local.pm +384 -0
- data/Slic3r/Linux/lib/std/Time/Zone.pm +291 -0
- data/Slic3r/Linux/lib/std/UNIVERSAL.pm +214 -0
- data/Slic3r/Linux/lib/std/URI.pm +1131 -0
- data/Slic3r/Linux/lib/std/URI/Escape.pm +208 -0
- data/Slic3r/Linux/lib/std/URI/Heuristic.pm +253 -0
- data/Slic3r/Linux/lib/std/URI/IRI.pm +44 -0
- data/Slic3r/Linux/lib/std/URI/QueryParam.pm +193 -0
- data/Slic3r/Linux/lib/std/URI/Split.pm +96 -0
- data/Slic3r/Linux/lib/std/URI/URL.pm +305 -0
- data/Slic3r/Linux/lib/std/URI/WithBase.pm +171 -0
- data/Slic3r/Linux/lib/std/URI/_foreign.pm +6 -0
- data/Slic3r/Linux/lib/std/URI/_generic.pm +252 -0
- data/Slic3r/Linux/lib/std/URI/_idna.pm +87 -0
- data/Slic3r/Linux/lib/std/URI/_ldap.pm +140 -0
- data/Slic3r/Linux/lib/std/URI/_login.pm +10 -0
- data/Slic3r/Linux/lib/std/URI/_punycode.pm +202 -0
- data/Slic3r/Linux/lib/std/URI/_query.pm +93 -0
- data/Slic3r/Linux/lib/std/URI/_segment.pm +20 -0
- data/Slic3r/Linux/lib/std/URI/_server.pm +162 -0
- data/Slic3r/Linux/lib/std/URI/_userpass.pm +51 -0
- data/Slic3r/Linux/lib/std/URI/data.pm +140 -0
- data/Slic3r/Linux/lib/std/URI/file.pm +328 -0
- data/Slic3r/Linux/lib/std/URI/file/Base.pm +80 -0
- data/Slic3r/Linux/lib/std/URI/file/FAT.pm +23 -0
- data/Slic3r/Linux/lib/std/URI/file/Mac.pm +120 -0
- data/Slic3r/Linux/lib/std/URI/file/OS2.pm +28 -0
- data/Slic3r/Linux/lib/std/URI/file/QNX.pm +18 -0
- data/Slic3r/Linux/lib/std/URI/file/Unix.pm +55 -0
- data/Slic3r/Linux/lib/std/URI/file/Win32.pm +84 -0
- data/Slic3r/Linux/lib/std/URI/ftp.pm +45 -0
- data/Slic3r/Linux/lib/std/URI/gopher.pm +94 -0
- data/Slic3r/Linux/lib/std/URI/http.pm +25 -0
- data/Slic3r/Linux/lib/std/URI/https.pm +9 -0
- data/Slic3r/Linux/lib/std/URI/ldap.pm +122 -0
- data/Slic3r/Linux/lib/std/URI/ldapi.pm +30 -0
- data/Slic3r/Linux/lib/std/URI/ldaps.pm +9 -0
- data/Slic3r/Linux/lib/std/URI/mailto.pm +72 -0
- data/Slic3r/Linux/lib/std/URI/mms.pm +8 -0
- data/Slic3r/Linux/lib/std/URI/news.pm +68 -0
- data/Slic3r/Linux/lib/std/URI/nntp.pm +6 -0
- data/Slic3r/Linux/lib/std/URI/pop.pm +68 -0
- data/Slic3r/Linux/lib/std/URI/rlogin.pm +7 -0
- data/Slic3r/Linux/lib/std/URI/rsync.pm +12 -0
- data/Slic3r/Linux/lib/std/URI/rtsp.pm +8 -0
- data/Slic3r/Linux/lib/std/URI/rtspu.pm +8 -0
- data/Slic3r/Linux/lib/std/URI/sip.pm +86 -0
- data/Slic3r/Linux/lib/std/URI/sips.pm +9 -0
- data/Slic3r/Linux/lib/std/URI/snews.pm +10 -0
- data/Slic3r/Linux/lib/std/URI/ssh.pm +11 -0
- data/Slic3r/Linux/lib/std/URI/telnet.pm +7 -0
- data/Slic3r/Linux/lib/std/URI/tn3270.pm +7 -0
- data/Slic3r/Linux/lib/std/URI/urn.pm +97 -0
- data/Slic3r/Linux/lib/std/URI/urn/isbn.pm +102 -0
- data/Slic3r/Linux/lib/std/URI/urn/oid.pm +18 -0
- data/Slic3r/Linux/lib/std/Wx.pm +394 -0
- data/Slic3r/Linux/lib/std/Wx/App.pm +54 -0
- data/Slic3r/Linux/lib/std/Wx/DND.pm +74 -0
- data/Slic3r/Linux/lib/std/Wx/DropSource.pm +33 -0
- data/Slic3r/Linux/lib/std/Wx/Event.pm +469 -0
- data/Slic3r/Linux/lib/std/Wx/GLCanvas.pm +84 -0
- data/Slic3r/Linux/lib/std/Wx/Grid.pm +128 -0
- data/Slic3r/Linux/lib/std/Wx/Html.pm +67 -0
- data/Slic3r/Linux/lib/std/Wx/Locale.pm +61 -0
- data/Slic3r/Linux/lib/std/Wx/Menu.pm +74 -0
- data/Slic3r/Linux/lib/std/Wx/Mini.pm +181 -0
- data/Slic3r/Linux/lib/std/Wx/Print.pm +56 -0
- data/Slic3r/Linux/lib/std/Wx/RadioBox.pm +53 -0
- data/Slic3r/Linux/lib/std/Wx/Timer.pm +56 -0
- data/Slic3r/Linux/lib/std/Wx/Wx_Exp.pm +9494 -0
- data/Slic3r/Linux/lib/std/XML/NamespaceSupport.pm +583 -0
- data/Slic3r/Linux/lib/std/XML/SAX.pm +379 -0
- data/Slic3r/Linux/lib/std/XML/SAX/Base.pm +3176 -0
- data/Slic3r/Linux/lib/std/XML/SAX/BuildSAXBase.pl +847 -0
- data/Slic3r/Linux/lib/std/XML/SAX/DocumentLocator.pm +134 -0
- data/Slic3r/Linux/lib/std/XML/SAX/Exception.pm +129 -0
- data/Slic3r/Linux/lib/std/XML/SAX/ExpatXS.pm +354 -0
- data/Slic3r/Linux/lib/std/XML/SAX/ExpatXS/Encoding.pm +184 -0
- data/Slic3r/Linux/lib/std/XML/SAX/ExpatXS/Preload.pm +288 -0
- data/Slic3r/Linux/lib/std/XML/SAX/ParserDetails.ini +16 -0
- data/Slic3r/Linux/lib/std/XML/SAX/ParserFactory.pm +230 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl.pm +751 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/DTDDecls.pm +603 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/DebugHandler.pm +95 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/DocType.pm +180 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/EncodingDetect.pm +105 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Exception.pm +67 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/NoUnicodeExt.pm +28 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Productions.pm +147 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader.pm +136 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader/NoUnicodeExt.pm +25 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader/Stream.pm +84 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader/String.pm +78 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader/URI.pm +57 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader/UnicodeExt.pm +23 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/UnicodeExt.pm +22 -0
- data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/XMLDecl.pm +129 -0
- data/Slic3r/Linux/lib/std/attributes.pm +490 -0
- data/Slic3r/Linux/lib/std/auto/B/B.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Class/XSAccessor/XSAccessor.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Compress/Raw/Bzip2/Bzip2.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Compress/Raw/Bzip2/autosplit.ix +3 -0
- data/Slic3r/Linux/lib/std/auto/Compress/Raw/Zlib/Zlib.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Compress/Raw/Zlib/autosplit.ix +3 -0
- data/Slic3r/Linux/lib/std/auto/Crypt/SSLeay/SSLeay.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Cwd/Cwd.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Data/Dumper/Dumper.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Data/UUID/UUID.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Digest/MD5/MD5.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Digest/SHA/SHA.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Encode/Byte/Byte.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Encode/CN/CN.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Encode/EBCDIC/EBCDIC.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Encode/Encode.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Encode/JP/JP.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Encode/KR/KR.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Encode/Symbol/Symbol.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Encode/TW/TW.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Encode/Unicode/Unicode.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Fcntl/Fcntl.so +0 -0
- data/Slic3r/Linux/lib/std/auto/File/Glob/Glob.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Filter/Util/Call/Call.so +0 -0
- data/Slic3r/Linux/lib/std/auto/HTML/Parser/Parser.so +0 -0
- data/Slic3r/Linux/lib/std/auto/I18N/Langinfo/Langinfo.so +0 -0
- data/Slic3r/Linux/lib/std/auto/IO/IO.so +0 -0
- data/Slic3r/Linux/lib/std/auto/List/Util/Util.so +0 -0
- data/Slic3r/Linux/lib/std/auto/MIME/Base64/Base64.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Math/BigInt/FastCalc/FastCalc.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Math/Libm/Libm.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Math/Libm/autosplit.ix +3 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/SSLeay.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/autosplit.ix +78 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/debug_read.al +22 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_https.al +18 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_https2.al +13 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_https3.al +13 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_https4.al +12 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_httpx2.al +18 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_httpx3.al +43 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_httpx4.al +19 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/dump_peer_certificate.al +29 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_http.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_http3.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_http4.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_https.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_https3.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_https4.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_httpx.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_httpx3.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_httpx4.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_http.al +10 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_http3.al +10 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_http4.al +12 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_https.al +10 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_https3.al +10 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_https4.al +12 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_httpx.al +10 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_httpx3.al +10 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_httpx4.al +13 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/http_cat.al +34 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/https_cat.al +97 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/httpx_cat.al +18 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/make_form.al +25 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/make_headers.al +21 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/new_x_ctx.al +16 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/open_proxy_tcp_connection.al +31 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/open_tcp_connection.al +40 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_http.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_http3.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_http4.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_https.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_https3.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_https4.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_httpx.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_httpx3.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_httpx4.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_http.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_http3.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_http4.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_https.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_https3.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_https4.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_httpx.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_httpx3.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_httpx4.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/randomize.al +31 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/set_cert_and_key.al +23 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/set_proxy.al +16 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/set_server_cert_and_key.al +14 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/ssl_read_CRLF.al +10 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/ssl_read_all.al +28 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/ssl_read_until.al +95 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/ssl_write_CRLF.al +23 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/ssl_write_all.al +149 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/sslcat.al +99 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcp_read_CRLF.al +11 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcp_read_all.al +26 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcp_read_until.al +34 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcp_write_CRLF.al +23 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcp_write_all.al +36 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcpcat.al +37 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcpxcat.al +17 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/want_X509_lookup.al +15 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/want_nothing.al +16 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/want_read.al +9 -0
- data/Slic3r/Linux/lib/std/auto/Net/SSLeay/want_write.al +9 -0
- data/Slic3r/Linux/lib/std/auto/OpenGL/OpenGL.so +0 -0
- data/Slic3r/Linux/lib/std/auto/OpenGL/autosplit.ix +3 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/POSIX.so +0 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigAction/flags.al +9 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigAction/handler.al +9 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigAction/mask.al +9 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigAction/new.al +11 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigAction/safe.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/CLEAR.al +9 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/DELETE.al +9 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/EXISTS.al +9 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/FETCH.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/SCALAR.al +9 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/STORE.al +9 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/_check.al +15 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/_croak.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/_exist.al +14 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/_getsig.al +17 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/_init.al +14 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/new.al +17 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/abs.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/alarm.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/assert.al +15 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/atan2.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/atexit.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/atof.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/atoi.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/atol.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/autosplit.ix +173 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/bsearch.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/calloc.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/chdir.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/chmod.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/chown.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/clearerr.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/closedir.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/cos.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/creat.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/div.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/errno.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/execl.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/execle.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/execlp.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/execv.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/execve.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/execvp.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/exit.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/exp.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fabs.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fclose.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fcntl.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fdopen.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/feof.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/ferror.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fflush.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fgetc.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fgetpos.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fgets.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fileno.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fopen.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fork.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fprintf.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fputc.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fputs.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fread.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/free.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/freopen.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fscanf.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fseek.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fsetpos.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fstat.al +17 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fsync.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/ftell.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/fwrite.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getc.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getchar.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getegid.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getenv.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/geteuid.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getgid.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getgrgid.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getgrnam.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getgroups.al +14 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getlogin.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getpgrp.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getpid.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getppid.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getpwnam.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getpwuid.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/gets.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/getuid.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/gmtime.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/isatty.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/kill.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/labs.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/ldiv.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/link.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/load_imports.al +231 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/localtime.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/log.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/longjmp.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/malloc.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/memchr.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/memcmp.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/memcpy.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/memmove.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/memset.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/mkdir.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/offsetof.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/opendir.al +16 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/perror.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/pow.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/printf.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/putc.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/putchar.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/puts.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/qsort.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/raise.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/rand.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/readdir.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/realloc.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/redef.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/remove.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/rename.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/rewind.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/rewinddir.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/rmdir.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/scanf.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/setbuf.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/setjmp.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/setvbuf.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/siglongjmp.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/sigsetjmp.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/sin.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/sleep.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/sprintf.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/sqrt.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/srand.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/sscanf.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/stat.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strcat.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strchr.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strcmp.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strcpy.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strcspn.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strerror.al +14 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strlen.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strncat.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strncmp.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strncpy.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strpbrk.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strrchr.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strspn.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strstr.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/strtok.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/system.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/time.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/tmpfile.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/tolower.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/toupper.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/umask.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/ungetc.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/unimpl.al +14 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/unlink.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/usage.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/utime.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/vfprintf.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/vprintf.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/vsprintf.al +12 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/wait.al +13 -0
- data/Slic3r/Linux/lib/std/auto/POSIX/waitpid.al +13 -0
- data/Slic3r/Linux/lib/std/auto/Params/Validate/XS/XS.so +0 -0
- data/Slic3r/Linux/lib/std/auto/PerlIO/encoding/encoding.so +0 -0
- data/Slic3r/Linux/lib/std/auto/PerlIO/scalar/scalar.so +0 -0
- data/Slic3r/Linux/lib/std/auto/PerlIO/via/via.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Slic3r/XS/XS.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Socket/Socket.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Storable/Storable.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Tie/Hash/NamedCapture/NamedCapture.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Time/HiRes/HiRes.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Wx/DND/DND.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Wx/GLCanvas/GLCanvas.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Wx/Grid/Grid.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Wx/Html/Html.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Wx/Print/Print.so +0 -0
- data/Slic3r/Linux/lib/std/auto/Wx/Wx.so +0 -0
- data/Slic3r/Linux/lib/std/auto/XML/SAX/ExpatXS/ExpatXS.so +0 -0
- data/Slic3r/Linux/lib/std/auto/attributes/attributes.so +0 -0
- data/Slic3r/Linux/lib/std/auto/mro/mro.so +0 -0
- data/Slic3r/Linux/lib/std/auto/re/re.so +0 -0
- data/Slic3r/Linux/lib/std/auto/threads/shared/shared.so +0 -0
- data/Slic3r/Linux/lib/std/auto/threads/threads.so +0 -0
- data/Slic3r/Linux/lib/std/base.pm +265 -0
- data/Slic3r/Linux/lib/std/bytes.pm +100 -0
- data/Slic3r/Linux/lib/std/bytes_heavy.pl +40 -0
- data/Slic3r/Linux/lib/std/constant.pm +397 -0
- data/Slic3r/Linux/lib/std/constant/defer.pm +441 -0
- data/Slic3r/Linux/lib/std/encoding.pm +669 -0
- data/Slic3r/Linux/lib/std/encoding/warnings.pm +239 -0
- data/Slic3r/Linux/lib/std/feature.pm +249 -0
- data/Slic3r/Linux/lib/std/filetest.pm +117 -0
- data/Slic3r/Linux/lib/std/integer.pm +93 -0
- data/Slic3r/Linux/lib/std/less.pm +158 -0
- data/Slic3r/Linux/lib/std/mro.pm +363 -0
- data/Slic3r/Linux/lib/std/overload.pm +1701 -0
- data/Slic3r/Linux/lib/std/parent.pm +136 -0
- data/Slic3r/Linux/lib/std/re.pm +604 -0
- data/Slic3r/Linux/lib/std/slic3r.pl +491 -0
- data/Slic3r/Linux/lib/std/sort.pm +196 -0
- data/Slic3r/Linux/lib/std/strictures.pm +296 -0
- data/Slic3r/Linux/lib/std/threads.pm +1115 -0
- data/Slic3r/Linux/lib/std/threads/shared.pm +616 -0
- data/Slic3r/Linux/lib/std/unicore/Heavy.pl +3261 -0
- data/Slic3r/Linux/lib/std/unicore/To/Age.pl +1036 -0
- data/Slic3r/Linux/lib/std/unicore/To/Bc.pl +555 -0
- data/Slic3r/Linux/lib/std/unicore/To/Bmg.pl +375 -0
- data/Slic3r/Linux/lib/std/unicore/To/Digit.pl +433 -0
- data/Slic3r/Linux/lib/std/unicore/To/Dt.pl +759 -0
- data/Slic3r/Linux/lib/std/unicore/To/Ea.pl +245 -0
- data/Slic3r/Linux/lib/std/unicore/To/Fold.pl +1177 -0
- data/Slic3r/Linux/lib/std/unicore/To/GCB.pl +1177 -0
- data/Slic3r/Linux/lib/std/unicore/To/Gc.pl +2639 -0
- data/Slic3r/Linux/lib/std/unicore/To/Hst.pl +822 -0
- data/Slic3r/Linux/lib/std/unicore/To/Jg.pl +144 -0
- data/Slic3r/Linux/lib/std/unicore/To/Jt.pl +292 -0
- data/Slic3r/Linux/lib/std/unicore/To/Lb.pl +2195 -0
- data/Slic3r/Linux/lib/std/unicore/To/Lower.pl +1061 -0
- data/Slic3r/Linux/lib/std/unicore/To/NFCQC.pl +126 -0
- data/Slic3r/Linux/lib/std/unicore/To/NFDQC.pl +245 -0
- data/Slic3r/Linux/lib/std/unicore/To/NFKCCF.pl +9815 -0
- data/Slic3r/Linux/lib/std/unicore/To/NFKCQC.pl +265 -0
- data/Slic3r/Linux/lib/std/unicore/To/NFKDQC.pl +367 -0
- data/Slic3r/Linux/lib/std/unicore/To/Na1.pl +1996 -0
- data/Slic3r/Linux/lib/std/unicore/To/Nt.pl +198 -0
- data/Slic3r/Linux/lib/std/unicore/To/Nv.pl +1157 -0
- data/Slic3r/Linux/lib/std/unicore/To/SB.pl +1958 -0
- data/Slic3r/Linux/lib/std/unicore/To/Sc.pl +702 -0
- data/Slic3r/Linux/lib/std/unicore/To/Title.pl +1117 -0
- data/Slic3r/Linux/lib/std/unicore/To/Upper.pl +1144 -0
- data/Slic3r/Linux/lib/std/unicore/To/WB.pl +691 -0
- data/Slic3r/Linux/lib/std/unicore/To/_slc.pl +46 -0
- data/Slic3r/Linux/lib/std/unicore/To/_stc.pl +45 -0
- data/Slic3r/Linux/lib/std/unicore/To/_suc.pl +45 -0
- data/Slic3r/Linux/lib/std/unicore/lib/AHex/N.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/AHex/Y.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/1_1.pl +300 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/2_0.pl +41 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/2_1.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/3_0.pl +133 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/3_1.pl +48 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/3_2.pl +71 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/4_0.pl +89 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/4_1.pl +98 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/5_0.pl +47 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/5_1.pl +101 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/5_2.pl +102 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/6_0.pl +118 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Age/Unassign.pl +522 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Alpha/N.pl +499 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Alpha/Y.pl +498 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/AL.pl +30 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/AN.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/B.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/BN.pl +41 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/CS.pl +25 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/EN.pl +23 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/ES.pl +21 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/ET.pl +33 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/L.pl +358 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/LRE.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/LRO.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/NSM.pl +211 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/ON.pl +195 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/PDF.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/R.pl +40 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/RLE.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/RLO.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/S.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Bc/WS.pl +20 -0
- data/Slic3r/Linux/lib/std/unicore/lib/BidiC/N.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/BidiC/Y.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/BidiM/N.pl +124 -0
- data/Slic3r/Linux/lib/std/unicore/lib/BidiM/Y.pl +123 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/ASCII.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/AegeanNu.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Alchemic.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Alphabet.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ancient2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/AncientG.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/AncientS.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Arabic.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/ArabicP2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/ArabicPr.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/ArabicSu.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Armenian.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Arrows.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Avestan.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Balinese.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Bamum.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/BamumSup.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Batak.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Bengali.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/BlockEle.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Bopomof2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Bopomofo.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/BoxDrawi.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Brahmi.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/BrailleP.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Buginese.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Buhid.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Byzantin.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKComp2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKComp3.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKComp4.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKCompa.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKRadic.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKStrok.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKSymbo.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKUnif2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKUnif3.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKUnif4.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKUnif5.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKUnifi.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Canadian.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Carian.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cham.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cherokee.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Combini2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Combini3.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Combini4.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Combinin.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CommonIn.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/ControlP.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Coptic.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Counting.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cuneifo2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cuneifor.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Currency.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/CypriotS.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cyrilli2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cyrilli3.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cyrilli4.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cyrillic.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Deseret.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Devanag2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Devanaga.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Dingbats.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/DominoTi.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Egyptian.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Emoticon.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Enclose2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Enclose3.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Enclose4.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Enclosed.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ethiopi2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ethiopi3.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ethiopi4.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ethiopic.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/GeneralP.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Geometri.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Georgia2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Georgian.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Glagolit.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Gothic.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Greek.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/GreekExt.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Gujarati.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Gurmukhi.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Halfwidt.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/HangulCo.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/HangulJ2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/HangulJ3.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/HangulJa.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/HangulSy.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Hanunoo.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Hebrew.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/HighPriv.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/HighSurr.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Hiragana.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/IPAExten.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ideograp.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Imperial.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Inscrip2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Inscript.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Javanese.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Kaithi.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/KanaSupp.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Kanbun.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/KangxiRa.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Kannada.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Katakan2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Katakana.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/KayahLi.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Kharosht.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Khmer.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/KhmerSym.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Lao.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Latin1.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/LatinEx2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/LatinEx3.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/LatinEx4.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/LatinEx5.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/LatinExt.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Lepcha.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Letterli.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Limbu.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/LinearBI.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/LinearBS.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Lisu.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/LowSurro.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Lycian.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Lydian.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/MahjongT.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Malayala.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Mandaic.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Mathema2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Mathemat.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/MeeteiMa.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscell2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscell3.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscell4.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscell5.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscell6.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscella.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Modifier.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Mongolia.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/MusicalS.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Myanmar.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/MyanmarE.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/NKo.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/NewTaiLu.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/NoBlock.pl +45 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/NumberFo.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ogham.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/OlChiki.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/OldItali.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/OldPersi.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/OldSouth.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/OldTurki.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/OpticalC.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Oriya.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Osmanya.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/PhagsPa.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Phaistos.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Phoenici.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Phoneti2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Phonetic.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/PlayingC.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/PrivateU.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Rejang.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/RumiNume.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Runic.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Samarita.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Saurasht.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Shavian.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Sinhala.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/SmallFor.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/SpacingM.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Specials.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Sundanes.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Superscr.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Supplem2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Supplem3.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Supplem4.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Supplem5.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Supplem6.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Suppleme.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/SylotiNa.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Syriac.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tagalog.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tagbanwa.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tags.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/TaiLe.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/TaiTham.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/TaiViet.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/TaiXuanJ.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tamil.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Telugu.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Thaana.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Thai.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tibetan.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tifinagh.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Transpor.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ugaritic.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/UnifiedC.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Vai.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Variati2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Variatio.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/VedicExt.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/Vertical.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/YiRadica.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/YiSyllab.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Blk/YijingHe.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CE/N.pl +46 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CE/Y.pl +45 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CI/N.pl +290 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CI/Y.pl +289 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWCF/N.pl +590 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWCF/Y.pl +589 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWCM/N.pl +112 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWCM/Y.pl +111 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWKCF/N.pl +765 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWKCF/Y.pl +764 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWL/N.pl +579 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWL/Y.pl +578 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWT/N.pl +596 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWT/Y.pl +595 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWU/N.pl +595 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CWU/Y.pl +594 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Cased/N.pl +125 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Cased/Y.pl +124 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/10.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/103.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/107.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/11.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/118.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/12.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/122.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/129.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/13.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/130.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/132.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/14.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/15.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/16.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/17.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/18.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/19.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/20.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/21.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/22.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/23.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/24.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/25.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/26.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/27.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/28.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/29.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/30.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/31.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/32.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/33.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/34.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/35.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/36.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/84.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/91.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/A.pl +96 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/AL.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/AR.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/ATA.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/ATAR.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/ATB.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/ATBL.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/B.pl +71 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/BL.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/BR.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/DA.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/DB.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/IS.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/KV.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/L.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/NK.pl +24 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/NR.pl +135 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/OV.pl +21 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/R.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ccc/VR.pl +41 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CompEx/N.pl +87 -0
- data/Slic3r/Linux/lib/std/unicore/lib/CompEx/Y.pl +86 -0
- data/Slic3r/Linux/lib/std/unicore/lib/DI/N.pl +28 -0
- data/Slic3r/Linux/lib/std/unicore/lib/DI/Y.pl +27 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dash/N.pl +32 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dash/Y.pl +31 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dep/N.pl +22 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dep/Y.pl +21 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dia/N.pl +130 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dia/Y.pl +129 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Com.pl +86 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Enc.pl +20 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Fin.pl +125 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Font.pl +46 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Fra.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Init.pl +87 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Iso.pl +110 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Med.pl +66 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Nar.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Nb.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/NonCanon.pl +161 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/None.pl +362 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Sml.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Sqr.pl +21 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Sub.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Sup.pl +32 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Dt/Vert.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ea/A.pl +185 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ea/F.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ea/H.pl +19 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ea/N.pl +227 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ea/Na.pl +19 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ea/W.pl +49 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ext/N.pl +33 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ext/Y.pl +32 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/CN.pl +32 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/CR.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/EX.pl +227 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/L.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/LF.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/LV.pl +411 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/LVT.pl +411 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/PP.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/SM.pl +125 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/T.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/V.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GCB/XX.pl +224 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/C.pl +516 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Cc.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Cf.pl +27 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Cn.pl +513 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Co.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Cs.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/L.pl +447 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/LC.pl +122 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Ll.pl +621 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Lm.pl +61 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Lo.pl +335 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Lu.pl +615 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/M.pl +205 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Mc.pl +125 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Me.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Mn.pl +215 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/N.pl +95 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Nl.pl +24 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/No.pl +53 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/P.pl +145 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Pd.pl +27 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Pe.pl +82 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Pf.pl +22 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Pi.pl +23 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Po.pl +140 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Ps.pl +84 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/S.pl +220 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Sc.pl +28 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Sk.pl +39 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Sm.pl +78 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/So.pl +176 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Z.pl +21 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Zl.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Zp.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Gc/Zs.pl +20 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GrBase/N.pl +609 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GrBase/Y.pl +608 -0
- data/Slic3r/Linux/lib/std/unicore/lib/GrExt/N.pl +228 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Hex/N.pl +19 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Hex/Y.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Hst/NA.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Hyphen/N.pl +23 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Hyphen/Y.pl +22 -0
- data/Slic3r/Linux/lib/std/unicore/lib/IDC/N.pl +527 -0
- data/Slic3r/Linux/lib/std/unicore/lib/IDC/Y.pl +526 -0
- data/Slic3r/Linux/lib/std/unicore/lib/IDS/N.pl +450 -0
- data/Slic3r/Linux/lib/std/unicore/lib/IDS/Y.pl +449 -0
- data/Slic3r/Linux/lib/std/unicore/lib/IDSB/N.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/IDSB/Y.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/IDST/N.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/IDST/Y.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ideo/N.pl +25 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Ideo/Y.pl +24 -0
- data/Slic3r/Linux/lib/std/unicore/lib/In/2_0.pl +324 -0
- data/Slic3r/Linux/lib/std/unicore/lib/In/2_1.pl +324 -0
- data/Slic3r/Linux/lib/std/unicore/lib/In/3_0.pl +381 -0
- data/Slic3r/Linux/lib/std/unicore/lib/In/3_1.pl +414 -0
- data/Slic3r/Linux/lib/std/unicore/lib/In/3_2.pl +409 -0
- data/Slic3r/Linux/lib/std/unicore/lib/In/4_0.pl +424 -0
- data/Slic3r/Linux/lib/std/unicore/lib/In/4_1.pl +442 -0
- data/Slic3r/Linux/lib/std/unicore/lib/In/5_0.pl +452 -0
- data/Slic3r/Linux/lib/std/unicore/lib/In/5_1.pl +467 -0
- data/Slic3r/Linux/lib/std/unicore/lib/In/5_2.pl +507 -0
- data/Slic3r/Linux/lib/std/unicore/lib/In/6_0.pl +523 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Ain.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Alaph.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Alef.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Beh.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Beth.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Burushas.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Dal.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/DalathRi.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/E.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/FarsiYeh.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Fe.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Feh.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/FinalSem.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Gaf.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Gamal.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Hah.pl +19 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/He.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Heh.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/HehGoal.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Heth.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Kaf.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Kaph.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Khaph.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/KnottedH.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Lam.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Lamadh.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Meem.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Mim.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/NoJoinin.pl +26 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Noon.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Nun.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Nya.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Pe.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Qaf.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Qaph.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Reh.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Reversed.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Sad.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Sadhe.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Seen.pl +19 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Semkath.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Shin.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/SwashKaf.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/SyriacWa.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Tah.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Taw.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/TehMarb2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/TehMarbu.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Teth.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Waw.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Yeh.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/YehBarre.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/YehWithT.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Yudh.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/YudhHe.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Zain.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jg/Zhain.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/JoinC/N.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/JoinC/Y.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jt/C.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jt/D.pl +41 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jt/R.pl +40 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jt/T.pl +226 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Jt/U.pl +231 -0
- data/Slic3r/Linux/lib/std/unicore/lib/LOE/N.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/AI.pl +117 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/AL.pl +576 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/B2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/BA.pl +74 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/BB.pl +24 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/BK.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/CB.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/CL.pl +91 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/CM.pl +189 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/CP.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/EX.pl +34 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/GL.pl +23 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/HY.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/ID.pl +85 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/IN.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/IS.pl +22 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/NL.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/NS.pl +49 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/NU.pl +50 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/OP.pl +91 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/PO.pl +30 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/PR.pl +31 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/QU.pl +24 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/SA.pl +49 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/SG.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/SP.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/SY.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/WJ.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/XX.pl +505 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lb/ZW.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lower/N.pl +625 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Lower/Y.pl +624 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Math/N.pl +119 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Math/Y.pl +118 -0
- data/Slic3r/Linux/lib/std/unicore/lib/NChar/N.pl +30 -0
- data/Slic3r/Linux/lib/std/unicore/lib/NChar/Y.pl +30 -0
- data/Slic3r/Linux/lib/std/unicore/lib/NFCQC/Y.pl +118 -0
- data/Slic3r/Linux/lib/std/unicore/lib/NFDQC/N.pl +239 -0
- data/Slic3r/Linux/lib/std/unicore/lib/NFDQC/Y.pl +240 -0
- data/Slic3r/Linux/lib/std/unicore/lib/NFKCQC/M.pl +46 -0
- data/Slic3r/Linux/lib/std/unicore/lib/NFKCQC/N.pl +225 -0
- data/Slic3r/Linux/lib/std/unicore/lib/NFKCQC/Y.pl +256 -0
- data/Slic3r/Linux/lib/std/unicore/lib/NFKDQC/N.pl +361 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nt/De.pl +50 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nt/Di.pl +32 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nt/Nu.pl +134 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/0.pl +67 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1.pl +102 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/10.pl +47 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/100.pl +32 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1000.pl +28 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/10000.pl +19 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/100000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/10000000.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/10000002.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/11.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/11_2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/12.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/13.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/13_2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/14.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/15.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/15_2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/16.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/17.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/17_2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/18.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/19.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_10.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_16.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_2.pl +21 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_3.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_4.pl +21 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_5.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_6.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_7.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_8.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_9.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/2.pl +105 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/20.pl +30 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/200.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/2000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/20000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/21.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/22.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/23.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/24.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/25.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/26.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/27.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/28.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/29.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/2_3.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/2_5.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/3.pl +103 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/30.pl +22 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/300.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/3000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/30000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/31.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/32.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/33.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/34.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/35.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/36.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/37.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/38.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/39.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/3_16.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/3_2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/3_4.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/3_5.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/3_8.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/4.pl +97 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/40.pl +21 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/400.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/4000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/40000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/41.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/42.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/43.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/44.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/45.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/46.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/47.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/48.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/49.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/4_5.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/5.pl +97 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/50.pl +28 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/500.pl +20 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/5000.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/50000.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/5_2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/5_6.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/5_8.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/6.pl +90 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/60.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/600.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/6000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/60000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/7.pl +87 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/70.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/700.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/7000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/70000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/7_2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/7_8.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/8.pl +84 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/80.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/800.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/8000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/80000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/9.pl +86 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/90.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/900.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/9000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/90000.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/9_2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/NaN.pl +170 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Nv/_1_2.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OAlpha/N.pl +158 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OAlpha/Y.pl +157 -0
- data/Slic3r/Linux/lib/std/unicore/lib/ODI/N.pl +23 -0
- data/Slic3r/Linux/lib/std/unicore/lib/ODI/Y.pl +22 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OGrExt/N.pl +29 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OGrExt/Y.pl +28 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OIDC/N.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OIDC/Y.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OIDS/N.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OIDS/Y.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OLower/N.pl +26 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OLower/Y.pl +25 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OMath/N.pl +113 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OMath/Y.pl +112 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OUpper/N.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/OUpper/Y.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/PatSyn/N.pl +41 -0
- data/Slic3r/Linux/lib/std/unicore/lib/PatSyn/Y.pl +40 -0
- data/Slic3r/Linux/lib/std/unicore/lib/PatWS/N.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/PatWS/Y.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/Alnum.pl +521 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/Any.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/Assigned.pl +513 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/Blank.pl +21 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/Graph.pl +518 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PerlSpac.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PerlWord.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixAln.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixAlp.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixBla.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixCnt.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixDig.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixGra.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixLow.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixPri.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixPun.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixSpa.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixUpp.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/Print.pl +515 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/SpacePer.pl +24 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/Title.pl +22 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/VertSpac.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/Word.pl +526 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/XPosixPu.pl +140 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/_XBegin.pl +30 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/_XExtend.pl +206 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Perl/_XLVLVTV.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/QMark/N.pl +25 -0
- data/Slic3r/Linux/lib/std/unicore/lib/QMark/Y.pl +24 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Radical/N.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Radical/Y.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/AT.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/CL.pl +53 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/EX.pl +207 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/FO.pl +28 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/LE.pl +362 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/LO.pl +623 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/SC.pl +31 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/SE.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/ST.pl +56 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/Sp.pl +22 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/UP.pl +620 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SB/XX.pl +584 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SD/N.pl +44 -0
- data/Slic3r/Linux/lib/std/unicore/lib/SD/Y.pl +43 -0
- data/Slic3r/Linux/lib/std/unicore/lib/STerm/N.pl +60 -0
- data/Slic3r/Linux/lib/std/unicore/lib/STerm/Y.pl +59 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Arab.pl +31 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Armi.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Armn.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Avst.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Bali.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Bamu.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Batk.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Beng.pl +26 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Bopo.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Brah.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Bugi.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Buhd.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cans.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cari.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cham.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cher.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Copt.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cprt.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cyrl.pl +19 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Deva.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Egyp.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Ethi.pl +44 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Geor.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Glag.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Goth.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Grek.pl +45 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Gujr.pl +26 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Guru.pl +28 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Han.pl +28 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Hang.pl +26 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Hano.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Hebr.pl +21 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Hira.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Ital.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Java.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Kana.pl +20 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Khar.pl +20 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Khmr.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Knda.pl +26 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Kthi.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Lana.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Lao.pl +30 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Latn.pl +42 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Lepc.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Limb.pl +17 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Linb.pl +19 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Lyci.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Lydi.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Mand.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Mlym.pl +23 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Mong.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Mtei.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Mymr.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Nko.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Ogam.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Orkh.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Orya.pl +26 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Osma.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Phag.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Phli.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Phnx.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Prti.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Rjng.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Runr.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Samr.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Saur.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Sinh.pl +23 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Sund.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Sylo.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Syrc.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tagb.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tale.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Talu.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Taml.pl +28 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tavt.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Telu.pl +26 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tfng.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tglg.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Thaa.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Thai.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tibt.pl +19 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Ugar.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Vai.pl +13 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Xpeo.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Xsux.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Yi.pl +14 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Zinh.pl +36 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Zyyy.pl +181 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Sc/Zzzz.pl +511 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Space/N.pl +24 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Space/Y.pl +23 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Term/N.pl +80 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Term/Y.pl +79 -0
- data/Slic3r/Linux/lib/std/unicore/lib/UIdeo/N.pl +25 -0
- data/Slic3r/Linux/lib/std/unicore/lib/UIdeo/Y.pl +24 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Upper/N.pl +618 -0
- data/Slic3r/Linux/lib/std/unicore/lib/Upper/Y.pl +617 -0
- data/Slic3r/Linux/lib/std/unicore/lib/VS/N.pl +16 -0
- data/Slic3r/Linux/lib/std/unicore/lib/VS/Y.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/WB/EX.pl +18 -0
- data/Slic3r/Linux/lib/std/unicore/lib/WB/FO.pl +27 -0
- data/Slic3r/Linux/lib/std/unicore/lib/WB/KA.pl +21 -0
- data/Slic3r/Linux/lib/std/unicore/lib/WB/LE.pl +388 -0
- data/Slic3r/Linux/lib/std/unicore/lib/WB/MB.pl +19 -0
- data/Slic3r/Linux/lib/std/unicore/lib/WB/ML.pl +20 -0
- data/Slic3r/Linux/lib/std/unicore/lib/WB/MN.pl +26 -0
- data/Slic3r/Linux/lib/std/unicore/lib/WB/NL.pl +15 -0
- data/Slic3r/Linux/lib/std/unicore/lib/WB/NU.pl +50 -0
- data/Slic3r/Linux/lib/std/unicore/lib/WB/XX.pl +539 -0
- data/Slic3r/Linux/lib/std/unicore/lib/XIDC/N.pl +534 -0
- data/Slic3r/Linux/lib/std/unicore/lib/XIDC/Y.pl +533 -0
- data/Slic3r/Linux/lib/std/unicore/lib/XIDS/N.pl +457 -0
- data/Slic3r/Linux/lib/std/unicore/lib/XIDS/Y.pl +456 -0
- data/Slic3r/Linux/lib/std/utf8.pm +214 -0
- data/Slic3r/Linux/lib/std/utf8_heavy.pl +550 -0
- data/Slic3r/Linux/lib/vrt/528ccea98cad02a5f453a7135f9ca183/package.lib +0 -0
- data/Slic3r/Linux/lib/vrt/804f15d0b003b04c3feb68e47adacf8d/package.lib +1 -0
- data/Slic3r/Linux/lib/vrt/fa119178d164dcf97f19aecc876231c0/package.lib +0 -0
- data/Slic3r/Linux/res/Slic3r.icns +0 -0
- data/Slic3r/Linux/res/Slic3r.ico +0 -0
- data/Slic3r/Linux/res/Slic3r.png +0 -0
- data/Slic3r/Linux/res/Slic3r_128px.png +0 -0
- data/Slic3r/Linux/res/Slic3r_192px.png +0 -0
- data/Slic3r/Linux/res/Slic3r_192px_transparent.png +0 -0
- data/Slic3r/Linux/res/add.png +0 -0
- data/Slic3r/Linux/res/arrow_out.png +0 -0
- data/Slic3r/Linux/res/arrow_rotate_anticlockwise.png +0 -0
- data/Slic3r/Linux/res/arrow_rotate_clockwise.png +0 -0
- data/Slic3r/Linux/res/arrow_up.png +0 -0
- data/Slic3r/Linux/res/box.png +0 -0
- data/Slic3r/Linux/res/brick.png +0 -0
- data/Slic3r/Linux/res/brick_add.png +0 -0
- data/Slic3r/Linux/res/brick_delete.png +0 -0
- data/Slic3r/Linux/res/brick_go.png +0 -0
- data/Slic3r/Linux/res/bricks.png +0 -0
- data/Slic3r/Linux/res/building.png +0 -0
- data/Slic3r/Linux/res/bullet_black.png +0 -0
- data/Slic3r/Linux/res/bullet_blue.png +0 -0
- data/Slic3r/Linux/res/bullet_white.png +0 -0
- data/Slic3r/Linux/res/cog.png +0 -0
- data/Slic3r/Linux/res/cog_go.png +0 -0
- data/Slic3r/Linux/res/cross.png +0 -0
- data/Slic3r/Linux/res/delete.png +0 -0
- data/Slic3r/Linux/res/disk.png +0 -0
- data/Slic3r/Linux/res/error.png +0 -0
- data/Slic3r/Linux/res/funnel.png +0 -0
- data/Slic3r/Linux/res/hourglass.png +0 -0
- data/Slic3r/Linux/res/layers.png +0 -0
- data/Slic3r/Linux/res/note.png +0 -0
- data/Slic3r/Linux/res/package.png +0 -0
- data/Slic3r/Linux/res/package_green.png +0 -0
- data/Slic3r/Linux/res/page_white_go.png +0 -0
- data/Slic3r/Linux/res/plugin.png +0 -0
- data/Slic3r/Linux/res/printer_empty.png +0 -0
- data/Slic3r/Linux/res/shading.png +0 -0
- data/Slic3r/Linux/res/shape_ungroup.png +0 -0
- data/Slic3r/Linux/res/spool.png +0 -0
- data/Slic3r/Linux/res/tag_blue.png +0 -0
- data/Slic3r/Linux/res/time.png +0 -0
- data/Slic3r/Linux/res/wrench.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libperl.dylib +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu-2.9.3.0.0.dylib +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu-2.9.3.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu-2.9.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu_net-2.9.3.0.0.dylib +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu_net-2.9.3.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu_net-2.9.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_adv-2.9.3.0.0.dylib +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_adv-2.9.3.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_adv-2.9.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_core-2.9.3.0.0.dylib +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_core-2.9.3.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_core-2.9.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_gl-2.9.3.0.0.dylib +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_gl-2.9.3.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_gl-2.9.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_html-2.9.3.0.0.dylib +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_html-2.9.3.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_html-2.9.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_media-2.9.3.0.0.dylib +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_media-2.9.3.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_media-2.9.dylib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Info.plist +27 -0
- data/Slic3r/Mac/Slic3r.app/Contents/MacOS/slic3r +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/PkgInfo +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/Slic3r.icns +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/std/Mozilla/CA.pm +99 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/std/Mozilla/CA/cacert.pem +3366 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/std/XML/SAX/ParserDetails.ini +16 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/00fe171e54eaa45f327269069a84261c/SHA.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/01641a74022c3bbdcd3a4cd5ffa26f07/ExpatXS.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/02275a9ba60dd2657ec564332cc8c8a6/mro.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/0599c4249af65dd82091e4b41e75dcac/GLCanvas.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/0b007f4858c19ac489b6482dc8d8e973/Base64.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/11897113663a72e0cf3a40f86569d0d3/package.lib +437 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/181b750c50b989ea215e0c9788700590/scalar.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/18e56ac547628015c934d8e62b2e59fb/shared.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/193e996343c27253990f34ec93d7ae14/XS.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/1e7eafa7ded7f14757bba03f9721336f/MD5.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/2203e7a3df69c390965a2aa240378b54/FastCalc.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/3b0e1864ce168232981b0e0b6e4ba639/Zlib.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/4219a41428dfbeccc0004f15dc4778d8/Unicode.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/42c3d19347a691f255d231da3d91f1ab/package.lib +332 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/446150103e8711b6887777b796b96e92/Storable.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/471029ae61c0427e58f24ac9e5a0cca5/package.lib +41 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/4b2be1b5f4e6e6643e35d2fcdd27000d/Fcntl.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/4c8cb4098e6eacc0dda716777c02e08e/Print.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/51a64b55f893bfcb317be27527adb1c6/XSAccessor.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/528ccea98cad02a5f453a7135f9ca183/package.lib +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/5abe14a55ea43955299905c968f6b868/NamedCapture.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/5da723b19d0784844a5d9228c25b1022/IO.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/5efcd6c8c536b3b2d25ffece18e6cc7f/Byte.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/62d4f6d2fa13586d2f8d48e80fcaad8d/re.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/65951cec1d16610098f09e209050a4e5/encoding.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/72315e121508feb38a782d3bd60cf0e1/Encode.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/72f45450977a0f098e76b5b1270fb1fa/TW.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/74f1151ea68af8b93e28a8d7b59bc6f1/Util.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/7a1d45f404be604381d8b95f374ecae2/POSIX.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/7a9108dfb82f49ad15e339776671a0c9/KR.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/7e549424075365bb7bac11a08b208145/XS.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/7e7926fce7d528168853b8dab2c9ccd2/Socket.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/804f15d0b003b04c3feb68e47adacf8d/package.lib +1 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/826014915c535a7285f886166a778440/Cwd.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/83e7bddbda22f4666134d95e35b3292e/Grid.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/8efb4e8160ee47f9e953900fd189e72c/Symbol.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/9077b3800b946e19da99a53a92321f77/JP.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/9425135f44548a4e211eabfbba86fdf7/B.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/94c9b361d23d6847d023b9e82acbc595/UUID.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/953dbc6f080a921c10f4fb4adf0a6ea7/SealRequireHints.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/9f303c03e9bb3b3307210ed1399034f4/Dumper.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/a3809d03e71342d25daf495917654688/indirect.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/a499207f115577de989dae697bccf1f7/via.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/a4ff00c6243840a7c5a181800d0a0e9f/Glob.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/a8a5488c950b4ae4ab726834ab1f4629/Parser.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/a927c16eae43f6d2d1fcbca4288c2613/Bzip2.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/b2467e1e23f7295c8b0e819807403777/Check.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/b75af51104891e1861cf27a85a06248f/SSLeay.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/c04409d610134c279178eaab1c0cd45e/multidimensional.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/c37c19e69c64f01f83616050a4290081/filehandles.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/c63ee2950efe3f9517034e269406a6f1/Call.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/c8b43a9fa99c2589e0af3851636037ae/threads.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/c9bc0bb4eaabb8b3b85268094134ae30/SSLeay.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/cb9c4ab6b50a6ba6e9a1c58866acb842/HiRes.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/d73dc34729c26340077a511c9aeae54c/Langinfo.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/e0833c18d9957e5ef93fd12ea63dc88c/Libm.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/e4596f5a53563fc95d87c9738c6ed3f1/attributes.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/e69ac1437c1fe7ba8a391d4a6e017895/DND.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/f0daa614fb85c8dc08ddd86ef81f8546/EBCDIC.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/f3d865c9882d669a56d9890365558ef3/Wx.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/f77494368a2754d99fc9ae63725241b9/CN.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/f7b6e5c51850d9c5b8f9f118bf8c79e5/OpenGL.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/fa119178d164dcf97f19aecc876231c0/package.lib +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/ff1c32bbf4efed322b40618fa6cc887f/Html.bundle +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r.icns +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r.ico +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r_128px.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r_192px.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r_192px_transparent.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/add.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/arrow_out.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/arrow_rotate_anticlockwise.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/arrow_rotate_clockwise.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/arrow_up.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/box.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/brick.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/brick_add.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/brick_delete.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/brick_go.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/bricks.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/building.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/bullet_black.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/bullet_blue.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/bullet_white.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/cog.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/cog_go.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/cross.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/delete.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/disk.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/error.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/funnel.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/hourglass.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/layers.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/note.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/package.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/package_green.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/page_white_go.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/plugin.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/printer_empty.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/shading.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/shape_ungroup.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/spool.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/tag_blue.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/time.png +0 -0
- data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/wrench.png +0 -0
- data/Slic3r/Win/bin/cpfworkrt/cpfworkrt.manifest +8 -0
- data/Slic3r/Win/bin/cpfworkrt/libgcc_s_sjlj-1.dll +0 -0
- data/Slic3r/Win/bin/cpfworkrt/libstdc++-6.dll +0 -0
- data/Slic3r/Win/bin/cpfworkrt/perl514.dll +0 -0
- data/Slic3r/Win/cpfworkrt/cpfworkrt.manifest +8 -0
- data/Slic3r/Win/cpfworkrt/libgcc_s_sjlj-1.dll +0 -0
- data/Slic3r/Win/cpfworkrt/libstdc++-6.dll +0 -0
- data/Slic3r/Win/cpfworkrt/perl514.dll +0 -0
- data/Slic3r/Win/dll/cpwgui.exe +0 -0
- data/Slic3r/Win/dll/wxbase293u_gcc_citrusperl.dll +0 -0
- data/Slic3r/Win/dll/wxbase293u_net_gcc_citrusperl.dll +0 -0
- data/Slic3r/Win/dll/wxmsw293u_adv_gcc_citrusperl.dll +0 -0
- data/Slic3r/Win/dll/wxmsw293u_core_gcc_citrusperl.dll +0 -0
- data/Slic3r/Win/dll/wxmsw293u_gl_gcc_citrusperl.dll +0 -0
- data/Slic3r/Win/dll/wxmsw293u_html_gcc_citrusperl.dll +0 -0
- data/Slic3r/Win/lib/std/Mozilla/CA.pm +99 -0
- data/Slic3r/Win/lib/std/Mozilla/CA/cacert.pem +3366 -0
- data/Slic3r/Win/lib/std/XML/SAX/ParserDetails.ini +16 -0
- data/Slic3r/Win/lib/vrt/00065b3cc7c31741588c51da0ebf7cfc/Storable.dll +0 -0
- data/Slic3r/Win/lib/vrt/0e211ef5300e42b7129e72ce6934dd03/File.dll +0 -0
- data/Slic3r/Win/lib/vrt/11897113663a72e0cf3a40f86569d0d3/package.lib +437 -0
- data/Slic3r/Win/lib/vrt/13887bf5057dfc645e73f9cbc2107b0b/shared.dll +0 -0
- data/Slic3r/Win/lib/vrt/13b74231834b96c1b29d9bb7ff9fc803/XSAccessor.dll +0 -0
- data/Slic3r/Win/lib/vrt/17a8fd354d07706b1d8e07133653aefe/Unicode.dll +0 -0
- data/Slic3r/Win/lib/vrt/1ff31eb32e672b10095dc07142eda94e/Byte.dll +0 -0
- data/Slic3r/Win/lib/vrt/212acdb3b0d578c6c31b6f5b102aaf9f/OpenGL.dll +0 -0
- data/Slic3r/Win/lib/vrt/212acdb3b0d578c6c31b6f5b102aaf9f/freeglut.dll +0 -0
- data/Slic3r/Win/lib/vrt/2b09d17ec43a6c01f265254b54d60739/Dumper.dll +0 -0
- data/Slic3r/Win/lib/vrt/2ce0a6f8648060f015cf6b795bedf11d/SHA.dll +0 -0
- data/Slic3r/Win/lib/vrt/3545b2d83c9d9a29194f9ab80ec5474b/Fcntl.dll +0 -0
- data/Slic3r/Win/lib/vrt/38786f297f552b7038b60152ad9b90fc/ExpatXS.dll +0 -0
- data/Slic3r/Win/lib/vrt/3d306f1634430f34d0521f8ea684e9ec/SSLeay.dll +0 -0
- data/Slic3r/Win/lib/vrt/3ea9b1cd80f790518c416324dd069ebd/encoding.dll +0 -0
- data/Slic3r/Win/lib/vrt/41c42900fc0d462e9a31e174ac8a654c/Html.dll +0 -0
- data/Slic3r/Win/lib/vrt/42c3d19347a691f255d231da3d91f1ab/package.lib +332 -0
- data/Slic3r/Win/lib/vrt/4699e2a2c6a572106b4070861d78c22a/Parser.dll +0 -0
- data/Slic3r/Win/lib/vrt/46c688003f4a63abb5816f68b951f727/MD5.dll +0 -0
- data/Slic3r/Win/lib/vrt/471029ae61c0427e58f24ac9e5a0cca5/package.lib +41 -0
- data/Slic3r/Win/lib/vrt/49bdccea41102e6d90906b74653d30ab/HiRes.dll +0 -0
- data/Slic3r/Win/lib/vrt/4c9065158b425703c56336bd7fd5bbf2/SSLeay.dll +0 -0
- data/Slic3r/Win/lib/vrt/50e0982503943dcf3f001fc2d17d4075/JP.dll +0 -0
- data/Slic3r/Win/lib/vrt/528ccea98cad02a5f453a7135f9ca183/package.lib +0 -0
- data/Slic3r/Win/lib/vrt/6419170f57dff2f058fefa3f8f37c897/EBCDIC.dll +0 -0
- data/Slic3r/Win/lib/vrt/655af4e236089eadb910a60a39fbe815/attributes.dll +0 -0
- data/Slic3r/Win/lib/vrt/6c123a3a5b411759cc21a293df5bed0e/SealRequireHints.dll +0 -0
- data/Slic3r/Win/lib/vrt/7ba0890aa8ff0eed7abb9f76181bd637/Console.dll +0 -0
- data/Slic3r/Win/lib/vrt/7ef678fd3db32983bdf488c788a3a763/IO.dll +0 -0
- data/Slic3r/Win/lib/vrt/804f15d0b003b04c3feb68e47adacf8d/package.lib +1 -0
- data/Slic3r/Win/lib/vrt/8f7c428c727a7d81643b50b598197734/API.dll +0 -0
- data/Slic3r/Win/lib/vrt/8fa3f50b03f9cb0203031cf516aa3973/B.dll +0 -0
- data/Slic3r/Win/lib/vrt/9573d0f8956394a9448b7cb70a24fed3/CN.dll +0 -0
- data/Slic3r/Win/lib/vrt/9a02fe0b6c8a35ffbf56e88f9910abeb/Base64.dll +0 -0
- data/Slic3r/Win/lib/vrt/9cc90b876890f13970933c948cbb4b2e/Print.dll +0 -0
- data/Slic3r/Win/lib/vrt/9d4869e43aaebbcbfc9baec70819f444/indirect.dll +0 -0
- data/Slic3r/Win/lib/vrt/a3600f18eb88b7c4835e2438eeda19b1/Symbol.dll +0 -0
- data/Slic3r/Win/lib/vrt/a3719ad0fa76c06423d0397090ec4ed9/Libm.dll +0 -0
- data/Slic3r/Win/lib/vrt/a40249e26296df558fcddd2c8cbfb2f6/UUID.dll +0 -0
- data/Slic3r/Win/lib/vrt/aa455d4af51625c2acacb6716c0a6e01/scalar.dll +0 -0
- data/Slic3r/Win/lib/vrt/aa976c80169f479f0613ff5283377098/Win32.dll +0 -0
- data/Slic3r/Win/lib/vrt/ad648dbf31179700b4efd00b04f50dab/multidimensional.dll +0 -0
- data/Slic3r/Win/lib/vrt/b48cd6cc5170110b04444736f8ca1a04/mro.dll +0 -0
- data/Slic3r/Win/lib/vrt/b6a5c6ef2abf4a7046bb88d7a8b220ff/GLCanvas.dll +0 -0
- data/Slic3r/Win/lib/vrt/bd26fbb8f6447c2e98cf359976a3c1a7/POSIX.dll +0 -0
- data/Slic3r/Win/lib/vrt/c23df991c561704a8913289bdfea9462/Zlib.dll +0 -0
- data/Slic3r/Win/lib/vrt/c8786c44f0a905ffe6d5d8a4068a75c2/Call.dll +0 -0
- data/Slic3r/Win/lib/vrt/cbbb6d80da8c62ee893a65195943b803/re.dll +0 -0
- data/Slic3r/Win/lib/vrt/cbfee14465f0627fbadfcc84b97d402b/KR.dll +0 -0
- data/Slic3r/Win/lib/vrt/cd0b5b2fa854963191ca9718e26a0abc/Grid.dll +0 -0
- data/Slic3r/Win/lib/vrt/ceb3487499a2d7f0edbcc6aa0c0536c1/NamedCapture.dll +0 -0
- data/Slic3r/Win/lib/vrt/cfbd454ca865af139a419af806f1d4c7/DND.dll +0 -0
- data/Slic3r/Win/lib/vrt/cfcde55111d441748de61cc95acb240e/Check.dll +0 -0
- data/Slic3r/Win/lib/vrt/d0b4c3dceefb5d08dbe60f0e68d0da76/filehandles.dll +0 -0
- data/Slic3r/Win/lib/vrt/d9c3e3943b3f28bc1f09e2f713cc6afb/Glob.dll +0 -0
- data/Slic3r/Win/lib/vrt/da3813f7e06d5ace75632aaf1738303a/Cwd.dll +0 -0
- data/Slic3r/Win/lib/vrt/e29b9764cd99fd442815834972733f63/Encode.dll +0 -0
- data/Slic3r/Win/lib/vrt/e51409fbea61e7f44156de0a7d61ce6e/FastCalc.dll +0 -0
- data/Slic3r/Win/lib/vrt/eaa3f41565bf2fe58068d68f47a06165/Bzip2.dll +0 -0
- data/Slic3r/Win/lib/vrt/eb8576fa2c159886e7f37945c9fb302c/Util.dll +0 -0
- data/Slic3r/Win/lib/vrt/ef0a1b3a50dcc9984703f576320986af/Socket.dll +0 -0
- data/Slic3r/Win/lib/vrt/efa78e66d1d123d9a6f5890b6ca9167a/TW.dll +0 -0
- data/Slic3r/Win/lib/vrt/f490c3f60de8989339da70e91e2faf32/threads.dll +0 -0
- data/Slic3r/Win/lib/vrt/f6025e058c0367c56e8eed568e60077b/Clone.dll +0 -0
- data/Slic3r/Win/lib/vrt/f8d8299b70fb38b8f4ba594e6f23c91f/XS.dll +0 -0
- data/Slic3r/Win/lib/vrt/fa119178d164dcf97f19aecc876231c0/package.lib +0 -0
- data/Slic3r/Win/lib/vrt/fadbe2ebaf950eb9e5e3c3d65739aa92/via.dll +0 -0
- data/Slic3r/Win/lib/vrt/fb078e7d1a272046eb7bd617bd3ed5c4/Wx.dll +0 -0
- data/Slic3r/Win/lib/vrt/ffa8ccc0f7f886ba695e841a491bce9a/XS.dll +0 -0
- data/Slic3r/Win/res/Slic3r.icns +0 -0
- data/Slic3r/Win/res/Slic3r.ico +0 -0
- data/Slic3r/Win/res/Slic3r.png +0 -0
- data/Slic3r/Win/res/Slic3r_128px.png +0 -0
- data/Slic3r/Win/res/Slic3r_192px.png +0 -0
- data/Slic3r/Win/res/Slic3r_192px_transparent.png +0 -0
- data/Slic3r/Win/res/add.png +0 -0
- data/Slic3r/Win/res/arrow_out.png +0 -0
- data/Slic3r/Win/res/arrow_rotate_anticlockwise.png +0 -0
- data/Slic3r/Win/res/arrow_rotate_clockwise.png +0 -0
- data/Slic3r/Win/res/arrow_up.png +0 -0
- data/Slic3r/Win/res/box.png +0 -0
- data/Slic3r/Win/res/brick.png +0 -0
- data/Slic3r/Win/res/brick_add.png +0 -0
- data/Slic3r/Win/res/brick_delete.png +0 -0
- data/Slic3r/Win/res/brick_go.png +0 -0
- data/Slic3r/Win/res/bricks.png +0 -0
- data/Slic3r/Win/res/building.png +0 -0
- data/Slic3r/Win/res/bullet_black.png +0 -0
- data/Slic3r/Win/res/bullet_blue.png +0 -0
- data/Slic3r/Win/res/bullet_white.png +0 -0
- data/Slic3r/Win/res/cog.png +0 -0
- data/Slic3r/Win/res/cog_go.png +0 -0
- data/Slic3r/Win/res/cross.png +0 -0
- data/Slic3r/Win/res/delete.png +0 -0
- data/Slic3r/Win/res/disk.png +0 -0
- data/Slic3r/Win/res/error.png +0 -0
- data/Slic3r/Win/res/funnel.png +0 -0
- data/Slic3r/Win/res/hourglass.png +0 -0
- data/Slic3r/Win/res/layers.png +0 -0
- data/Slic3r/Win/res/note.png +0 -0
- data/Slic3r/Win/res/package.png +0 -0
- data/Slic3r/Win/res/package_green.png +0 -0
- data/Slic3r/Win/res/page_white_go.png +0 -0
- data/Slic3r/Win/res/plugin.png +0 -0
- data/Slic3r/Win/res/printer_empty.png +0 -0
- data/Slic3r/Win/res/shading.png +0 -0
- data/Slic3r/Win/res/shape_ungroup.png +0 -0
- data/Slic3r/Win/res/spool.png +0 -0
- data/Slic3r/Win/res/tag_blue.png +0 -0
- data/Slic3r/Win/res/time.png +0 -0
- data/Slic3r/Win/res/wrench.png +0 -0
- data/Slic3r/Win/slic3r-console.exe +0 -0
- data/Slic3r/Win/slic3r.exe +0 -0
- data/Slic3r/Win/temp.txt +278 -0
- data/lib/STLExtract.rb +155 -0
- data/lib/STLExtract/version.rb +3 -0
- metadata +2044 -0
|
@@ -0,0 +1,2093 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Complex numbers and associated mathematical functions
|
|
3
|
+
# -- Raphael Manfredi Since Sep 1996
|
|
4
|
+
# -- Jarkko Hietaniemi Since Mar 1997
|
|
5
|
+
# -- Daniel S. Lewart Since Sep 1997
|
|
6
|
+
#
|
|
7
|
+
|
|
8
|
+
package Math::Complex;
|
|
9
|
+
|
|
10
|
+
use strict;
|
|
11
|
+
|
|
12
|
+
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $Inf $ExpInf);
|
|
13
|
+
|
|
14
|
+
$VERSION = 1.56;
|
|
15
|
+
|
|
16
|
+
use Config;
|
|
17
|
+
|
|
18
|
+
BEGIN {
|
|
19
|
+
my %DBL_MAX =
|
|
20
|
+
(
|
|
21
|
+
4 => '1.70141183460469229e+38',
|
|
22
|
+
8 => '1.7976931348623157e+308',
|
|
23
|
+
# AFAICT the 10, 12, and 16-byte long doubles
|
|
24
|
+
# all have the same maximum.
|
|
25
|
+
10 => '1.1897314953572317650857593266280070162E+4932',
|
|
26
|
+
12 => '1.1897314953572317650857593266280070162E+4932',
|
|
27
|
+
16 => '1.1897314953572317650857593266280070162E+4932',
|
|
28
|
+
);
|
|
29
|
+
my $nvsize = $Config{nvsize} ||
|
|
30
|
+
($Config{uselongdouble} && $Config{longdblsize}) ||
|
|
31
|
+
$Config{doublesize};
|
|
32
|
+
die "Math::Complex: Could not figure out nvsize\n"
|
|
33
|
+
unless defined $nvsize;
|
|
34
|
+
die "Math::Complex: Cannot not figure out max nv (nvsize = $nvsize)\n"
|
|
35
|
+
unless defined $DBL_MAX{$nvsize};
|
|
36
|
+
my $DBL_MAX = eval $DBL_MAX{$nvsize};
|
|
37
|
+
die "Math::Complex: Could not figure out max nv (nvsize = $nvsize)\n"
|
|
38
|
+
unless defined $DBL_MAX;
|
|
39
|
+
my $BIGGER_THAN_THIS = 1e30; # Must find something bigger than this.
|
|
40
|
+
if ($^O eq 'unicosmk') {
|
|
41
|
+
$Inf = $DBL_MAX;
|
|
42
|
+
} else {
|
|
43
|
+
local $SIG{FPE} = { };
|
|
44
|
+
local $!;
|
|
45
|
+
# We do want an arithmetic overflow, Inf INF inf Infinity.
|
|
46
|
+
for my $t (
|
|
47
|
+
'exp(99999)', # Enough even with 128-bit long doubles.
|
|
48
|
+
'inf',
|
|
49
|
+
'Inf',
|
|
50
|
+
'INF',
|
|
51
|
+
'infinity',
|
|
52
|
+
'Infinity',
|
|
53
|
+
'INFINITY',
|
|
54
|
+
'1e99999',
|
|
55
|
+
) {
|
|
56
|
+
local $^W = 0;
|
|
57
|
+
my $i = eval "$t+1.0";
|
|
58
|
+
if (defined $i && $i > $BIGGER_THAN_THIS) {
|
|
59
|
+
$Inf = $i;
|
|
60
|
+
last;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
$Inf = $DBL_MAX unless defined $Inf; # Oh well, close enough.
|
|
64
|
+
die "Math::Complex: Could not get Infinity"
|
|
65
|
+
unless $Inf > $BIGGER_THAN_THIS;
|
|
66
|
+
$ExpInf = exp(99999);
|
|
67
|
+
}
|
|
68
|
+
# print "# On this machine, Inf = '$Inf'\n";
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
use Scalar::Util qw(set_prototype);
|
|
72
|
+
|
|
73
|
+
use warnings;
|
|
74
|
+
no warnings 'syntax'; # To avoid the (_) warnings.
|
|
75
|
+
|
|
76
|
+
BEGIN {
|
|
77
|
+
# For certain functions that we override, in 5.10 or better
|
|
78
|
+
# we can set a smarter prototype that will handle the lexical $_
|
|
79
|
+
# (also a 5.10+ feature).
|
|
80
|
+
if ($] >= 5.010000) {
|
|
81
|
+
set_prototype \&abs, '_';
|
|
82
|
+
set_prototype \&cos, '_';
|
|
83
|
+
set_prototype \&exp, '_';
|
|
84
|
+
set_prototype \&log, '_';
|
|
85
|
+
set_prototype \&sin, '_';
|
|
86
|
+
set_prototype \&sqrt, '_';
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
my $i;
|
|
91
|
+
my %LOGN;
|
|
92
|
+
|
|
93
|
+
# Regular expression for floating point numbers.
|
|
94
|
+
# These days we could use Scalar::Util::lln(), I guess.
|
|
95
|
+
my $gre = qr'\s*([\+\-]?(?:(?:(?:\d+(?:_\d+)*(?:\.\d*(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[eE][\+\-]?\d+(?:_\d+)*)?))|inf)'i;
|
|
96
|
+
|
|
97
|
+
require Exporter;
|
|
98
|
+
|
|
99
|
+
@ISA = qw(Exporter);
|
|
100
|
+
|
|
101
|
+
my @trig = qw(
|
|
102
|
+
pi
|
|
103
|
+
tan
|
|
104
|
+
csc cosec sec cot cotan
|
|
105
|
+
asin acos atan
|
|
106
|
+
acsc acosec asec acot acotan
|
|
107
|
+
sinh cosh tanh
|
|
108
|
+
csch cosech sech coth cotanh
|
|
109
|
+
asinh acosh atanh
|
|
110
|
+
acsch acosech asech acoth acotanh
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
@EXPORT = (qw(
|
|
114
|
+
i Re Im rho theta arg
|
|
115
|
+
sqrt log ln
|
|
116
|
+
log10 logn cbrt root
|
|
117
|
+
cplx cplxe
|
|
118
|
+
atan2
|
|
119
|
+
),
|
|
120
|
+
@trig);
|
|
121
|
+
|
|
122
|
+
my @pi = qw(pi pi2 pi4 pip2 pip4 Inf);
|
|
123
|
+
|
|
124
|
+
@EXPORT_OK = @pi;
|
|
125
|
+
|
|
126
|
+
%EXPORT_TAGS = (
|
|
127
|
+
'trig' => [@trig],
|
|
128
|
+
'pi' => [@pi],
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
use overload
|
|
132
|
+
'+' => \&_plus,
|
|
133
|
+
'-' => \&_minus,
|
|
134
|
+
'*' => \&_multiply,
|
|
135
|
+
'/' => \&_divide,
|
|
136
|
+
'**' => \&_power,
|
|
137
|
+
'==' => \&_numeq,
|
|
138
|
+
'<=>' => \&_spaceship,
|
|
139
|
+
'neg' => \&_negate,
|
|
140
|
+
'~' => \&_conjugate,
|
|
141
|
+
'abs' => \&abs,
|
|
142
|
+
'sqrt' => \&sqrt,
|
|
143
|
+
'exp' => \&exp,
|
|
144
|
+
'log' => \&log,
|
|
145
|
+
'sin' => \&sin,
|
|
146
|
+
'cos' => \&cos,
|
|
147
|
+
'tan' => \&tan,
|
|
148
|
+
'atan2' => \&atan2,
|
|
149
|
+
'""' => \&_stringify;
|
|
150
|
+
|
|
151
|
+
#
|
|
152
|
+
# Package "privates"
|
|
153
|
+
#
|
|
154
|
+
|
|
155
|
+
my %DISPLAY_FORMAT = ('style' => 'cartesian',
|
|
156
|
+
'polar_pretty_print' => 1);
|
|
157
|
+
my $eps = 1e-14; # Epsilon
|
|
158
|
+
|
|
159
|
+
#
|
|
160
|
+
# Object attributes (internal):
|
|
161
|
+
# cartesian [real, imaginary] -- cartesian form
|
|
162
|
+
# polar [rho, theta] -- polar form
|
|
163
|
+
# c_dirty cartesian form not up-to-date
|
|
164
|
+
# p_dirty polar form not up-to-date
|
|
165
|
+
# display display format (package's global when not set)
|
|
166
|
+
#
|
|
167
|
+
|
|
168
|
+
# Die on bad *make() arguments.
|
|
169
|
+
|
|
170
|
+
sub _cannot_make {
|
|
171
|
+
die "@{[(caller(1))[3]]}: Cannot take $_[0] of '$_[1]'.\n";
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
sub _make {
|
|
175
|
+
my $arg = shift;
|
|
176
|
+
my ($p, $q);
|
|
177
|
+
|
|
178
|
+
if ($arg =~ /^$gre$/) {
|
|
179
|
+
($p, $q) = ($1, 0);
|
|
180
|
+
} elsif ($arg =~ /^(?:$gre)?$gre\s*i\s*$/) {
|
|
181
|
+
($p, $q) = ($1 || 0, $2);
|
|
182
|
+
} elsif ($arg =~ /^\s*\(\s*$gre\s*(?:,\s*$gre\s*)?\)\s*$/) {
|
|
183
|
+
($p, $q) = ($1, $2 || 0);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
if (defined $p) {
|
|
187
|
+
$p =~ s/^\+//;
|
|
188
|
+
$p =~ s/^(-?)inf$/"${1}9**9**9"/e;
|
|
189
|
+
$q =~ s/^\+//;
|
|
190
|
+
$q =~ s/^(-?)inf$/"${1}9**9**9"/e;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
return ($p, $q);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
sub _emake {
|
|
197
|
+
my $arg = shift;
|
|
198
|
+
my ($p, $q);
|
|
199
|
+
|
|
200
|
+
if ($arg =~ /^\s*\[\s*$gre\s*(?:,\s*$gre\s*)?\]\s*$/) {
|
|
201
|
+
($p, $q) = ($1, $2 || 0);
|
|
202
|
+
} elsif ($arg =~ m!^\s*\[\s*$gre\s*(?:,\s*([-+]?\d*\s*)?pi(?:/\s*(\d+))?\s*)?\]\s*$!) {
|
|
203
|
+
($p, $q) = ($1, ($2 eq '-' ? -1 : ($2 || 1)) * pi() / ($3 || 1));
|
|
204
|
+
} elsif ($arg =~ /^\s*\[\s*$gre\s*\]\s*$/) {
|
|
205
|
+
($p, $q) = ($1, 0);
|
|
206
|
+
} elsif ($arg =~ /^\s*$gre\s*$/) {
|
|
207
|
+
($p, $q) = ($1, 0);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
if (defined $p) {
|
|
211
|
+
$p =~ s/^\+//;
|
|
212
|
+
$q =~ s/^\+//;
|
|
213
|
+
$p =~ s/^(-?)inf$/"${1}9**9**9"/e;
|
|
214
|
+
$q =~ s/^(-?)inf$/"${1}9**9**9"/e;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
return ($p, $q);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
#
|
|
221
|
+
# ->make
|
|
222
|
+
#
|
|
223
|
+
# Create a new complex number (cartesian form)
|
|
224
|
+
#
|
|
225
|
+
sub make {
|
|
226
|
+
my $self = bless {}, shift;
|
|
227
|
+
my ($re, $im);
|
|
228
|
+
if (@_ == 0) {
|
|
229
|
+
($re, $im) = (0, 0);
|
|
230
|
+
} elsif (@_ == 1) {
|
|
231
|
+
return (ref $self)->emake($_[0])
|
|
232
|
+
if ($_[0] =~ /^\s*\[/);
|
|
233
|
+
($re, $im) = _make($_[0]);
|
|
234
|
+
} elsif (@_ == 2) {
|
|
235
|
+
($re, $im) = @_;
|
|
236
|
+
}
|
|
237
|
+
if (defined $re) {
|
|
238
|
+
_cannot_make("real part", $re) unless $re =~ /^$gre$/;
|
|
239
|
+
}
|
|
240
|
+
$im ||= 0;
|
|
241
|
+
_cannot_make("imaginary part", $im) unless $im =~ /^$gre$/;
|
|
242
|
+
$self->_set_cartesian([$re, $im ]);
|
|
243
|
+
$self->display_format('cartesian');
|
|
244
|
+
|
|
245
|
+
return $self;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
#
|
|
249
|
+
# ->emake
|
|
250
|
+
#
|
|
251
|
+
# Create a new complex number (exponential form)
|
|
252
|
+
#
|
|
253
|
+
sub emake {
|
|
254
|
+
my $self = bless {}, shift;
|
|
255
|
+
my ($rho, $theta);
|
|
256
|
+
if (@_ == 0) {
|
|
257
|
+
($rho, $theta) = (0, 0);
|
|
258
|
+
} elsif (@_ == 1) {
|
|
259
|
+
return (ref $self)->make($_[0])
|
|
260
|
+
if ($_[0] =~ /^\s*\(/ || $_[0] =~ /i\s*$/);
|
|
261
|
+
($rho, $theta) = _emake($_[0]);
|
|
262
|
+
} elsif (@_ == 2) {
|
|
263
|
+
($rho, $theta) = @_;
|
|
264
|
+
}
|
|
265
|
+
if (defined $rho && defined $theta) {
|
|
266
|
+
if ($rho < 0) {
|
|
267
|
+
$rho = -$rho;
|
|
268
|
+
$theta = ($theta <= 0) ? $theta + pi() : $theta - pi();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
if (defined $rho) {
|
|
272
|
+
_cannot_make("rho", $rho) unless $rho =~ /^$gre$/;
|
|
273
|
+
}
|
|
274
|
+
$theta ||= 0;
|
|
275
|
+
_cannot_make("theta", $theta) unless $theta =~ /^$gre$/;
|
|
276
|
+
$self->_set_polar([$rho, $theta]);
|
|
277
|
+
$self->display_format('polar');
|
|
278
|
+
|
|
279
|
+
return $self;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
sub new { &make } # For backward compatibility only.
|
|
283
|
+
|
|
284
|
+
#
|
|
285
|
+
# cplx
|
|
286
|
+
#
|
|
287
|
+
# Creates a complex number from a (re, im) tuple.
|
|
288
|
+
# This avoids the burden of writing Math::Complex->make(re, im).
|
|
289
|
+
#
|
|
290
|
+
sub cplx {
|
|
291
|
+
return __PACKAGE__->make(@_);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
#
|
|
295
|
+
# cplxe
|
|
296
|
+
#
|
|
297
|
+
# Creates a complex number from a (rho, theta) tuple.
|
|
298
|
+
# This avoids the burden of writing Math::Complex->emake(rho, theta).
|
|
299
|
+
#
|
|
300
|
+
sub cplxe {
|
|
301
|
+
return __PACKAGE__->emake(@_);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
#
|
|
305
|
+
# pi
|
|
306
|
+
#
|
|
307
|
+
# The number defined as pi = 180 degrees
|
|
308
|
+
#
|
|
309
|
+
sub pi () { 4 * CORE::atan2(1, 1) }
|
|
310
|
+
|
|
311
|
+
#
|
|
312
|
+
# pi2
|
|
313
|
+
#
|
|
314
|
+
# The full circle
|
|
315
|
+
#
|
|
316
|
+
sub pi2 () { 2 * pi }
|
|
317
|
+
|
|
318
|
+
#
|
|
319
|
+
# pi4
|
|
320
|
+
#
|
|
321
|
+
# The full circle twice.
|
|
322
|
+
#
|
|
323
|
+
sub pi4 () { 4 * pi }
|
|
324
|
+
|
|
325
|
+
#
|
|
326
|
+
# pip2
|
|
327
|
+
#
|
|
328
|
+
# The quarter circle
|
|
329
|
+
#
|
|
330
|
+
sub pip2 () { pi / 2 }
|
|
331
|
+
|
|
332
|
+
#
|
|
333
|
+
# pip4
|
|
334
|
+
#
|
|
335
|
+
# The eighth circle.
|
|
336
|
+
#
|
|
337
|
+
sub pip4 () { pi / 4 }
|
|
338
|
+
|
|
339
|
+
#
|
|
340
|
+
# _uplog10
|
|
341
|
+
#
|
|
342
|
+
# Used in log10().
|
|
343
|
+
#
|
|
344
|
+
sub _uplog10 () { 1 / CORE::log(10) }
|
|
345
|
+
|
|
346
|
+
#
|
|
347
|
+
# i
|
|
348
|
+
#
|
|
349
|
+
# The number defined as i*i = -1;
|
|
350
|
+
#
|
|
351
|
+
sub i () {
|
|
352
|
+
return $i if ($i);
|
|
353
|
+
$i = bless {};
|
|
354
|
+
$i->{'cartesian'} = [0, 1];
|
|
355
|
+
$i->{'polar'} = [1, pip2];
|
|
356
|
+
$i->{c_dirty} = 0;
|
|
357
|
+
$i->{p_dirty} = 0;
|
|
358
|
+
return $i;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
#
|
|
362
|
+
# _ip2
|
|
363
|
+
#
|
|
364
|
+
# Half of i.
|
|
365
|
+
#
|
|
366
|
+
sub _ip2 () { i / 2 }
|
|
367
|
+
|
|
368
|
+
#
|
|
369
|
+
# Attribute access/set routines
|
|
370
|
+
#
|
|
371
|
+
|
|
372
|
+
sub _cartesian {$_[0]->{c_dirty} ?
|
|
373
|
+
$_[0]->_update_cartesian : $_[0]->{'cartesian'}}
|
|
374
|
+
sub _polar {$_[0]->{p_dirty} ?
|
|
375
|
+
$_[0]->_update_polar : $_[0]->{'polar'}}
|
|
376
|
+
|
|
377
|
+
sub _set_cartesian { $_[0]->{p_dirty}++; $_[0]->{c_dirty} = 0;
|
|
378
|
+
$_[0]->{'cartesian'} = $_[1] }
|
|
379
|
+
sub _set_polar { $_[0]->{c_dirty}++; $_[0]->{p_dirty} = 0;
|
|
380
|
+
$_[0]->{'polar'} = $_[1] }
|
|
381
|
+
|
|
382
|
+
#
|
|
383
|
+
# ->_update_cartesian
|
|
384
|
+
#
|
|
385
|
+
# Recompute and return the cartesian form, given accurate polar form.
|
|
386
|
+
#
|
|
387
|
+
sub _update_cartesian {
|
|
388
|
+
my $self = shift;
|
|
389
|
+
my ($r, $t) = @{$self->{'polar'}};
|
|
390
|
+
$self->{c_dirty} = 0;
|
|
391
|
+
return $self->{'cartesian'} = [$r * CORE::cos($t), $r * CORE::sin($t)];
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
#
|
|
395
|
+
#
|
|
396
|
+
# ->_update_polar
|
|
397
|
+
#
|
|
398
|
+
# Recompute and return the polar form, given accurate cartesian form.
|
|
399
|
+
#
|
|
400
|
+
sub _update_polar {
|
|
401
|
+
my $self = shift;
|
|
402
|
+
my ($x, $y) = @{$self->{'cartesian'}};
|
|
403
|
+
$self->{p_dirty} = 0;
|
|
404
|
+
return $self->{'polar'} = [0, 0] if $x == 0 && $y == 0;
|
|
405
|
+
return $self->{'polar'} = [CORE::sqrt($x*$x + $y*$y),
|
|
406
|
+
CORE::atan2($y, $x)];
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
#
|
|
410
|
+
# (_plus)
|
|
411
|
+
#
|
|
412
|
+
# Computes z1+z2.
|
|
413
|
+
#
|
|
414
|
+
sub _plus {
|
|
415
|
+
my ($z1, $z2, $regular) = @_;
|
|
416
|
+
my ($re1, $im1) = @{$z1->_cartesian};
|
|
417
|
+
$z2 = cplx($z2) unless ref $z2;
|
|
418
|
+
my ($re2, $im2) = ref $z2 ? @{$z2->_cartesian} : ($z2, 0);
|
|
419
|
+
unless (defined $regular) {
|
|
420
|
+
$z1->_set_cartesian([$re1 + $re2, $im1 + $im2]);
|
|
421
|
+
return $z1;
|
|
422
|
+
}
|
|
423
|
+
return (ref $z1)->make($re1 + $re2, $im1 + $im2);
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
#
|
|
427
|
+
# (_minus)
|
|
428
|
+
#
|
|
429
|
+
# Computes z1-z2.
|
|
430
|
+
#
|
|
431
|
+
sub _minus {
|
|
432
|
+
my ($z1, $z2, $inverted) = @_;
|
|
433
|
+
my ($re1, $im1) = @{$z1->_cartesian};
|
|
434
|
+
$z2 = cplx($z2) unless ref $z2;
|
|
435
|
+
my ($re2, $im2) = @{$z2->_cartesian};
|
|
436
|
+
unless (defined $inverted) {
|
|
437
|
+
$z1->_set_cartesian([$re1 - $re2, $im1 - $im2]);
|
|
438
|
+
return $z1;
|
|
439
|
+
}
|
|
440
|
+
return $inverted ?
|
|
441
|
+
(ref $z1)->make($re2 - $re1, $im2 - $im1) :
|
|
442
|
+
(ref $z1)->make($re1 - $re2, $im1 - $im2);
|
|
443
|
+
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
#
|
|
447
|
+
# (_multiply)
|
|
448
|
+
#
|
|
449
|
+
# Computes z1*z2.
|
|
450
|
+
#
|
|
451
|
+
sub _multiply {
|
|
452
|
+
my ($z1, $z2, $regular) = @_;
|
|
453
|
+
if ($z1->{p_dirty} == 0 and ref $z2 and $z2->{p_dirty} == 0) {
|
|
454
|
+
# if both polar better use polar to avoid rounding errors
|
|
455
|
+
my ($r1, $t1) = @{$z1->_polar};
|
|
456
|
+
my ($r2, $t2) = @{$z2->_polar};
|
|
457
|
+
my $t = $t1 + $t2;
|
|
458
|
+
if ($t > pi()) { $t -= pi2 }
|
|
459
|
+
elsif ($t <= -pi()) { $t += pi2 }
|
|
460
|
+
unless (defined $regular) {
|
|
461
|
+
$z1->_set_polar([$r1 * $r2, $t]);
|
|
462
|
+
return $z1;
|
|
463
|
+
}
|
|
464
|
+
return (ref $z1)->emake($r1 * $r2, $t);
|
|
465
|
+
} else {
|
|
466
|
+
my ($x1, $y1) = @{$z1->_cartesian};
|
|
467
|
+
if (ref $z2) {
|
|
468
|
+
my ($x2, $y2) = @{$z2->_cartesian};
|
|
469
|
+
return (ref $z1)->make($x1*$x2-$y1*$y2, $x1*$y2+$y1*$x2);
|
|
470
|
+
} else {
|
|
471
|
+
return (ref $z1)->make($x1*$z2, $y1*$z2);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
#
|
|
477
|
+
# _divbyzero
|
|
478
|
+
#
|
|
479
|
+
# Die on division by zero.
|
|
480
|
+
#
|
|
481
|
+
sub _divbyzero {
|
|
482
|
+
my $mess = "$_[0]: Division by zero.\n";
|
|
483
|
+
|
|
484
|
+
if (defined $_[1]) {
|
|
485
|
+
$mess .= "(Because in the definition of $_[0], the divisor ";
|
|
486
|
+
$mess .= "$_[1] " unless ("$_[1]" eq '0');
|
|
487
|
+
$mess .= "is 0)\n";
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
my @up = caller(1);
|
|
491
|
+
|
|
492
|
+
$mess .= "Died at $up[1] line $up[2].\n";
|
|
493
|
+
|
|
494
|
+
die $mess;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
#
|
|
498
|
+
# (_divide)
|
|
499
|
+
#
|
|
500
|
+
# Computes z1/z2.
|
|
501
|
+
#
|
|
502
|
+
sub _divide {
|
|
503
|
+
my ($z1, $z2, $inverted) = @_;
|
|
504
|
+
if ($z1->{p_dirty} == 0 and ref $z2 and $z2->{p_dirty} == 0) {
|
|
505
|
+
# if both polar better use polar to avoid rounding errors
|
|
506
|
+
my ($r1, $t1) = @{$z1->_polar};
|
|
507
|
+
my ($r2, $t2) = @{$z2->_polar};
|
|
508
|
+
my $t;
|
|
509
|
+
if ($inverted) {
|
|
510
|
+
_divbyzero "$z2/0" if ($r1 == 0);
|
|
511
|
+
$t = $t2 - $t1;
|
|
512
|
+
if ($t > pi()) { $t -= pi2 }
|
|
513
|
+
elsif ($t <= -pi()) { $t += pi2 }
|
|
514
|
+
return (ref $z1)->emake($r2 / $r1, $t);
|
|
515
|
+
} else {
|
|
516
|
+
_divbyzero "$z1/0" if ($r2 == 0);
|
|
517
|
+
$t = $t1 - $t2;
|
|
518
|
+
if ($t > pi()) { $t -= pi2 }
|
|
519
|
+
elsif ($t <= -pi()) { $t += pi2 }
|
|
520
|
+
return (ref $z1)->emake($r1 / $r2, $t);
|
|
521
|
+
}
|
|
522
|
+
} else {
|
|
523
|
+
my ($d, $x2, $y2);
|
|
524
|
+
if ($inverted) {
|
|
525
|
+
($x2, $y2) = @{$z1->_cartesian};
|
|
526
|
+
$d = $x2*$x2 + $y2*$y2;
|
|
527
|
+
_divbyzero "$z2/0" if $d == 0;
|
|
528
|
+
return (ref $z1)->make(($x2*$z2)/$d, -($y2*$z2)/$d);
|
|
529
|
+
} else {
|
|
530
|
+
my ($x1, $y1) = @{$z1->_cartesian};
|
|
531
|
+
if (ref $z2) {
|
|
532
|
+
($x2, $y2) = @{$z2->_cartesian};
|
|
533
|
+
$d = $x2*$x2 + $y2*$y2;
|
|
534
|
+
_divbyzero "$z1/0" if $d == 0;
|
|
535
|
+
my $u = ($x1*$x2 + $y1*$y2)/$d;
|
|
536
|
+
my $v = ($y1*$x2 - $x1*$y2)/$d;
|
|
537
|
+
return (ref $z1)->make($u, $v);
|
|
538
|
+
} else {
|
|
539
|
+
_divbyzero "$z1/0" if $z2 == 0;
|
|
540
|
+
return (ref $z1)->make($x1/$z2, $y1/$z2);
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
#
|
|
547
|
+
# (_power)
|
|
548
|
+
#
|
|
549
|
+
# Computes z1**z2 = exp(z2 * log z1)).
|
|
550
|
+
#
|
|
551
|
+
sub _power {
|
|
552
|
+
my ($z1, $z2, $inverted) = @_;
|
|
553
|
+
if ($inverted) {
|
|
554
|
+
return 1 if $z1 == 0 || $z2 == 1;
|
|
555
|
+
return 0 if $z2 == 0 && Re($z1) > 0;
|
|
556
|
+
} else {
|
|
557
|
+
return 1 if $z2 == 0 || $z1 == 1;
|
|
558
|
+
return 0 if $z1 == 0 && Re($z2) > 0;
|
|
559
|
+
}
|
|
560
|
+
my $w = $inverted ? &exp($z1 * &log($z2))
|
|
561
|
+
: &exp($z2 * &log($z1));
|
|
562
|
+
# If both arguments cartesian, return cartesian, else polar.
|
|
563
|
+
return $z1->{c_dirty} == 0 &&
|
|
564
|
+
(not ref $z2 or $z2->{c_dirty} == 0) ?
|
|
565
|
+
cplx(@{$w->_cartesian}) : $w;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
#
|
|
569
|
+
# (_spaceship)
|
|
570
|
+
#
|
|
571
|
+
# Computes z1 <=> z2.
|
|
572
|
+
# Sorts on the real part first, then on the imaginary part. Thus 2-4i < 3+8i.
|
|
573
|
+
#
|
|
574
|
+
sub _spaceship {
|
|
575
|
+
my ($z1, $z2, $inverted) = @_;
|
|
576
|
+
my ($re1, $im1) = ref $z1 ? @{$z1->_cartesian} : ($z1, 0);
|
|
577
|
+
my ($re2, $im2) = ref $z2 ? @{$z2->_cartesian} : ($z2, 0);
|
|
578
|
+
my $sgn = $inverted ? -1 : 1;
|
|
579
|
+
return $sgn * ($re1 <=> $re2) if $re1 != $re2;
|
|
580
|
+
return $sgn * ($im1 <=> $im2);
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
#
|
|
584
|
+
# (_numeq)
|
|
585
|
+
#
|
|
586
|
+
# Computes z1 == z2.
|
|
587
|
+
#
|
|
588
|
+
# (Required in addition to _spaceship() because of NaNs.)
|
|
589
|
+
sub _numeq {
|
|
590
|
+
my ($z1, $z2, $inverted) = @_;
|
|
591
|
+
my ($re1, $im1) = ref $z1 ? @{$z1->_cartesian} : ($z1, 0);
|
|
592
|
+
my ($re2, $im2) = ref $z2 ? @{$z2->_cartesian} : ($z2, 0);
|
|
593
|
+
return $re1 == $re2 && $im1 == $im2 ? 1 : 0;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
#
|
|
597
|
+
# (_negate)
|
|
598
|
+
#
|
|
599
|
+
# Computes -z.
|
|
600
|
+
#
|
|
601
|
+
sub _negate {
|
|
602
|
+
my ($z) = @_;
|
|
603
|
+
if ($z->{c_dirty}) {
|
|
604
|
+
my ($r, $t) = @{$z->_polar};
|
|
605
|
+
$t = ($t <= 0) ? $t + pi : $t - pi;
|
|
606
|
+
return (ref $z)->emake($r, $t);
|
|
607
|
+
}
|
|
608
|
+
my ($re, $im) = @{$z->_cartesian};
|
|
609
|
+
return (ref $z)->make(-$re, -$im);
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
#
|
|
613
|
+
# (_conjugate)
|
|
614
|
+
#
|
|
615
|
+
# Compute complex's _conjugate.
|
|
616
|
+
#
|
|
617
|
+
sub _conjugate {
|
|
618
|
+
my ($z) = @_;
|
|
619
|
+
if ($z->{c_dirty}) {
|
|
620
|
+
my ($r, $t) = @{$z->_polar};
|
|
621
|
+
return (ref $z)->emake($r, -$t);
|
|
622
|
+
}
|
|
623
|
+
my ($re, $im) = @{$z->_cartesian};
|
|
624
|
+
return (ref $z)->make($re, -$im);
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
#
|
|
628
|
+
# (abs)
|
|
629
|
+
#
|
|
630
|
+
# Compute or set complex's norm (rho).
|
|
631
|
+
#
|
|
632
|
+
sub abs {
|
|
633
|
+
my ($z, $rho) = @_ ? @_ : $_;
|
|
634
|
+
unless (ref $z) {
|
|
635
|
+
if (@_ == 2) {
|
|
636
|
+
$_[0] = $_[1];
|
|
637
|
+
} else {
|
|
638
|
+
return CORE::abs($z);
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
if (defined $rho) {
|
|
642
|
+
$z->{'polar'} = [ $rho, ${$z->_polar}[1] ];
|
|
643
|
+
$z->{p_dirty} = 0;
|
|
644
|
+
$z->{c_dirty} = 1;
|
|
645
|
+
return $rho;
|
|
646
|
+
} else {
|
|
647
|
+
return ${$z->_polar}[0];
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
sub _theta {
|
|
652
|
+
my $theta = $_[0];
|
|
653
|
+
|
|
654
|
+
if ($$theta > pi()) { $$theta -= pi2 }
|
|
655
|
+
elsif ($$theta <= -pi()) { $$theta += pi2 }
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
#
|
|
659
|
+
# arg
|
|
660
|
+
#
|
|
661
|
+
# Compute or set complex's argument (theta).
|
|
662
|
+
#
|
|
663
|
+
sub arg {
|
|
664
|
+
my ($z, $theta) = @_;
|
|
665
|
+
return $z unless ref $z;
|
|
666
|
+
if (defined $theta) {
|
|
667
|
+
_theta(\$theta);
|
|
668
|
+
$z->{'polar'} = [ ${$z->_polar}[0], $theta ];
|
|
669
|
+
$z->{p_dirty} = 0;
|
|
670
|
+
$z->{c_dirty} = 1;
|
|
671
|
+
} else {
|
|
672
|
+
$theta = ${$z->_polar}[1];
|
|
673
|
+
_theta(\$theta);
|
|
674
|
+
}
|
|
675
|
+
return $theta;
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
#
|
|
679
|
+
# (sqrt)
|
|
680
|
+
#
|
|
681
|
+
# Compute sqrt(z).
|
|
682
|
+
#
|
|
683
|
+
# It is quite tempting to use wantarray here so that in list context
|
|
684
|
+
# sqrt() would return the two solutions. This, however, would
|
|
685
|
+
# break things like
|
|
686
|
+
#
|
|
687
|
+
# print "sqrt(z) = ", sqrt($z), "\n";
|
|
688
|
+
#
|
|
689
|
+
# The two values would be printed side by side without no intervening
|
|
690
|
+
# whitespace, quite confusing.
|
|
691
|
+
# Therefore if you want the two solutions use the root().
|
|
692
|
+
#
|
|
693
|
+
sub sqrt {
|
|
694
|
+
my ($z) = @_ ? $_[0] : $_;
|
|
695
|
+
my ($re, $im) = ref $z ? @{$z->_cartesian} : ($z, 0);
|
|
696
|
+
return $re < 0 ? cplx(0, CORE::sqrt(-$re)) : CORE::sqrt($re)
|
|
697
|
+
if $im == 0;
|
|
698
|
+
my ($r, $t) = @{$z->_polar};
|
|
699
|
+
return (ref $z)->emake(CORE::sqrt($r), $t/2);
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
#
|
|
703
|
+
# cbrt
|
|
704
|
+
#
|
|
705
|
+
# Compute cbrt(z) (cubic root).
|
|
706
|
+
#
|
|
707
|
+
# Why are we not returning three values? The same answer as for sqrt().
|
|
708
|
+
#
|
|
709
|
+
sub cbrt {
|
|
710
|
+
my ($z) = @_;
|
|
711
|
+
return $z < 0 ?
|
|
712
|
+
-CORE::exp(CORE::log(-$z)/3) :
|
|
713
|
+
($z > 0 ? CORE::exp(CORE::log($z)/3): 0)
|
|
714
|
+
unless ref $z;
|
|
715
|
+
my ($r, $t) = @{$z->_polar};
|
|
716
|
+
return 0 if $r == 0;
|
|
717
|
+
return (ref $z)->emake(CORE::exp(CORE::log($r)/3), $t/3);
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
#
|
|
721
|
+
# _rootbad
|
|
722
|
+
#
|
|
723
|
+
# Die on bad root.
|
|
724
|
+
#
|
|
725
|
+
sub _rootbad {
|
|
726
|
+
my $mess = "Root '$_[0]' illegal, root rank must be positive integer.\n";
|
|
727
|
+
|
|
728
|
+
my @up = caller(1);
|
|
729
|
+
|
|
730
|
+
$mess .= "Died at $up[1] line $up[2].\n";
|
|
731
|
+
|
|
732
|
+
die $mess;
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
#
|
|
736
|
+
# root
|
|
737
|
+
#
|
|
738
|
+
# Computes all nth root for z, returning an array whose size is n.
|
|
739
|
+
# `n' must be a positive integer.
|
|
740
|
+
#
|
|
741
|
+
# The roots are given by (for k = 0..n-1):
|
|
742
|
+
#
|
|
743
|
+
# z^(1/n) = r^(1/n) (cos ((t+2 k pi)/n) + i sin ((t+2 k pi)/n))
|
|
744
|
+
#
|
|
745
|
+
sub root {
|
|
746
|
+
my ($z, $n, $k) = @_;
|
|
747
|
+
_rootbad($n) if ($n < 1 or int($n) != $n);
|
|
748
|
+
my ($r, $t) = ref $z ?
|
|
749
|
+
@{$z->_polar} : (CORE::abs($z), $z >= 0 ? 0 : pi);
|
|
750
|
+
my $theta_inc = pi2 / $n;
|
|
751
|
+
my $rho = $r ** (1/$n);
|
|
752
|
+
my $cartesian = ref $z && $z->{c_dirty} == 0;
|
|
753
|
+
if (@_ == 2) {
|
|
754
|
+
my @root;
|
|
755
|
+
for (my $i = 0, my $theta = $t / $n;
|
|
756
|
+
$i < $n;
|
|
757
|
+
$i++, $theta += $theta_inc) {
|
|
758
|
+
my $w = cplxe($rho, $theta);
|
|
759
|
+
# Yes, $cartesian is loop invariant.
|
|
760
|
+
push @root, $cartesian ? cplx(@{$w->_cartesian}) : $w;
|
|
761
|
+
}
|
|
762
|
+
return @root;
|
|
763
|
+
} elsif (@_ == 3) {
|
|
764
|
+
my $w = cplxe($rho, $t / $n + $k * $theta_inc);
|
|
765
|
+
return $cartesian ? cplx(@{$w->_cartesian}) : $w;
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
#
|
|
770
|
+
# Re
|
|
771
|
+
#
|
|
772
|
+
# Return or set Re(z).
|
|
773
|
+
#
|
|
774
|
+
sub Re {
|
|
775
|
+
my ($z, $Re) = @_;
|
|
776
|
+
return $z unless ref $z;
|
|
777
|
+
if (defined $Re) {
|
|
778
|
+
$z->{'cartesian'} = [ $Re, ${$z->_cartesian}[1] ];
|
|
779
|
+
$z->{c_dirty} = 0;
|
|
780
|
+
$z->{p_dirty} = 1;
|
|
781
|
+
} else {
|
|
782
|
+
return ${$z->_cartesian}[0];
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
#
|
|
787
|
+
# Im
|
|
788
|
+
#
|
|
789
|
+
# Return or set Im(z).
|
|
790
|
+
#
|
|
791
|
+
sub Im {
|
|
792
|
+
my ($z, $Im) = @_;
|
|
793
|
+
return 0 unless ref $z;
|
|
794
|
+
if (defined $Im) {
|
|
795
|
+
$z->{'cartesian'} = [ ${$z->_cartesian}[0], $Im ];
|
|
796
|
+
$z->{c_dirty} = 0;
|
|
797
|
+
$z->{p_dirty} = 1;
|
|
798
|
+
} else {
|
|
799
|
+
return ${$z->_cartesian}[1];
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
#
|
|
804
|
+
# rho
|
|
805
|
+
#
|
|
806
|
+
# Return or set rho(w).
|
|
807
|
+
#
|
|
808
|
+
sub rho {
|
|
809
|
+
Math::Complex::abs(@_);
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
#
|
|
813
|
+
# theta
|
|
814
|
+
#
|
|
815
|
+
# Return or set theta(w).
|
|
816
|
+
#
|
|
817
|
+
sub theta {
|
|
818
|
+
Math::Complex::arg(@_);
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
#
|
|
822
|
+
# (exp)
|
|
823
|
+
#
|
|
824
|
+
# Computes exp(z).
|
|
825
|
+
#
|
|
826
|
+
sub exp {
|
|
827
|
+
my ($z) = @_ ? @_ : $_;
|
|
828
|
+
return CORE::exp($z) unless ref $z;
|
|
829
|
+
my ($x, $y) = @{$z->_cartesian};
|
|
830
|
+
return (ref $z)->emake(CORE::exp($x), $y);
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
#
|
|
834
|
+
# _logofzero
|
|
835
|
+
#
|
|
836
|
+
# Die on logarithm of zero.
|
|
837
|
+
#
|
|
838
|
+
sub _logofzero {
|
|
839
|
+
my $mess = "$_[0]: Logarithm of zero.\n";
|
|
840
|
+
|
|
841
|
+
if (defined $_[1]) {
|
|
842
|
+
$mess .= "(Because in the definition of $_[0], the argument ";
|
|
843
|
+
$mess .= "$_[1] " unless ($_[1] eq '0');
|
|
844
|
+
$mess .= "is 0)\n";
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
my @up = caller(1);
|
|
848
|
+
|
|
849
|
+
$mess .= "Died at $up[1] line $up[2].\n";
|
|
850
|
+
|
|
851
|
+
die $mess;
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
#
|
|
855
|
+
# (log)
|
|
856
|
+
#
|
|
857
|
+
# Compute log(z).
|
|
858
|
+
#
|
|
859
|
+
sub log {
|
|
860
|
+
my ($z) = @_ ? @_ : $_;
|
|
861
|
+
unless (ref $z) {
|
|
862
|
+
_logofzero("log") if $z == 0;
|
|
863
|
+
return $z > 0 ? CORE::log($z) : cplx(CORE::log(-$z), pi);
|
|
864
|
+
}
|
|
865
|
+
my ($r, $t) = @{$z->_polar};
|
|
866
|
+
_logofzero("log") if $r == 0;
|
|
867
|
+
if ($t > pi()) { $t -= pi2 }
|
|
868
|
+
elsif ($t <= -pi()) { $t += pi2 }
|
|
869
|
+
return (ref $z)->make(CORE::log($r), $t);
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
#
|
|
873
|
+
# ln
|
|
874
|
+
#
|
|
875
|
+
# Alias for log().
|
|
876
|
+
#
|
|
877
|
+
sub ln { Math::Complex::log(@_) }
|
|
878
|
+
|
|
879
|
+
#
|
|
880
|
+
# log10
|
|
881
|
+
#
|
|
882
|
+
# Compute log10(z).
|
|
883
|
+
#
|
|
884
|
+
|
|
885
|
+
sub log10 {
|
|
886
|
+
return Math::Complex::log($_[0]) * _uplog10;
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
#
|
|
890
|
+
# logn
|
|
891
|
+
#
|
|
892
|
+
# Compute logn(z,n) = log(z) / log(n)
|
|
893
|
+
#
|
|
894
|
+
sub logn {
|
|
895
|
+
my ($z, $n) = @_;
|
|
896
|
+
$z = cplx($z, 0) unless ref $z;
|
|
897
|
+
my $logn = $LOGN{$n};
|
|
898
|
+
$logn = $LOGN{$n} = CORE::log($n) unless defined $logn; # Cache log(n)
|
|
899
|
+
return &log($z) / $logn;
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
#
|
|
903
|
+
# (cos)
|
|
904
|
+
#
|
|
905
|
+
# Compute cos(z) = (exp(iz) + exp(-iz))/2.
|
|
906
|
+
#
|
|
907
|
+
sub cos {
|
|
908
|
+
my ($z) = @_ ? @_ : $_;
|
|
909
|
+
return CORE::cos($z) unless ref $z;
|
|
910
|
+
my ($x, $y) = @{$z->_cartesian};
|
|
911
|
+
my $ey = CORE::exp($y);
|
|
912
|
+
my $sx = CORE::sin($x);
|
|
913
|
+
my $cx = CORE::cos($x);
|
|
914
|
+
my $ey_1 = $ey ? 1 / $ey : Inf();
|
|
915
|
+
return (ref $z)->make($cx * ($ey + $ey_1)/2,
|
|
916
|
+
$sx * ($ey_1 - $ey)/2);
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
#
|
|
920
|
+
# (sin)
|
|
921
|
+
#
|
|
922
|
+
# Compute sin(z) = (exp(iz) - exp(-iz))/2.
|
|
923
|
+
#
|
|
924
|
+
sub sin {
|
|
925
|
+
my ($z) = @_ ? @_ : $_;
|
|
926
|
+
return CORE::sin($z) unless ref $z;
|
|
927
|
+
my ($x, $y) = @{$z->_cartesian};
|
|
928
|
+
my $ey = CORE::exp($y);
|
|
929
|
+
my $sx = CORE::sin($x);
|
|
930
|
+
my $cx = CORE::cos($x);
|
|
931
|
+
my $ey_1 = $ey ? 1 / $ey : Inf();
|
|
932
|
+
return (ref $z)->make($sx * ($ey + $ey_1)/2,
|
|
933
|
+
$cx * ($ey - $ey_1)/2);
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
#
|
|
937
|
+
# tan
|
|
938
|
+
#
|
|
939
|
+
# Compute tan(z) = sin(z) / cos(z).
|
|
940
|
+
#
|
|
941
|
+
sub tan {
|
|
942
|
+
my ($z) = @_;
|
|
943
|
+
my $cz = &cos($z);
|
|
944
|
+
_divbyzero "tan($z)", "cos($z)" if $cz == 0;
|
|
945
|
+
return &sin($z) / $cz;
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
#
|
|
949
|
+
# sec
|
|
950
|
+
#
|
|
951
|
+
# Computes the secant sec(z) = 1 / cos(z).
|
|
952
|
+
#
|
|
953
|
+
sub sec {
|
|
954
|
+
my ($z) = @_;
|
|
955
|
+
my $cz = &cos($z);
|
|
956
|
+
_divbyzero "sec($z)", "cos($z)" if ($cz == 0);
|
|
957
|
+
return 1 / $cz;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
#
|
|
961
|
+
# csc
|
|
962
|
+
#
|
|
963
|
+
# Computes the cosecant csc(z) = 1 / sin(z).
|
|
964
|
+
#
|
|
965
|
+
sub csc {
|
|
966
|
+
my ($z) = @_;
|
|
967
|
+
my $sz = &sin($z);
|
|
968
|
+
_divbyzero "csc($z)", "sin($z)" if ($sz == 0);
|
|
969
|
+
return 1 / $sz;
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
#
|
|
973
|
+
# cosec
|
|
974
|
+
#
|
|
975
|
+
# Alias for csc().
|
|
976
|
+
#
|
|
977
|
+
sub cosec { Math::Complex::csc(@_) }
|
|
978
|
+
|
|
979
|
+
#
|
|
980
|
+
# cot
|
|
981
|
+
#
|
|
982
|
+
# Computes cot(z) = cos(z) / sin(z).
|
|
983
|
+
#
|
|
984
|
+
sub cot {
|
|
985
|
+
my ($z) = @_;
|
|
986
|
+
my $sz = &sin($z);
|
|
987
|
+
_divbyzero "cot($z)", "sin($z)" if ($sz == 0);
|
|
988
|
+
return &cos($z) / $sz;
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
#
|
|
992
|
+
# cotan
|
|
993
|
+
#
|
|
994
|
+
# Alias for cot().
|
|
995
|
+
#
|
|
996
|
+
sub cotan { Math::Complex::cot(@_) }
|
|
997
|
+
|
|
998
|
+
#
|
|
999
|
+
# acos
|
|
1000
|
+
#
|
|
1001
|
+
# Computes the arc cosine acos(z) = -i log(z + sqrt(z*z-1)).
|
|
1002
|
+
#
|
|
1003
|
+
sub acos {
|
|
1004
|
+
my $z = $_[0];
|
|
1005
|
+
return CORE::atan2(CORE::sqrt(1-$z*$z), $z)
|
|
1006
|
+
if (! ref $z) && CORE::abs($z) <= 1;
|
|
1007
|
+
$z = cplx($z, 0) unless ref $z;
|
|
1008
|
+
my ($x, $y) = @{$z->_cartesian};
|
|
1009
|
+
return 0 if $x == 1 && $y == 0;
|
|
1010
|
+
my $t1 = CORE::sqrt(($x+1)*($x+1) + $y*$y);
|
|
1011
|
+
my $t2 = CORE::sqrt(($x-1)*($x-1) + $y*$y);
|
|
1012
|
+
my $alpha = ($t1 + $t2)/2;
|
|
1013
|
+
my $beta = ($t1 - $t2)/2;
|
|
1014
|
+
$alpha = 1 if $alpha < 1;
|
|
1015
|
+
if ($beta > 1) { $beta = 1 }
|
|
1016
|
+
elsif ($beta < -1) { $beta = -1 }
|
|
1017
|
+
my $u = CORE::atan2(CORE::sqrt(1-$beta*$beta), $beta);
|
|
1018
|
+
my $v = CORE::log($alpha + CORE::sqrt($alpha*$alpha-1));
|
|
1019
|
+
$v = -$v if $y > 0 || ($y == 0 && $x < -1);
|
|
1020
|
+
return (ref $z)->make($u, $v);
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
#
|
|
1024
|
+
# asin
|
|
1025
|
+
#
|
|
1026
|
+
# Computes the arc sine asin(z) = -i log(iz + sqrt(1-z*z)).
|
|
1027
|
+
#
|
|
1028
|
+
sub asin {
|
|
1029
|
+
my $z = $_[0];
|
|
1030
|
+
return CORE::atan2($z, CORE::sqrt(1-$z*$z))
|
|
1031
|
+
if (! ref $z) && CORE::abs($z) <= 1;
|
|
1032
|
+
$z = cplx($z, 0) unless ref $z;
|
|
1033
|
+
my ($x, $y) = @{$z->_cartesian};
|
|
1034
|
+
return 0 if $x == 0 && $y == 0;
|
|
1035
|
+
my $t1 = CORE::sqrt(($x+1)*($x+1) + $y*$y);
|
|
1036
|
+
my $t2 = CORE::sqrt(($x-1)*($x-1) + $y*$y);
|
|
1037
|
+
my $alpha = ($t1 + $t2)/2;
|
|
1038
|
+
my $beta = ($t1 - $t2)/2;
|
|
1039
|
+
$alpha = 1 if $alpha < 1;
|
|
1040
|
+
if ($beta > 1) { $beta = 1 }
|
|
1041
|
+
elsif ($beta < -1) { $beta = -1 }
|
|
1042
|
+
my $u = CORE::atan2($beta, CORE::sqrt(1-$beta*$beta));
|
|
1043
|
+
my $v = -CORE::log($alpha + CORE::sqrt($alpha*$alpha-1));
|
|
1044
|
+
$v = -$v if $y > 0 || ($y == 0 && $x < -1);
|
|
1045
|
+
return (ref $z)->make($u, $v);
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
#
|
|
1049
|
+
# atan
|
|
1050
|
+
#
|
|
1051
|
+
# Computes the arc tangent atan(z) = i/2 log((i+z) / (i-z)).
|
|
1052
|
+
#
|
|
1053
|
+
sub atan {
|
|
1054
|
+
my ($z) = @_;
|
|
1055
|
+
return CORE::atan2($z, 1) unless ref $z;
|
|
1056
|
+
my ($x, $y) = ref $z ? @{$z->_cartesian} : ($z, 0);
|
|
1057
|
+
return 0 if $x == 0 && $y == 0;
|
|
1058
|
+
_divbyzero "atan(i)" if ( $z == i);
|
|
1059
|
+
_logofzero "atan(-i)" if (-$z == i); # -i is a bad file test...
|
|
1060
|
+
my $log = &log((i + $z) / (i - $z));
|
|
1061
|
+
return _ip2 * $log;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
#
|
|
1065
|
+
# asec
|
|
1066
|
+
#
|
|
1067
|
+
# Computes the arc secant asec(z) = acos(1 / z).
|
|
1068
|
+
#
|
|
1069
|
+
sub asec {
|
|
1070
|
+
my ($z) = @_;
|
|
1071
|
+
_divbyzero "asec($z)", $z if ($z == 0);
|
|
1072
|
+
return acos(1 / $z);
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1075
|
+
#
|
|
1076
|
+
# acsc
|
|
1077
|
+
#
|
|
1078
|
+
# Computes the arc cosecant acsc(z) = asin(1 / z).
|
|
1079
|
+
#
|
|
1080
|
+
sub acsc {
|
|
1081
|
+
my ($z) = @_;
|
|
1082
|
+
_divbyzero "acsc($z)", $z if ($z == 0);
|
|
1083
|
+
return asin(1 / $z);
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
#
|
|
1087
|
+
# acosec
|
|
1088
|
+
#
|
|
1089
|
+
# Alias for acsc().
|
|
1090
|
+
#
|
|
1091
|
+
sub acosec { Math::Complex::acsc(@_) }
|
|
1092
|
+
|
|
1093
|
+
#
|
|
1094
|
+
# acot
|
|
1095
|
+
#
|
|
1096
|
+
# Computes the arc cotangent acot(z) = atan(1 / z)
|
|
1097
|
+
#
|
|
1098
|
+
sub acot {
|
|
1099
|
+
my ($z) = @_;
|
|
1100
|
+
_divbyzero "acot(0)" if $z == 0;
|
|
1101
|
+
return ($z >= 0) ? CORE::atan2(1, $z) : CORE::atan2(-1, -$z)
|
|
1102
|
+
unless ref $z;
|
|
1103
|
+
_divbyzero "acot(i)" if ($z - i == 0);
|
|
1104
|
+
_logofzero "acot(-i)" if ($z + i == 0);
|
|
1105
|
+
return atan(1 / $z);
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
#
|
|
1109
|
+
# acotan
|
|
1110
|
+
#
|
|
1111
|
+
# Alias for acot().
|
|
1112
|
+
#
|
|
1113
|
+
sub acotan { Math::Complex::acot(@_) }
|
|
1114
|
+
|
|
1115
|
+
#
|
|
1116
|
+
# cosh
|
|
1117
|
+
#
|
|
1118
|
+
# Computes the hyperbolic cosine cosh(z) = (exp(z) + exp(-z))/2.
|
|
1119
|
+
#
|
|
1120
|
+
sub cosh {
|
|
1121
|
+
my ($z) = @_;
|
|
1122
|
+
my $ex;
|
|
1123
|
+
unless (ref $z) {
|
|
1124
|
+
$ex = CORE::exp($z);
|
|
1125
|
+
return $ex ? ($ex == $ExpInf ? Inf() : ($ex + 1/$ex)/2) : Inf();
|
|
1126
|
+
}
|
|
1127
|
+
my ($x, $y) = @{$z->_cartesian};
|
|
1128
|
+
$ex = CORE::exp($x);
|
|
1129
|
+
my $ex_1 = $ex ? 1 / $ex : Inf();
|
|
1130
|
+
return (ref $z)->make(CORE::cos($y) * ($ex + $ex_1)/2,
|
|
1131
|
+
CORE::sin($y) * ($ex - $ex_1)/2);
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
#
|
|
1135
|
+
# sinh
|
|
1136
|
+
#
|
|
1137
|
+
# Computes the hyperbolic sine sinh(z) = (exp(z) - exp(-z))/2.
|
|
1138
|
+
#
|
|
1139
|
+
sub sinh {
|
|
1140
|
+
my ($z) = @_;
|
|
1141
|
+
my $ex;
|
|
1142
|
+
unless (ref $z) {
|
|
1143
|
+
return 0 if $z == 0;
|
|
1144
|
+
$ex = CORE::exp($z);
|
|
1145
|
+
return $ex ? ($ex == $ExpInf ? Inf() : ($ex - 1/$ex)/2) : -Inf();
|
|
1146
|
+
}
|
|
1147
|
+
my ($x, $y) = @{$z->_cartesian};
|
|
1148
|
+
my $cy = CORE::cos($y);
|
|
1149
|
+
my $sy = CORE::sin($y);
|
|
1150
|
+
$ex = CORE::exp($x);
|
|
1151
|
+
my $ex_1 = $ex ? 1 / $ex : Inf();
|
|
1152
|
+
return (ref $z)->make(CORE::cos($y) * ($ex - $ex_1)/2,
|
|
1153
|
+
CORE::sin($y) * ($ex + $ex_1)/2);
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
#
|
|
1157
|
+
# tanh
|
|
1158
|
+
#
|
|
1159
|
+
# Computes the hyperbolic tangent tanh(z) = sinh(z) / cosh(z).
|
|
1160
|
+
#
|
|
1161
|
+
sub tanh {
|
|
1162
|
+
my ($z) = @_;
|
|
1163
|
+
my $cz = cosh($z);
|
|
1164
|
+
_divbyzero "tanh($z)", "cosh($z)" if ($cz == 0);
|
|
1165
|
+
my $sz = sinh($z);
|
|
1166
|
+
return 1 if $cz == $sz;
|
|
1167
|
+
return -1 if $cz == -$sz;
|
|
1168
|
+
return $sz / $cz;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
#
|
|
1172
|
+
# sech
|
|
1173
|
+
#
|
|
1174
|
+
# Computes the hyperbolic secant sech(z) = 1 / cosh(z).
|
|
1175
|
+
#
|
|
1176
|
+
sub sech {
|
|
1177
|
+
my ($z) = @_;
|
|
1178
|
+
my $cz = cosh($z);
|
|
1179
|
+
_divbyzero "sech($z)", "cosh($z)" if ($cz == 0);
|
|
1180
|
+
return 1 / $cz;
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
#
|
|
1184
|
+
# csch
|
|
1185
|
+
#
|
|
1186
|
+
# Computes the hyperbolic cosecant csch(z) = 1 / sinh(z).
|
|
1187
|
+
#
|
|
1188
|
+
sub csch {
|
|
1189
|
+
my ($z) = @_;
|
|
1190
|
+
my $sz = sinh($z);
|
|
1191
|
+
_divbyzero "csch($z)", "sinh($z)" if ($sz == 0);
|
|
1192
|
+
return 1 / $sz;
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
#
|
|
1196
|
+
# cosech
|
|
1197
|
+
#
|
|
1198
|
+
# Alias for csch().
|
|
1199
|
+
#
|
|
1200
|
+
sub cosech { Math::Complex::csch(@_) }
|
|
1201
|
+
|
|
1202
|
+
#
|
|
1203
|
+
# coth
|
|
1204
|
+
#
|
|
1205
|
+
# Computes the hyperbolic cotangent coth(z) = cosh(z) / sinh(z).
|
|
1206
|
+
#
|
|
1207
|
+
sub coth {
|
|
1208
|
+
my ($z) = @_;
|
|
1209
|
+
my $sz = sinh($z);
|
|
1210
|
+
_divbyzero "coth($z)", "sinh($z)" if $sz == 0;
|
|
1211
|
+
my $cz = cosh($z);
|
|
1212
|
+
return 1 if $cz == $sz;
|
|
1213
|
+
return -1 if $cz == -$sz;
|
|
1214
|
+
return $cz / $sz;
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
#
|
|
1218
|
+
# cotanh
|
|
1219
|
+
#
|
|
1220
|
+
# Alias for coth().
|
|
1221
|
+
#
|
|
1222
|
+
sub cotanh { Math::Complex::coth(@_) }
|
|
1223
|
+
|
|
1224
|
+
#
|
|
1225
|
+
# acosh
|
|
1226
|
+
#
|
|
1227
|
+
# Computes the area/inverse hyperbolic cosine acosh(z) = log(z + sqrt(z*z-1)).
|
|
1228
|
+
#
|
|
1229
|
+
sub acosh {
|
|
1230
|
+
my ($z) = @_;
|
|
1231
|
+
unless (ref $z) {
|
|
1232
|
+
$z = cplx($z, 0);
|
|
1233
|
+
}
|
|
1234
|
+
my ($re, $im) = @{$z->_cartesian};
|
|
1235
|
+
if ($im == 0) {
|
|
1236
|
+
return CORE::log($re + CORE::sqrt($re*$re - 1))
|
|
1237
|
+
if $re >= 1;
|
|
1238
|
+
return cplx(0, CORE::atan2(CORE::sqrt(1 - $re*$re), $re))
|
|
1239
|
+
if CORE::abs($re) < 1;
|
|
1240
|
+
}
|
|
1241
|
+
my $t = &sqrt($z * $z - 1) + $z;
|
|
1242
|
+
# Try Taylor if looking bad (this usually means that
|
|
1243
|
+
# $z was large negative, therefore the sqrt is really
|
|
1244
|
+
# close to abs(z), summing that with z...)
|
|
1245
|
+
$t = 1/(2 * $z) - 1/(8 * $z**3) + 1/(16 * $z**5) - 5/(128 * $z**7)
|
|
1246
|
+
if $t == 0;
|
|
1247
|
+
my $u = &log($t);
|
|
1248
|
+
$u->Im(-$u->Im) if $re < 0 && $im == 0;
|
|
1249
|
+
return $re < 0 ? -$u : $u;
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
#
|
|
1253
|
+
# asinh
|
|
1254
|
+
#
|
|
1255
|
+
# Computes the area/inverse hyperbolic sine asinh(z) = log(z + sqrt(z*z+1))
|
|
1256
|
+
#
|
|
1257
|
+
sub asinh {
|
|
1258
|
+
my ($z) = @_;
|
|
1259
|
+
unless (ref $z) {
|
|
1260
|
+
my $t = $z + CORE::sqrt($z*$z + 1);
|
|
1261
|
+
return CORE::log($t) if $t;
|
|
1262
|
+
}
|
|
1263
|
+
my $t = &sqrt($z * $z + 1) + $z;
|
|
1264
|
+
# Try Taylor if looking bad (this usually means that
|
|
1265
|
+
# $z was large negative, therefore the sqrt is really
|
|
1266
|
+
# close to abs(z), summing that with z...)
|
|
1267
|
+
$t = 1/(2 * $z) - 1/(8 * $z**3) + 1/(16 * $z**5) - 5/(128 * $z**7)
|
|
1268
|
+
if $t == 0;
|
|
1269
|
+
return &log($t);
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
#
|
|
1273
|
+
# atanh
|
|
1274
|
+
#
|
|
1275
|
+
# Computes the area/inverse hyperbolic tangent atanh(z) = 1/2 log((1+z) / (1-z)).
|
|
1276
|
+
#
|
|
1277
|
+
sub atanh {
|
|
1278
|
+
my ($z) = @_;
|
|
1279
|
+
unless (ref $z) {
|
|
1280
|
+
return CORE::log((1 + $z)/(1 - $z))/2 if CORE::abs($z) < 1;
|
|
1281
|
+
$z = cplx($z, 0);
|
|
1282
|
+
}
|
|
1283
|
+
_divbyzero 'atanh(1)', "1 - $z" if (1 - $z == 0);
|
|
1284
|
+
_logofzero 'atanh(-1)' if (1 + $z == 0);
|
|
1285
|
+
return 0.5 * &log((1 + $z) / (1 - $z));
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1288
|
+
#
|
|
1289
|
+
# asech
|
|
1290
|
+
#
|
|
1291
|
+
# Computes the area/inverse hyperbolic secant asech(z) = acosh(1 / z).
|
|
1292
|
+
#
|
|
1293
|
+
sub asech {
|
|
1294
|
+
my ($z) = @_;
|
|
1295
|
+
_divbyzero 'asech(0)', "$z" if ($z == 0);
|
|
1296
|
+
return acosh(1 / $z);
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
#
|
|
1300
|
+
# acsch
|
|
1301
|
+
#
|
|
1302
|
+
# Computes the area/inverse hyperbolic cosecant acsch(z) = asinh(1 / z).
|
|
1303
|
+
#
|
|
1304
|
+
sub acsch {
|
|
1305
|
+
my ($z) = @_;
|
|
1306
|
+
_divbyzero 'acsch(0)', $z if ($z == 0);
|
|
1307
|
+
return asinh(1 / $z);
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1310
|
+
#
|
|
1311
|
+
# acosech
|
|
1312
|
+
#
|
|
1313
|
+
# Alias for acosh().
|
|
1314
|
+
#
|
|
1315
|
+
sub acosech { Math::Complex::acsch(@_) }
|
|
1316
|
+
|
|
1317
|
+
#
|
|
1318
|
+
# acoth
|
|
1319
|
+
#
|
|
1320
|
+
# Computes the area/inverse hyperbolic cotangent acoth(z) = 1/2 log((1+z) / (z-1)).
|
|
1321
|
+
#
|
|
1322
|
+
sub acoth {
|
|
1323
|
+
my ($z) = @_;
|
|
1324
|
+
_divbyzero 'acoth(0)' if ($z == 0);
|
|
1325
|
+
unless (ref $z) {
|
|
1326
|
+
return CORE::log(($z + 1)/($z - 1))/2 if CORE::abs($z) > 1;
|
|
1327
|
+
$z = cplx($z, 0);
|
|
1328
|
+
}
|
|
1329
|
+
_divbyzero 'acoth(1)', "$z - 1" if ($z - 1 == 0);
|
|
1330
|
+
_logofzero 'acoth(-1)', "1 + $z" if (1 + $z == 0);
|
|
1331
|
+
return &log((1 + $z) / ($z - 1)) / 2;
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
#
|
|
1335
|
+
# acotanh
|
|
1336
|
+
#
|
|
1337
|
+
# Alias for acot().
|
|
1338
|
+
#
|
|
1339
|
+
sub acotanh { Math::Complex::acoth(@_) }
|
|
1340
|
+
|
|
1341
|
+
#
|
|
1342
|
+
# (atan2)
|
|
1343
|
+
#
|
|
1344
|
+
# Compute atan(z1/z2), minding the right quadrant.
|
|
1345
|
+
#
|
|
1346
|
+
sub atan2 {
|
|
1347
|
+
my ($z1, $z2, $inverted) = @_;
|
|
1348
|
+
my ($re1, $im1, $re2, $im2);
|
|
1349
|
+
if ($inverted) {
|
|
1350
|
+
($re1, $im1) = ref $z2 ? @{$z2->_cartesian} : ($z2, 0);
|
|
1351
|
+
($re2, $im2) = ref $z1 ? @{$z1->_cartesian} : ($z1, 0);
|
|
1352
|
+
} else {
|
|
1353
|
+
($re1, $im1) = ref $z1 ? @{$z1->_cartesian} : ($z1, 0);
|
|
1354
|
+
($re2, $im2) = ref $z2 ? @{$z2->_cartesian} : ($z2, 0);
|
|
1355
|
+
}
|
|
1356
|
+
if ($im1 || $im2) {
|
|
1357
|
+
# In MATLAB the imaginary parts are ignored.
|
|
1358
|
+
# warn "atan2: Imaginary parts ignored";
|
|
1359
|
+
# http://documents.wolfram.com/mathematica/functions/ArcTan
|
|
1360
|
+
# NOTE: Mathematica ArcTan[x,y] while atan2(y,x)
|
|
1361
|
+
my $s = $z1 * $z1 + $z2 * $z2;
|
|
1362
|
+
_divbyzero("atan2") if $s == 0;
|
|
1363
|
+
my $i = &i;
|
|
1364
|
+
my $r = $z2 + $z1 * $i;
|
|
1365
|
+
return -$i * &log($r / &sqrt( $s ));
|
|
1366
|
+
}
|
|
1367
|
+
return CORE::atan2($re1, $re2);
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
#
|
|
1371
|
+
# display_format
|
|
1372
|
+
# ->display_format
|
|
1373
|
+
#
|
|
1374
|
+
# Set (get if no argument) the display format for all complex numbers that
|
|
1375
|
+
# don't happen to have overridden it via ->display_format
|
|
1376
|
+
#
|
|
1377
|
+
# When called as an object method, this actually sets the display format for
|
|
1378
|
+
# the current object.
|
|
1379
|
+
#
|
|
1380
|
+
# Valid object formats are 'c' and 'p' for cartesian and polar. The first
|
|
1381
|
+
# letter is used actually, so the type can be fully spelled out for clarity.
|
|
1382
|
+
#
|
|
1383
|
+
sub display_format {
|
|
1384
|
+
my $self = shift;
|
|
1385
|
+
my %display_format = %DISPLAY_FORMAT;
|
|
1386
|
+
|
|
1387
|
+
if (ref $self) { # Called as an object method
|
|
1388
|
+
if (exists $self->{display_format}) {
|
|
1389
|
+
my %obj = %{$self->{display_format}};
|
|
1390
|
+
@display_format{keys %obj} = values %obj;
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1393
|
+
if (@_ == 1) {
|
|
1394
|
+
$display_format{style} = shift;
|
|
1395
|
+
} else {
|
|
1396
|
+
my %new = @_;
|
|
1397
|
+
@display_format{keys %new} = values %new;
|
|
1398
|
+
}
|
|
1399
|
+
|
|
1400
|
+
if (ref $self) { # Called as an object method
|
|
1401
|
+
$self->{display_format} = { %display_format };
|
|
1402
|
+
return
|
|
1403
|
+
wantarray ?
|
|
1404
|
+
%{$self->{display_format}} :
|
|
1405
|
+
$self->{display_format}->{style};
|
|
1406
|
+
}
|
|
1407
|
+
|
|
1408
|
+
# Called as a class method
|
|
1409
|
+
%DISPLAY_FORMAT = %display_format;
|
|
1410
|
+
return
|
|
1411
|
+
wantarray ?
|
|
1412
|
+
%DISPLAY_FORMAT :
|
|
1413
|
+
$DISPLAY_FORMAT{style};
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
#
|
|
1417
|
+
# (_stringify)
|
|
1418
|
+
#
|
|
1419
|
+
# Show nicely formatted complex number under its cartesian or polar form,
|
|
1420
|
+
# depending on the current display format:
|
|
1421
|
+
#
|
|
1422
|
+
# . If a specific display format has been recorded for this object, use it.
|
|
1423
|
+
# . Otherwise, use the generic current default for all complex numbers,
|
|
1424
|
+
# which is a package global variable.
|
|
1425
|
+
#
|
|
1426
|
+
sub _stringify {
|
|
1427
|
+
my ($z) = shift;
|
|
1428
|
+
|
|
1429
|
+
my $style = $z->display_format;
|
|
1430
|
+
|
|
1431
|
+
$style = $DISPLAY_FORMAT{style} unless defined $style;
|
|
1432
|
+
|
|
1433
|
+
return $z->_stringify_polar if $style =~ /^p/i;
|
|
1434
|
+
return $z->_stringify_cartesian;
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1437
|
+
#
|
|
1438
|
+
# ->_stringify_cartesian
|
|
1439
|
+
#
|
|
1440
|
+
# Stringify as a cartesian representation 'a+bi'.
|
|
1441
|
+
#
|
|
1442
|
+
sub _stringify_cartesian {
|
|
1443
|
+
my $z = shift;
|
|
1444
|
+
my ($x, $y) = @{$z->_cartesian};
|
|
1445
|
+
my ($re, $im);
|
|
1446
|
+
|
|
1447
|
+
my %format = $z->display_format;
|
|
1448
|
+
my $format = $format{format};
|
|
1449
|
+
|
|
1450
|
+
if ($x) {
|
|
1451
|
+
if ($x =~ /^NaN[QS]?$/i) {
|
|
1452
|
+
$re = $x;
|
|
1453
|
+
} else {
|
|
1454
|
+
if ($x =~ /^-?\Q$Inf\E$/oi) {
|
|
1455
|
+
$re = $x;
|
|
1456
|
+
} else {
|
|
1457
|
+
$re = defined $format ? sprintf($format, $x) : $x;
|
|
1458
|
+
}
|
|
1459
|
+
}
|
|
1460
|
+
} else {
|
|
1461
|
+
undef $re;
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
if ($y) {
|
|
1465
|
+
if ($y =~ /^(NaN[QS]?)$/i) {
|
|
1466
|
+
$im = $y;
|
|
1467
|
+
} else {
|
|
1468
|
+
if ($y =~ /^-?\Q$Inf\E$/oi) {
|
|
1469
|
+
$im = $y;
|
|
1470
|
+
} else {
|
|
1471
|
+
$im =
|
|
1472
|
+
defined $format ?
|
|
1473
|
+
sprintf($format, $y) :
|
|
1474
|
+
($y == 1 ? "" : ($y == -1 ? "-" : $y));
|
|
1475
|
+
}
|
|
1476
|
+
}
|
|
1477
|
+
$im .= "i";
|
|
1478
|
+
} else {
|
|
1479
|
+
undef $im;
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
my $str = $re;
|
|
1483
|
+
|
|
1484
|
+
if (defined $im) {
|
|
1485
|
+
if ($y < 0) {
|
|
1486
|
+
$str .= $im;
|
|
1487
|
+
} elsif ($y > 0 || $im =~ /^NaN[QS]?i$/i) {
|
|
1488
|
+
$str .= "+" if defined $re;
|
|
1489
|
+
$str .= $im;
|
|
1490
|
+
}
|
|
1491
|
+
} elsif (!defined $re) {
|
|
1492
|
+
$str = "0";
|
|
1493
|
+
}
|
|
1494
|
+
|
|
1495
|
+
return $str;
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
|
|
1499
|
+
#
|
|
1500
|
+
# ->_stringify_polar
|
|
1501
|
+
#
|
|
1502
|
+
# Stringify as a polar representation '[r,t]'.
|
|
1503
|
+
#
|
|
1504
|
+
sub _stringify_polar {
|
|
1505
|
+
my $z = shift;
|
|
1506
|
+
my ($r, $t) = @{$z->_polar};
|
|
1507
|
+
my $theta;
|
|
1508
|
+
|
|
1509
|
+
my %format = $z->display_format;
|
|
1510
|
+
my $format = $format{format};
|
|
1511
|
+
|
|
1512
|
+
if ($t =~ /^NaN[QS]?$/i || $t =~ /^-?\Q$Inf\E$/oi) {
|
|
1513
|
+
$theta = $t;
|
|
1514
|
+
} elsif ($t == pi) {
|
|
1515
|
+
$theta = "pi";
|
|
1516
|
+
} elsif ($r == 0 || $t == 0) {
|
|
1517
|
+
$theta = defined $format ? sprintf($format, $t) : $t;
|
|
1518
|
+
}
|
|
1519
|
+
|
|
1520
|
+
return "[$r,$theta]" if defined $theta;
|
|
1521
|
+
|
|
1522
|
+
#
|
|
1523
|
+
# Try to identify pi/n and friends.
|
|
1524
|
+
#
|
|
1525
|
+
|
|
1526
|
+
$t -= int(CORE::abs($t) / pi2) * pi2;
|
|
1527
|
+
|
|
1528
|
+
if ($format{polar_pretty_print} && $t) {
|
|
1529
|
+
my ($a, $b);
|
|
1530
|
+
for $a (2..9) {
|
|
1531
|
+
$b = $t * $a / pi;
|
|
1532
|
+
if ($b =~ /^-?\d+$/) {
|
|
1533
|
+
$b = $b < 0 ? "-" : "" if CORE::abs($b) == 1;
|
|
1534
|
+
$theta = "${b}pi/$a";
|
|
1535
|
+
last;
|
|
1536
|
+
}
|
|
1537
|
+
}
|
|
1538
|
+
}
|
|
1539
|
+
|
|
1540
|
+
if (defined $format) {
|
|
1541
|
+
$r = sprintf($format, $r);
|
|
1542
|
+
$theta = sprintf($format, $theta) unless defined $theta;
|
|
1543
|
+
} else {
|
|
1544
|
+
$theta = $t unless defined $theta;
|
|
1545
|
+
}
|
|
1546
|
+
|
|
1547
|
+
return "[$r,$theta]";
|
|
1548
|
+
}
|
|
1549
|
+
|
|
1550
|
+
sub Inf {
|
|
1551
|
+
return $Inf;
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
1;
|
|
1555
|
+
__END__
|
|
1556
|
+
|
|
1557
|
+
=pod
|
|
1558
|
+
|
|
1559
|
+
=head1 NAME
|
|
1560
|
+
|
|
1561
|
+
Math::Complex - complex numbers and associated mathematical functions
|
|
1562
|
+
|
|
1563
|
+
=head1 SYNOPSIS
|
|
1564
|
+
|
|
1565
|
+
use Math::Complex;
|
|
1566
|
+
|
|
1567
|
+
$z = Math::Complex->make(5, 6);
|
|
1568
|
+
$t = 4 - 3*i + $z;
|
|
1569
|
+
$j = cplxe(1, 2*pi/3);
|
|
1570
|
+
|
|
1571
|
+
=head1 DESCRIPTION
|
|
1572
|
+
|
|
1573
|
+
This package lets you create and manipulate complex numbers. By default,
|
|
1574
|
+
I<Perl> limits itself to real numbers, but an extra C<use> statement brings
|
|
1575
|
+
full complex support, along with a full set of mathematical functions
|
|
1576
|
+
typically associated with and/or extended to complex numbers.
|
|
1577
|
+
|
|
1578
|
+
If you wonder what complex numbers are, they were invented to be able to solve
|
|
1579
|
+
the following equation:
|
|
1580
|
+
|
|
1581
|
+
x*x = -1
|
|
1582
|
+
|
|
1583
|
+
and by definition, the solution is noted I<i> (engineers use I<j> instead since
|
|
1584
|
+
I<i> usually denotes an intensity, but the name does not matter). The number
|
|
1585
|
+
I<i> is a pure I<imaginary> number.
|
|
1586
|
+
|
|
1587
|
+
The arithmetics with pure imaginary numbers works just like you would expect
|
|
1588
|
+
it with real numbers... you just have to remember that
|
|
1589
|
+
|
|
1590
|
+
i*i = -1
|
|
1591
|
+
|
|
1592
|
+
so you have:
|
|
1593
|
+
|
|
1594
|
+
5i + 7i = i * (5 + 7) = 12i
|
|
1595
|
+
4i - 3i = i * (4 - 3) = i
|
|
1596
|
+
4i * 2i = -8
|
|
1597
|
+
6i / 2i = 3
|
|
1598
|
+
1 / i = -i
|
|
1599
|
+
|
|
1600
|
+
Complex numbers are numbers that have both a real part and an imaginary
|
|
1601
|
+
part, and are usually noted:
|
|
1602
|
+
|
|
1603
|
+
a + bi
|
|
1604
|
+
|
|
1605
|
+
where C<a> is the I<real> part and C<b> is the I<imaginary> part. The
|
|
1606
|
+
arithmetic with complex numbers is straightforward. You have to
|
|
1607
|
+
keep track of the real and the imaginary parts, but otherwise the
|
|
1608
|
+
rules used for real numbers just apply:
|
|
1609
|
+
|
|
1610
|
+
(4 + 3i) + (5 - 2i) = (4 + 5) + i(3 - 2) = 9 + i
|
|
1611
|
+
(2 + i) * (4 - i) = 2*4 + 4i -2i -i*i = 8 + 2i + 1 = 9 + 2i
|
|
1612
|
+
|
|
1613
|
+
A graphical representation of complex numbers is possible in a plane
|
|
1614
|
+
(also called the I<complex plane>, but it's really a 2D plane).
|
|
1615
|
+
The number
|
|
1616
|
+
|
|
1617
|
+
z = a + bi
|
|
1618
|
+
|
|
1619
|
+
is the point whose coordinates are (a, b). Actually, it would
|
|
1620
|
+
be the vector originating from (0, 0) to (a, b). It follows that the addition
|
|
1621
|
+
of two complex numbers is a vectorial addition.
|
|
1622
|
+
|
|
1623
|
+
Since there is a bijection between a point in the 2D plane and a complex
|
|
1624
|
+
number (i.e. the mapping is unique and reciprocal), a complex number
|
|
1625
|
+
can also be uniquely identified with polar coordinates:
|
|
1626
|
+
|
|
1627
|
+
[rho, theta]
|
|
1628
|
+
|
|
1629
|
+
where C<rho> is the distance to the origin, and C<theta> the angle between
|
|
1630
|
+
the vector and the I<x> axis. There is a notation for this using the
|
|
1631
|
+
exponential form, which is:
|
|
1632
|
+
|
|
1633
|
+
rho * exp(i * theta)
|
|
1634
|
+
|
|
1635
|
+
where I<i> is the famous imaginary number introduced above. Conversion
|
|
1636
|
+
between this form and the cartesian form C<a + bi> is immediate:
|
|
1637
|
+
|
|
1638
|
+
a = rho * cos(theta)
|
|
1639
|
+
b = rho * sin(theta)
|
|
1640
|
+
|
|
1641
|
+
which is also expressed by this formula:
|
|
1642
|
+
|
|
1643
|
+
z = rho * exp(i * theta) = rho * (cos theta + i * sin theta)
|
|
1644
|
+
|
|
1645
|
+
In other words, it's the projection of the vector onto the I<x> and I<y>
|
|
1646
|
+
axes. Mathematicians call I<rho> the I<norm> or I<modulus> and I<theta>
|
|
1647
|
+
the I<argument> of the complex number. The I<norm> of C<z> is
|
|
1648
|
+
marked here as C<abs(z)>.
|
|
1649
|
+
|
|
1650
|
+
The polar notation (also known as the trigonometric representation) is
|
|
1651
|
+
much more handy for performing multiplications and divisions of
|
|
1652
|
+
complex numbers, whilst the cartesian notation is better suited for
|
|
1653
|
+
additions and subtractions. Real numbers are on the I<x> axis, and
|
|
1654
|
+
therefore I<y> or I<theta> is zero or I<pi>.
|
|
1655
|
+
|
|
1656
|
+
All the common operations that can be performed on a real number have
|
|
1657
|
+
been defined to work on complex numbers as well, and are merely
|
|
1658
|
+
I<extensions> of the operations defined on real numbers. This means
|
|
1659
|
+
they keep their natural meaning when there is no imaginary part, provided
|
|
1660
|
+
the number is within their definition set.
|
|
1661
|
+
|
|
1662
|
+
For instance, the C<sqrt> routine which computes the square root of
|
|
1663
|
+
its argument is only defined for non-negative real numbers and yields a
|
|
1664
|
+
non-negative real number (it is an application from B<R+> to B<R+>).
|
|
1665
|
+
If we allow it to return a complex number, then it can be extended to
|
|
1666
|
+
negative real numbers to become an application from B<R> to B<C> (the
|
|
1667
|
+
set of complex numbers):
|
|
1668
|
+
|
|
1669
|
+
sqrt(x) = x >= 0 ? sqrt(x) : sqrt(-x)*i
|
|
1670
|
+
|
|
1671
|
+
It can also be extended to be an application from B<C> to B<C>,
|
|
1672
|
+
whilst its restriction to B<R> behaves as defined above by using
|
|
1673
|
+
the following definition:
|
|
1674
|
+
|
|
1675
|
+
sqrt(z = [r,t]) = sqrt(r) * exp(i * t/2)
|
|
1676
|
+
|
|
1677
|
+
Indeed, a negative real number can be noted C<[x,pi]> (the modulus
|
|
1678
|
+
I<x> is always non-negative, so C<[x,pi]> is really C<-x>, a negative
|
|
1679
|
+
number) and the above definition states that
|
|
1680
|
+
|
|
1681
|
+
sqrt([x,pi]) = sqrt(x) * exp(i*pi/2) = [sqrt(x),pi/2] = sqrt(x)*i
|
|
1682
|
+
|
|
1683
|
+
which is exactly what we had defined for negative real numbers above.
|
|
1684
|
+
The C<sqrt> returns only one of the solutions: if you want the both,
|
|
1685
|
+
use the C<root> function.
|
|
1686
|
+
|
|
1687
|
+
All the common mathematical functions defined on real numbers that
|
|
1688
|
+
are extended to complex numbers share that same property of working
|
|
1689
|
+
I<as usual> when the imaginary part is zero (otherwise, it would not
|
|
1690
|
+
be called an extension, would it?).
|
|
1691
|
+
|
|
1692
|
+
A I<new> operation possible on a complex number that is
|
|
1693
|
+
the identity for real numbers is called the I<conjugate>, and is noted
|
|
1694
|
+
with a horizontal bar above the number, or C<~z> here.
|
|
1695
|
+
|
|
1696
|
+
z = a + bi
|
|
1697
|
+
~z = a - bi
|
|
1698
|
+
|
|
1699
|
+
Simple... Now look:
|
|
1700
|
+
|
|
1701
|
+
z * ~z = (a + bi) * (a - bi) = a*a + b*b
|
|
1702
|
+
|
|
1703
|
+
We saw that the norm of C<z> was noted C<abs(z)> and was defined as the
|
|
1704
|
+
distance to the origin, also known as:
|
|
1705
|
+
|
|
1706
|
+
rho = abs(z) = sqrt(a*a + b*b)
|
|
1707
|
+
|
|
1708
|
+
so
|
|
1709
|
+
|
|
1710
|
+
z * ~z = abs(z) ** 2
|
|
1711
|
+
|
|
1712
|
+
If z is a pure real number (i.e. C<b == 0>), then the above yields:
|
|
1713
|
+
|
|
1714
|
+
a * a = abs(a) ** 2
|
|
1715
|
+
|
|
1716
|
+
which is true (C<abs> has the regular meaning for real number, i.e. stands
|
|
1717
|
+
for the absolute value). This example explains why the norm of C<z> is
|
|
1718
|
+
noted C<abs(z)>: it extends the C<abs> function to complex numbers, yet
|
|
1719
|
+
is the regular C<abs> we know when the complex number actually has no
|
|
1720
|
+
imaginary part... This justifies I<a posteriori> our use of the C<abs>
|
|
1721
|
+
notation for the norm.
|
|
1722
|
+
|
|
1723
|
+
=head1 OPERATIONS
|
|
1724
|
+
|
|
1725
|
+
Given the following notations:
|
|
1726
|
+
|
|
1727
|
+
z1 = a + bi = r1 * exp(i * t1)
|
|
1728
|
+
z2 = c + di = r2 * exp(i * t2)
|
|
1729
|
+
z = <any complex or real number>
|
|
1730
|
+
|
|
1731
|
+
the following (overloaded) operations are supported on complex numbers:
|
|
1732
|
+
|
|
1733
|
+
z1 + z2 = (a + c) + i(b + d)
|
|
1734
|
+
z1 - z2 = (a - c) + i(b - d)
|
|
1735
|
+
z1 * z2 = (r1 * r2) * exp(i * (t1 + t2))
|
|
1736
|
+
z1 / z2 = (r1 / r2) * exp(i * (t1 - t2))
|
|
1737
|
+
z1 ** z2 = exp(z2 * log z1)
|
|
1738
|
+
~z = a - bi
|
|
1739
|
+
abs(z) = r1 = sqrt(a*a + b*b)
|
|
1740
|
+
sqrt(z) = sqrt(r1) * exp(i * t/2)
|
|
1741
|
+
exp(z) = exp(a) * exp(i * b)
|
|
1742
|
+
log(z) = log(r1) + i*t
|
|
1743
|
+
sin(z) = 1/2i (exp(i * z1) - exp(-i * z))
|
|
1744
|
+
cos(z) = 1/2 (exp(i * z1) + exp(-i * z))
|
|
1745
|
+
atan2(y, x) = atan(y / x) # Minding the right quadrant, note the order.
|
|
1746
|
+
|
|
1747
|
+
The definition used for complex arguments of atan2() is
|
|
1748
|
+
|
|
1749
|
+
-i log((x + iy)/sqrt(x*x+y*y))
|
|
1750
|
+
|
|
1751
|
+
Note that atan2(0, 0) is not well-defined.
|
|
1752
|
+
|
|
1753
|
+
The following extra operations are supported on both real and complex
|
|
1754
|
+
numbers:
|
|
1755
|
+
|
|
1756
|
+
Re(z) = a
|
|
1757
|
+
Im(z) = b
|
|
1758
|
+
arg(z) = t
|
|
1759
|
+
abs(z) = r
|
|
1760
|
+
|
|
1761
|
+
cbrt(z) = z ** (1/3)
|
|
1762
|
+
log10(z) = log(z) / log(10)
|
|
1763
|
+
logn(z, n) = log(z) / log(n)
|
|
1764
|
+
|
|
1765
|
+
tan(z) = sin(z) / cos(z)
|
|
1766
|
+
|
|
1767
|
+
csc(z) = 1 / sin(z)
|
|
1768
|
+
sec(z) = 1 / cos(z)
|
|
1769
|
+
cot(z) = 1 / tan(z)
|
|
1770
|
+
|
|
1771
|
+
asin(z) = -i * log(i*z + sqrt(1-z*z))
|
|
1772
|
+
acos(z) = -i * log(z + i*sqrt(1-z*z))
|
|
1773
|
+
atan(z) = i/2 * log((i+z) / (i-z))
|
|
1774
|
+
|
|
1775
|
+
acsc(z) = asin(1 / z)
|
|
1776
|
+
asec(z) = acos(1 / z)
|
|
1777
|
+
acot(z) = atan(1 / z) = -i/2 * log((i+z) / (z-i))
|
|
1778
|
+
|
|
1779
|
+
sinh(z) = 1/2 (exp(z) - exp(-z))
|
|
1780
|
+
cosh(z) = 1/2 (exp(z) + exp(-z))
|
|
1781
|
+
tanh(z) = sinh(z) / cosh(z) = (exp(z) - exp(-z)) / (exp(z) + exp(-z))
|
|
1782
|
+
|
|
1783
|
+
csch(z) = 1 / sinh(z)
|
|
1784
|
+
sech(z) = 1 / cosh(z)
|
|
1785
|
+
coth(z) = 1 / tanh(z)
|
|
1786
|
+
|
|
1787
|
+
asinh(z) = log(z + sqrt(z*z+1))
|
|
1788
|
+
acosh(z) = log(z + sqrt(z*z-1))
|
|
1789
|
+
atanh(z) = 1/2 * log((1+z) / (1-z))
|
|
1790
|
+
|
|
1791
|
+
acsch(z) = asinh(1 / z)
|
|
1792
|
+
asech(z) = acosh(1 / z)
|
|
1793
|
+
acoth(z) = atanh(1 / z) = 1/2 * log((1+z) / (z-1))
|
|
1794
|
+
|
|
1795
|
+
I<arg>, I<abs>, I<log>, I<csc>, I<cot>, I<acsc>, I<acot>, I<csch>,
|
|
1796
|
+
I<coth>, I<acosech>, I<acotanh>, have aliases I<rho>, I<theta>, I<ln>,
|
|
1797
|
+
I<cosec>, I<cotan>, I<acosec>, I<acotan>, I<cosech>, I<cotanh>,
|
|
1798
|
+
I<acosech>, I<acotanh>, respectively. C<Re>, C<Im>, C<arg>, C<abs>,
|
|
1799
|
+
C<rho>, and C<theta> can be used also as mutators. The C<cbrt>
|
|
1800
|
+
returns only one of the solutions: if you want all three, use the
|
|
1801
|
+
C<root> function.
|
|
1802
|
+
|
|
1803
|
+
The I<root> function is available to compute all the I<n>
|
|
1804
|
+
roots of some complex, where I<n> is a strictly positive integer.
|
|
1805
|
+
There are exactly I<n> such roots, returned as a list. Getting the
|
|
1806
|
+
number mathematicians call C<j> such that:
|
|
1807
|
+
|
|
1808
|
+
1 + j + j*j = 0;
|
|
1809
|
+
|
|
1810
|
+
is a simple matter of writing:
|
|
1811
|
+
|
|
1812
|
+
$j = ((root(1, 3))[1];
|
|
1813
|
+
|
|
1814
|
+
The I<k>th root for C<z = [r,t]> is given by:
|
|
1815
|
+
|
|
1816
|
+
(root(z, n))[k] = r**(1/n) * exp(i * (t + 2*k*pi)/n)
|
|
1817
|
+
|
|
1818
|
+
You can return the I<k>th root directly by C<root(z, n, k)>,
|
|
1819
|
+
indexing starting from I<zero> and ending at I<n - 1>.
|
|
1820
|
+
|
|
1821
|
+
The I<spaceship> numeric comparison operator, E<lt>=E<gt>, is also
|
|
1822
|
+
defined. In order to ensure its restriction to real numbers is conform
|
|
1823
|
+
to what you would expect, the comparison is run on the real part of
|
|
1824
|
+
the complex number first, and imaginary parts are compared only when
|
|
1825
|
+
the real parts match.
|
|
1826
|
+
|
|
1827
|
+
=head1 CREATION
|
|
1828
|
+
|
|
1829
|
+
To create a complex number, use either:
|
|
1830
|
+
|
|
1831
|
+
$z = Math::Complex->make(3, 4);
|
|
1832
|
+
$z = cplx(3, 4);
|
|
1833
|
+
|
|
1834
|
+
if you know the cartesian form of the number, or
|
|
1835
|
+
|
|
1836
|
+
$z = 3 + 4*i;
|
|
1837
|
+
|
|
1838
|
+
if you like. To create a number using the polar form, use either:
|
|
1839
|
+
|
|
1840
|
+
$z = Math::Complex->emake(5, pi/3);
|
|
1841
|
+
$x = cplxe(5, pi/3);
|
|
1842
|
+
|
|
1843
|
+
instead. The first argument is the modulus, the second is the angle
|
|
1844
|
+
(in radians, the full circle is 2*pi). (Mnemonic: C<e> is used as a
|
|
1845
|
+
notation for complex numbers in the polar form).
|
|
1846
|
+
|
|
1847
|
+
It is possible to write:
|
|
1848
|
+
|
|
1849
|
+
$x = cplxe(-3, pi/4);
|
|
1850
|
+
|
|
1851
|
+
but that will be silently converted into C<[3,-3pi/4]>, since the
|
|
1852
|
+
modulus must be non-negative (it represents the distance to the origin
|
|
1853
|
+
in the complex plane).
|
|
1854
|
+
|
|
1855
|
+
It is also possible to have a complex number as either argument of the
|
|
1856
|
+
C<make>, C<emake>, C<cplx>, and C<cplxe>: the appropriate component of
|
|
1857
|
+
the argument will be used.
|
|
1858
|
+
|
|
1859
|
+
$z1 = cplx(-2, 1);
|
|
1860
|
+
$z2 = cplx($z1, 4);
|
|
1861
|
+
|
|
1862
|
+
The C<new>, C<make>, C<emake>, C<cplx>, and C<cplxe> will also
|
|
1863
|
+
understand a single (string) argument of the forms
|
|
1864
|
+
|
|
1865
|
+
2-3i
|
|
1866
|
+
-3i
|
|
1867
|
+
[2,3]
|
|
1868
|
+
[2,-3pi/4]
|
|
1869
|
+
[2]
|
|
1870
|
+
|
|
1871
|
+
in which case the appropriate cartesian and exponential components
|
|
1872
|
+
will be parsed from the string and used to create new complex numbers.
|
|
1873
|
+
The imaginary component and the theta, respectively, will default to zero.
|
|
1874
|
+
|
|
1875
|
+
The C<new>, C<make>, C<emake>, C<cplx>, and C<cplxe> will also
|
|
1876
|
+
understand the case of no arguments: this means plain zero or (0, 0).
|
|
1877
|
+
|
|
1878
|
+
=head1 DISPLAYING
|
|
1879
|
+
|
|
1880
|
+
When printed, a complex number is usually shown under its cartesian
|
|
1881
|
+
style I<a+bi>, but there are legitimate cases where the polar style
|
|
1882
|
+
I<[r,t]> is more appropriate. The process of converting the complex
|
|
1883
|
+
number into a string that can be displayed is known as I<stringification>.
|
|
1884
|
+
|
|
1885
|
+
By calling the class method C<Math::Complex::display_format> and
|
|
1886
|
+
supplying either C<"polar"> or C<"cartesian"> as an argument, you
|
|
1887
|
+
override the default display style, which is C<"cartesian">. Not
|
|
1888
|
+
supplying any argument returns the current settings.
|
|
1889
|
+
|
|
1890
|
+
This default can be overridden on a per-number basis by calling the
|
|
1891
|
+
C<display_format> method instead. As before, not supplying any argument
|
|
1892
|
+
returns the current display style for this number. Otherwise whatever you
|
|
1893
|
+
specify will be the new display style for I<this> particular number.
|
|
1894
|
+
|
|
1895
|
+
For instance:
|
|
1896
|
+
|
|
1897
|
+
use Math::Complex;
|
|
1898
|
+
|
|
1899
|
+
Math::Complex::display_format('polar');
|
|
1900
|
+
$j = (root(1, 3))[1];
|
|
1901
|
+
print "j = $j\n"; # Prints "j = [1,2pi/3]"
|
|
1902
|
+
$j->display_format('cartesian');
|
|
1903
|
+
print "j = $j\n"; # Prints "j = -0.5+0.866025403784439i"
|
|
1904
|
+
|
|
1905
|
+
The polar style attempts to emphasize arguments like I<k*pi/n>
|
|
1906
|
+
(where I<n> is a positive integer and I<k> an integer within [-9, +9]),
|
|
1907
|
+
this is called I<polar pretty-printing>.
|
|
1908
|
+
|
|
1909
|
+
For the reverse of stringifying, see the C<make> and C<emake>.
|
|
1910
|
+
|
|
1911
|
+
=head2 CHANGED IN PERL 5.6
|
|
1912
|
+
|
|
1913
|
+
The C<display_format> class method and the corresponding
|
|
1914
|
+
C<display_format> object method can now be called using
|
|
1915
|
+
a parameter hash instead of just a one parameter.
|
|
1916
|
+
|
|
1917
|
+
The old display format style, which can have values C<"cartesian"> or
|
|
1918
|
+
C<"polar">, can be changed using the C<"style"> parameter.
|
|
1919
|
+
|
|
1920
|
+
$j->display_format(style => "polar");
|
|
1921
|
+
|
|
1922
|
+
The one parameter calling convention also still works.
|
|
1923
|
+
|
|
1924
|
+
$j->display_format("polar");
|
|
1925
|
+
|
|
1926
|
+
There are two new display parameters.
|
|
1927
|
+
|
|
1928
|
+
The first one is C<"format">, which is a sprintf()-style format string
|
|
1929
|
+
to be used for both numeric parts of the complex number(s). The is
|
|
1930
|
+
somewhat system-dependent but most often it corresponds to C<"%.15g">.
|
|
1931
|
+
You can revert to the default by setting the C<format> to C<undef>.
|
|
1932
|
+
|
|
1933
|
+
# the $j from the above example
|
|
1934
|
+
|
|
1935
|
+
$j->display_format('format' => '%.5f');
|
|
1936
|
+
print "j = $j\n"; # Prints "j = -0.50000+0.86603i"
|
|
1937
|
+
$j->display_format('format' => undef);
|
|
1938
|
+
print "j = $j\n"; # Prints "j = -0.5+0.86603i"
|
|
1939
|
+
|
|
1940
|
+
Notice that this affects also the return values of the
|
|
1941
|
+
C<display_format> methods: in list context the whole parameter hash
|
|
1942
|
+
will be returned, as opposed to only the style parameter value.
|
|
1943
|
+
This is a potential incompatibility with earlier versions if you
|
|
1944
|
+
have been calling the C<display_format> method in list context.
|
|
1945
|
+
|
|
1946
|
+
The second new display parameter is C<"polar_pretty_print">, which can
|
|
1947
|
+
be set to true or false, the default being true. See the previous
|
|
1948
|
+
section for what this means.
|
|
1949
|
+
|
|
1950
|
+
=head1 USAGE
|
|
1951
|
+
|
|
1952
|
+
Thanks to overloading, the handling of arithmetics with complex numbers
|
|
1953
|
+
is simple and almost transparent.
|
|
1954
|
+
|
|
1955
|
+
Here are some examples:
|
|
1956
|
+
|
|
1957
|
+
use Math::Complex;
|
|
1958
|
+
|
|
1959
|
+
$j = cplxe(1, 2*pi/3); # $j ** 3 == 1
|
|
1960
|
+
print "j = $j, j**3 = ", $j ** 3, "\n";
|
|
1961
|
+
print "1 + j + j**2 = ", 1 + $j + $j**2, "\n";
|
|
1962
|
+
|
|
1963
|
+
$z = -16 + 0*i; # Force it to be a complex
|
|
1964
|
+
print "sqrt($z) = ", sqrt($z), "\n";
|
|
1965
|
+
|
|
1966
|
+
$k = exp(i * 2*pi/3);
|
|
1967
|
+
print "$j - $k = ", $j - $k, "\n";
|
|
1968
|
+
|
|
1969
|
+
$z->Re(3); # Re, Im, arg, abs,
|
|
1970
|
+
$j->arg(2); # (the last two aka rho, theta)
|
|
1971
|
+
# can be used also as mutators.
|
|
1972
|
+
|
|
1973
|
+
=head1 CONSTANTS
|
|
1974
|
+
|
|
1975
|
+
=head2 PI
|
|
1976
|
+
|
|
1977
|
+
The constant C<pi> and some handy multiples of it (pi2, pi4,
|
|
1978
|
+
and pip2 (pi/2) and pip4 (pi/4)) are also available if separately
|
|
1979
|
+
exported:
|
|
1980
|
+
|
|
1981
|
+
use Math::Complex ':pi';
|
|
1982
|
+
$third_of_circle = pi2 / 3;
|
|
1983
|
+
|
|
1984
|
+
=head2 Inf
|
|
1985
|
+
|
|
1986
|
+
The floating point infinity can be exported as a subroutine Inf():
|
|
1987
|
+
|
|
1988
|
+
use Math::Complex qw(Inf sinh);
|
|
1989
|
+
my $AlsoInf = Inf() + 42;
|
|
1990
|
+
my $AnotherInf = sinh(1e42);
|
|
1991
|
+
print "$AlsoInf is $AnotherInf\n" if $AlsoInf == $AnotherInf;
|
|
1992
|
+
|
|
1993
|
+
Note that the stringified form of infinity varies between platforms:
|
|
1994
|
+
it can be for example any of
|
|
1995
|
+
|
|
1996
|
+
inf
|
|
1997
|
+
infinity
|
|
1998
|
+
INF
|
|
1999
|
+
1.#INF
|
|
2000
|
+
|
|
2001
|
+
or it can be something else.
|
|
2002
|
+
|
|
2003
|
+
Also note that in some platforms trying to use the infinity in
|
|
2004
|
+
arithmetic operations may result in Perl crashing because using
|
|
2005
|
+
an infinity causes SIGFPE or its moral equivalent to be sent.
|
|
2006
|
+
The way to ignore this is
|
|
2007
|
+
|
|
2008
|
+
local $SIG{FPE} = sub { };
|
|
2009
|
+
|
|
2010
|
+
=head1 ERRORS DUE TO DIVISION BY ZERO OR LOGARITHM OF ZERO
|
|
2011
|
+
|
|
2012
|
+
The division (/) and the following functions
|
|
2013
|
+
|
|
2014
|
+
log ln log10 logn
|
|
2015
|
+
tan sec csc cot
|
|
2016
|
+
atan asec acsc acot
|
|
2017
|
+
tanh sech csch coth
|
|
2018
|
+
atanh asech acsch acoth
|
|
2019
|
+
|
|
2020
|
+
cannot be computed for all arguments because that would mean dividing
|
|
2021
|
+
by zero or taking logarithm of zero. These situations cause fatal
|
|
2022
|
+
runtime errors looking like this
|
|
2023
|
+
|
|
2024
|
+
cot(0): Division by zero.
|
|
2025
|
+
(Because in the definition of cot(0), the divisor sin(0) is 0)
|
|
2026
|
+
Died at ...
|
|
2027
|
+
|
|
2028
|
+
or
|
|
2029
|
+
|
|
2030
|
+
atanh(-1): Logarithm of zero.
|
|
2031
|
+
Died at...
|
|
2032
|
+
|
|
2033
|
+
For the C<csc>, C<cot>, C<asec>, C<acsc>, C<acot>, C<csch>, C<coth>,
|
|
2034
|
+
C<asech>, C<acsch>, the argument cannot be C<0> (zero). For the
|
|
2035
|
+
logarithmic functions and the C<atanh>, C<acoth>, the argument cannot
|
|
2036
|
+
be C<1> (one). For the C<atanh>, C<acoth>, the argument cannot be
|
|
2037
|
+
C<-1> (minus one). For the C<atan>, C<acot>, the argument cannot be
|
|
2038
|
+
C<i> (the imaginary unit). For the C<atan>, C<acoth>, the argument
|
|
2039
|
+
cannot be C<-i> (the negative imaginary unit). For the C<tan>,
|
|
2040
|
+
C<sec>, C<tanh>, the argument cannot be I<pi/2 + k * pi>, where I<k>
|
|
2041
|
+
is any integer. atan2(0, 0) is undefined, and if the complex arguments
|
|
2042
|
+
are used for atan2(), a division by zero will happen if z1**2+z2**2 == 0.
|
|
2043
|
+
|
|
2044
|
+
Note that because we are operating on approximations of real numbers,
|
|
2045
|
+
these errors can happen when merely `too close' to the singularities
|
|
2046
|
+
listed above.
|
|
2047
|
+
|
|
2048
|
+
=head1 ERRORS DUE TO INDIGESTIBLE ARGUMENTS
|
|
2049
|
+
|
|
2050
|
+
The C<make> and C<emake> accept both real and complex arguments.
|
|
2051
|
+
When they cannot recognize the arguments they will die with error
|
|
2052
|
+
messages like the following
|
|
2053
|
+
|
|
2054
|
+
Math::Complex::make: Cannot take real part of ...
|
|
2055
|
+
Math::Complex::make: Cannot take real part of ...
|
|
2056
|
+
Math::Complex::emake: Cannot take rho of ...
|
|
2057
|
+
Math::Complex::emake: Cannot take theta of ...
|
|
2058
|
+
|
|
2059
|
+
=head1 BUGS
|
|
2060
|
+
|
|
2061
|
+
Saying C<use Math::Complex;> exports many mathematical routines in the
|
|
2062
|
+
caller environment and even overrides some (C<sqrt>, C<log>, C<atan2>).
|
|
2063
|
+
This is construed as a feature by the Authors, actually... ;-)
|
|
2064
|
+
|
|
2065
|
+
All routines expect to be given real or complex numbers. Don't attempt to
|
|
2066
|
+
use BigFloat, since Perl has currently no rule to disambiguate a '+'
|
|
2067
|
+
operation (for instance) between two overloaded entities.
|
|
2068
|
+
|
|
2069
|
+
In Cray UNICOS there is some strange numerical instability that results
|
|
2070
|
+
in root(), cos(), sin(), cosh(), sinh(), losing accuracy fast. Beware.
|
|
2071
|
+
The bug may be in UNICOS math libs, in UNICOS C compiler, in Math::Complex.
|
|
2072
|
+
Whatever it is, it does not manifest itself anywhere else where Perl runs.
|
|
2073
|
+
|
|
2074
|
+
=head1 SEE ALSO
|
|
2075
|
+
|
|
2076
|
+
L<Math::Trig>
|
|
2077
|
+
|
|
2078
|
+
=head1 AUTHORS
|
|
2079
|
+
|
|
2080
|
+
Daniel S. Lewart <F<lewart!at!uiuc.edu>>
|
|
2081
|
+
Jarkko Hietaniemi <F<jhi!at!iki.fi>>
|
|
2082
|
+
Raphael Manfredi <F<Raphael_Manfredi!at!pobox.com>>
|
|
2083
|
+
|
|
2084
|
+
=head1 LICENSE
|
|
2085
|
+
|
|
2086
|
+
This library is free software; you can redistribute it and/or modify
|
|
2087
|
+
it under the same terms as Perl itself.
|
|
2088
|
+
|
|
2089
|
+
=cut
|
|
2090
|
+
|
|
2091
|
+
1;
|
|
2092
|
+
|
|
2093
|
+
# eof
|