File indexing completed on 2025-02-02 03:54:47
0001 <!DOCTYPE html> 0002 <html><head> 0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 0004 <title>test.jl</title> 0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Julia) - Theme (Breeze Light)"/> 0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre> 0007 <span style="color:#898887"># Test file for Julia</span> 0008 0009 <span style="color:#898887"># Comment</span> 0010 0011 <span style="color:#898887">#= Multi-line</span> 0012 <span style="color:#898887"> comment =#</span> 0013 0014 <span style="color:#0057ae;background-color:#e0e9f8">#BEGIN</span> 0015 0016 <span style="color:#0057ae;background-color:#e0e9f8">#END</span> 0017 0018 <span style="color:#ff5500">using</span> <span style="color:#644a9b;font-weight:bold">Random</span>, <span style="color:#644a9b;font-weight:bold">LinearAlgebra</span> 0019 x <span style="color:#ca60ca">=</span> <span style="color:#b08000">1</span> <span style="color:#ca60ca">+</span> <span style="color:#b08000">1</span> 0020 <span style="color:#ff5500">using</span> <span style="color:#644a9b;font-weight:bold">DataFrames</span>, <span style="color:#644a9b;font-weight:bold">Tables</span>, 0021 <span style="color:#644a9b;font-weight:bold">HDF5</span>, <span style="color:#898887"># this is a comment</span> 0022 <span style="color:#644a9b;font-weight:bold">Plots</span> 0023 <span style="color:#ff5500">using</span> <span style="color:#644a9b;font-weight:bold">DataFrames</span>, <span style="color:#644a9b;font-weight:bold">Tables</span>, 0024 0025 <span style="color:#898887"># this is a comment</span> 0026 <span style="color:#644a9b;font-weight:bold">Plots</span> 0027 x <span style="color:#ca60ca">=</span> x <span style="color:#ca60ca">ยฑ</span> <span style="color:#b08000">2</span> 0028 <span style="color:#ff5500">using</span> <span style="color:#644a9b;font-weight:bold">SparseArrays</span>: SparseMatrixCSC 0029 <span style="color:#ff5500">using</span> <span style="color:#644a9b;font-weight:bold">Sockets</span>: Sockets, connect, 0030 listen, 0031 getaddrinfo 0032 x <span style="color:#ca60ca">=</span> x<span style="color:#ca60ca">^</span><span style="color:#b08000">3</span> 0033 <span style="color:#ff5500">using</span> <span style="color:#644a9b;font-weight:bold">Statistics</span>: 0034 std, 0035 stdm 0036 0037 <span style="color:#bf0303">"""</span> 0038 <span style="color:#bf0303"> Multi-line string</span> 0039 <span style="color:#bf0303">"""</span> 0040 <span style="color:#ff5500">```</span> 0041 <span style="color:#ff5500"> Multi-line command</span> 0042 <span style="color:#ff5500">```</span> 0043 <span style="color:#bf0303">raw"string\a\\a"</span> 0044 0045 <span style="color:#bf0303">"string </span><span style="color:#3daee9">$</span>testvar<span style="color:#bf0303"> interpolation"</span> 0046 <span style="color:#bf0303">"string \$testvar interpolation"</span> 0047 <span style="color:#bf0303">"string </span><span style="color:#3daee9">$</span>(<span style="color:#644a9b">collect</span>(<span style="color:#b08000">1</span><span style="color:#ca60ca">:</span><span style="color:#b08000">10</span>) <span style="color:#ca60ca">.^</span> <span style="color:#b08000">3</span>)<span style="color:#bf0303"> interpolation"</span> 0048 <span style="color:#bf0303">"string \$(collect(1:10) .^ 3) interpolation"</span> 0049 0050 <span style="font-weight:bold">let</span> z <span style="color:#ca60ca">=</span> <span style="color:#644a9b">zip</span>(<span style="color:#b08000">1</span><span style="color:#ca60ca">:</span><span style="color:#b08000">2</span>, <span style="color:#b08000">3</span><span style="color:#ca60ca">:</span><span style="color:#b08000">4</span>, <span style="color:#b08000">5</span><span style="color:#ca60ca">:</span><span style="color:#b08000">6</span>) 0051 <span style="color:#006e28">@test</span> <span style="color:#644a9b">size</span>(z) <span style="color:#ca60ca">==</span> (<span style="color:#b08000">2</span>,) 0052 <span style="color:#006e28">@test</span> <span style="color:#644a9b">collect</span>(z) <span style="color:#ca60ca">==</span> [(<span style="color:#b08000">1</span>,<span style="color:#b08000">3</span>,<span style="color:#b08000">5</span>), (<span style="color:#b08000">2</span>,<span style="color:#b08000">4</span>,<span style="color:#b08000">6</span>)] 0053 <span style="color:#006e28">@test</span> <span style="color:#644a9b">eltype</span>(z) <span style="color:#ca60ca">==</span> <span style="color:#0057ae">Tuple</span>{<span style="color:#0057ae">Int</span>,<span style="color:#0057ae">Int</span>,<span style="color:#0057ae">Int</span>} 0054 <span style="font-weight:bold">end</span> 0055 0056 <span style="color:#006e28">@testset</span> <span style="color:#bf0303">"generic conversion from Integer"</span> <span style="font-weight:bold">begin</span> 0057 x <span style="color:#ca60ca">=</span> <span style="color:#644a9b">rand</span>(<span style="color:#0057ae">Int128</span>) 0058 <span style="color:#006e28">@test</span> <span style="color:#644a9b">BigInt</span>(x) <span style="color:#ca60ca">%</span> <span style="color:#0057ae">Int128</span> <span style="color:#ca60ca">===</span> x 0059 y <span style="color:#ca60ca">=</span> <span style="color:#644a9b">rand</span>(<span style="color:#0057ae">UInt128</span>) 0060 <span style="color:#006e28">@test</span> <span style="color:#644a9b">BigInt</span>(y) <span style="color:#ca60ca">%</span> <span style="color:#0057ae">UInt128</span> <span style="color:#ca60ca">===</span> y 0061 <span style="font-weight:bold">end</span> 0062 0063 <span style="color:#006e28">@testset</span> <span style="color:#bf0303">"show"</span> <span style="font-weight:bold">begin</span> 0064 <span style="color:#006e28">@test</span> <span style="color:#644a9b">sprint</span>(show, <span style="color:#644a9b">BitSet</span>()) <span style="color:#ca60ca">==</span> <span style="color:#bf0303">"BitSet([])"</span> 0065 <span style="color:#006e28">@test</span> <span style="color:#644a9b">sprint</span>(show, <span style="color:#644a9b">BitSet</span>([<span style="color:#b08000">1</span>,<span style="color:#b08000">2</span>,<span style="color:#b08000">3</span>])) <span style="color:#ca60ca">==</span> <span style="color:#bf0303">"BitSet([1, 2, 3])"</span> 0066 <span style="color:#644a9b">show</span>(<span style="color:#644a9b">IOBuffer</span>(), <span style="color:#644a9b">BitSet</span>()) 0067 <span style="font-weight:bold">end</span> 0068 0069 cmd <span style="color:#ca60ca">=</span> <span style="color:#ff5500">`$(Base.julia_cmd()) --depwarn=error --startup-file=no boundscheck_exec.jl`</span> 0070 <span style="font-weight:bold">if</span> !<span style="color:#644a9b">success</span>(<span style="color:#644a9b">pipeline</span>(cmd; <span style="color:#aa5500">stdout</span><span style="color:#ca60ca">=</span><span style="color:#aa5500">stdout</span>, <span style="color:#aa5500">stderr</span><span style="color:#ca60ca">=</span><span style="color:#aa5500">stderr</span>)) 0071 <span style="color:#644a9b">error</span>(<span style="color:#bf0303">"boundscheck test failed, cmd : </span><span style="color:#3daee9">$</span>cmd<span style="color:#bf0303">"</span>) 0072 <span style="font-weight:bold">end</span> 0073 0074 <span style="color:#006e28">@test</span> <span style="color:#644a9b">iterate</span>(I, <span style="color:#644a9b">CartesianIndex</span>(<span style="color:#b08000">3</span>, <span style="color:#644a9b">typemax</span>(<span style="color:#0057ae">Int</span>)))[<span style="color:#b08000">1</span>] <span style="color:#ca60ca">==</span> <span style="color:#644a9b">CartesianIndex</span>(<span style="color:#b08000">4</span>,<span style="color:#644a9b">typemax</span>(<span style="color:#0057ae">Int</span>)) 0075 <span style="color:#006e28">@test</span> <span style="color:#644a9b">iterate</span>(I, <span style="color:#644a9b">CartesianIndex</span>(<span style="color:#b08000">4</span>, <span style="color:#644a9b">typemax</span>(<span style="color:#0057ae">Int</span>))) <span style="color:#ca60ca">===</span> <span style="color:#aa5500">nothing</span> 0076 <span style="color:#006e28">@test_throws</span> <span style="color:#0057ae">MethodError</span> <span style="color:#644a9b">write</span>(<span style="color:#644a9b">IOBuffer</span>(), <span style="color:#644a9b">ASCIIChar</span>(<span style="color:#924c9d">'x'</span>)) 0077 <span style="color:#006e28">@test_throws</span> <span style="color:#0057ae">MethodError</span> <span style="color:#644a9b">read</span>(<span style="color:#644a9b">IOBuffer</span>(<span style="color:#924c9d">'x'</span>), ASCIIChar) 0078 0079 <span style="font-weight:bold">let</span> header <span style="color:#ca60ca">=</span> <span style="color:#bf0303">"julia [switches] -- [programfile] [args...]"</span> 0080 <span style="color:#006e28">@test</span> <span style="color:#644a9b">startswith</span>(<span style="color:#644a9b">read</span>(<span style="color:#ff5500">`$exename -h`</span>, <span style="color:#0057ae">String</span>), header) 0081 <span style="color:#006e28">@test</span> <span style="color:#644a9b">startswith</span>(<span style="color:#644a9b">read</span>(<span style="color:#ff5500">`$exename --help`</span>, <span style="color:#0057ae">String</span>), header) 0082 <span style="font-weight:bold">end</span> 0083 0084 <span style="color:#006e28">@test</span> <span style="color:#644a9b">isequal</span>(<span style="color:#644a9b">exp</span>(<span style="color:#644a9b">complex</span>( <span style="color:#aa5500">Inf</span>, <span style="color:#aa5500">NaN</span>)), <span style="color:#644a9b">complex</span>(<span style="color:#ca60ca">-</span><span style="color:#aa5500">Inf</span>, <span style="color:#aa5500">NaN</span>)) 0085 <span style="color:#006e28">@test</span> <span style="color:#644a9b">isequal</span>(<span style="color:#644a9b">exp</span>(<span style="color:#644a9b">complex</span>( <span style="color:#aa5500">Inf</span>, <span style="color:#aa5500">Inf</span>)), <span style="color:#644a9b">complex</span>(<span style="color:#ca60ca">-</span><span style="color:#aa5500">Inf</span>, <span style="color:#aa5500">NaN</span>)) 0086 0087 <span style="color:#898887"># Numbers</span> 0088 <span style="color:#b08000">0b10</span> 0089 <span style="color:#b08000">0o01_70</span> 0090 <span style="color:#b08000">0x00000000000000001111_22_2233334444</span> 0091 <span style="color:#ca60ca">-</span><span style="color:#b08000">0x0002im</span> 0092 <span style="color:#b08000">1.0e10</span> 0093 <span style="color:#b08000">0.00025f0</span> 0094 <span style="color:#ca60ca">-</span><span style="color:#b08000">1.5_5f0</span> 0095 <span style="color:#b08000">0xdeadbeefim</span> 0096 <span style="color:#b08000">0x1.8p3</span> 0097 <span style="color:#b08000">0x.4p-1</span> 0098 <span style="color:#898887"># Invalid number</span> 0099 <span style="color:#b08000">0x000</span>__22 0100 0101 chars <span style="color:#ca60ca">=</span> [<span style="color:#924c9d">'0'</span>, <span style="color:#924c9d">'1'</span>, <span style="color:#924c9d">'2'</span>, <span style="color:#924c9d">'3'</span>, <span style="color:#924c9d">'a'</span>, <span style="color:#924c9d">'b'</span>, <span style="color:#924c9d">'c'</span>, <span style="color:#924c9d">'d'</span>, <span style="color:#924c9d">'e'</span>, <span style="color:#924c9d">'X'</span>, <span style="color:#924c9d">'Y'</span>, <span style="color:#924c9d">'Z'</span>, 0102 <span style="color:#924c9d">'๐ '</span>, <span style="color:#924c9d">'๐ '</span>, <span style="color:#924c9d">'๐ '</span>, <span style="color:#924c9d">'๐ '</span>, <span style="color:#924c9d">'๐ก'</span>, <span style="color:#924c9d">'๐ข'</span>, <span style="color:#924c9d">'๐ฃ'</span>, <span style="color:#924c9d">'๐ฎ'</span>] 0103 0104 <span style="color:#006e28">@test</span> <span style="color:#644a9b">docstrings_equal</span>(<span style="color:#006e28">@doc</span>(ModuleMacroDoc), <span style="color:#bf0303">doc"I am a module"</span>) 0105 <span style="color:#644a9b">match</span>(<span style="color:#bf0303">r"^</span><span style="color:#3daee9">\s*</span><span style="color:#924c9d">(?</span><span style="color:#bf0303">:#</span><span style="color:#924c9d">|</span><span style="color:#3daee9">$</span><span style="color:#bf0303">)", "# </span>a<span style="color:#bf0303"> comment"</span>) 0106 0107 <span style="font-weight:bold">abstract type</span> Test2 <span style="font-weight:bold">end</span> 0108 0109 <span style="font-weight:bold">function</span> <span style="color:#644a9b">โabcโdef</span>(a<span style="color:#ca60ca">::</span><span style="color:#0057ae">Int</span>, 0110 b<span style="color:#ca60ca">::</span><span style="color:#0057ae"> Int</span>, 0111 c<span style="color:#ca60ca">::</span><span style="color:#0057ae">Dict{String, Int}</span>, 0112 d<span style="color:#ca60ca">::</span><span style="color:#0057ae"> Dict{String, Vector{eltype(var1)}}</span>, 0113 f<span style="color:#ca60ca">::</span><span style="color:#0057ae">AbstractVector{<:Number}</span>, 0114 g<span style="color:#ca60ca">::</span><span style="color:#0057ae">T</span>, 0115 h<span style="color:#ca60ca">::</span><span style="color:#0057ae">T</span>) <span style="font-weight:bold">where</span> {T <span style="color:#ca60ca"><:</span><span style="color:#0057ae"> Number</span>} 0116 x<span style="color:#ca60ca">::</span><span style="color:#0057ae">Int</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">1</span> 0117 z <span style="color:#ca60ca">=</span> <span style="color:#644a9b">collect</span>(<span style="color:#b08000">1</span><span style="color:#ca60ca">:</span><span style="color:#b08000">10</span>) 0118 <span style="font-weight:bold">return</span> z[<span style="color:#b08000">3</span><span style="color:#ca60ca">:</span><span style="font-weight:bold">end</span>] <span style="color:#ca60ca">.+</span> x <span style="color:#ca60ca">.-</span> a 0119 <span style="font-weight:bold">end</span> 0120 0121 <span style="font-weight:bold">mutable struct</span> TestType <span style="color:#ca60ca"><:</span><span style="color:#0057ae"> AbstractVector{Number}</span> 0122 field1<span style="color:#ca60ca">::</span><span style="color:#0057ae">Int</span> 0123 โfield2<span style="color:#ca60ca">::</span><span style="color:#0057ae">Vector</span> 0124 <span style="font-weight:bold">end</span> 0125 0126 <span style="font-weight:bold">struct</span> ParametricType{T, V <span style="color:#ca60ca"><:</span><span style="color:#0057ae"> Tuple</span>} 0127 field1 0128 field2<span style="color:#ca60ca">::</span><span style="color:#0057ae">Float</span> 0129 0130 <span style="font-weight:bold">function</span> <span style="color:#644a9b">ParametricType</span><span style="color:#0057ae">{T, V}</span>(r, d) <span style="font-weight:bold">where</span> {T, V <span style="color:#ca60ca"><:</span><span style="color:#0057ae"> Tuple</span>} 0131 <span style="font-weight:bold">return</span> <span style="color:#644a9b">new</span><span style="color:#0057ae">{T, V}</span>(r, d) 0132 <span style="font-weight:bold">end</span> 0133 <span style="font-weight:bold">end</span> 0134 </pre></body></html>