File indexing completed on 2024-05-12 04:02:09

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 Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#7a7c7d"># Test file for Julia</span>
0008 
0009 <span style="color:#7a7c7d"># Comment</span>
0010 
0011 <span style="color:#7a7c7d">#= Multi-line</span>
0012 <span style="color:#7a7c7d">   comment =#</span>
0013 
0014 <span style="color:#2980b9;background-color:#153042">#BEGIN</span>
0015 
0016 <span style="color:#2980b9;background-color:#153042">#END</span>
0017 
0018 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">Random</span>, <span style="color:#7f8c8d">LinearAlgebra</span>
0019 x <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span> <span style="color:#3f8058">+</span> <span style="color:#f67400">1</span>
0020 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">DataFrames</span>, <span style="color:#7f8c8d">Tables</span>,   
0021     <span style="color:#7f8c8d">HDF5</span>, <span style="color:#7a7c7d"># this is a comment</span>
0022     <span style="color:#7f8c8d">Plots</span>
0023 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">DataFrames</span>, <span style="color:#7f8c8d">Tables</span>,
0024     
0025     <span style="color:#7a7c7d"># this is a comment</span>
0026     <span style="color:#7f8c8d">Plots</span>
0027 x <span style="color:#3f8058">=</span> x <span style="color:#3f8058">ยฑ</span> <span style="color:#f67400">2</span>
0028 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">SparseArrays</span>: SparseMatrixCSC
0029 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">Sockets</span>: Sockets, connect,
0030     listen,
0031     getaddrinfo
0032 x <span style="color:#3f8058">=</span> x<span style="color:#3f8058">^</span><span style="color:#f67400">3</span>
0033 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">Statistics</span>:
0034     std,
0035     stdm
0036 
0037 <span style="color:#f44f4f">"""</span>
0038 <span style="color:#f44f4f"> Multi-line string</span>
0039 <span style="color:#f44f4f">"""</span>
0040 <span style="color:#da4453">```</span>
0041 <span style="color:#da4453"> Multi-line command</span>
0042 <span style="color:#da4453">```</span>
0043 <span style="color:#f44f4f">raw"string\a\\a"</span>
0044 
0045 <span style="color:#f44f4f">"string </span><span style="color:#3daee9">$</span>testvar<span style="color:#f44f4f"> interpolation"</span>
0046 <span style="color:#f44f4f">"string \$testvar interpolation"</span>
0047 <span style="color:#f44f4f">"string </span><span style="color:#3daee9">$</span>(<span style="color:#8e44ad">collect</span>(<span style="color:#f67400">1</span><span style="color:#3f8058">:</span><span style="color:#f67400">10</span>) <span style="color:#3f8058">.^</span> <span style="color:#f67400">3</span>)<span style="color:#f44f4f"> interpolation"</span>
0048 <span style="color:#f44f4f">"string \$(collect(1:10) .^ 3) interpolation"</span>
0049 
0050 <span style="font-weight:bold">let</span> z <span style="color:#3f8058">=</span> <span style="color:#8e44ad">zip</span>(<span style="color:#f67400">1</span><span style="color:#3f8058">:</span><span style="color:#f67400">2</span>, <span style="color:#f67400">3</span><span style="color:#3f8058">:</span><span style="color:#f67400">4</span>, <span style="color:#f67400">5</span><span style="color:#3f8058">:</span><span style="color:#f67400">6</span>)
0051     <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">size</span>(z) <span style="color:#3f8058">==</span> (<span style="color:#f67400">2</span>,)
0052     <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">collect</span>(z) <span style="color:#3f8058">==</span> [(<span style="color:#f67400">1</span>,<span style="color:#f67400">3</span>,<span style="color:#f67400">5</span>), (<span style="color:#f67400">2</span>,<span style="color:#f67400">4</span>,<span style="color:#f67400">6</span>)]
0053     <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">eltype</span>(z) <span style="color:#3f8058">==</span> <span style="color:#2980b9">Tuple</span>{<span style="color:#2980b9">Int</span>,<span style="color:#2980b9">Int</span>,<span style="color:#2980b9">Int</span>}
0054 <span style="font-weight:bold">end</span>
0055 
0056 <span style="color:#27ae60">@testset</span> <span style="color:#f44f4f">"generic conversion from Integer"</span> <span style="color:#fdbc4b;font-weight:bold">begin</span>
0057     x <span style="color:#3f8058">=</span> <span style="color:#8e44ad">rand</span>(<span style="color:#2980b9">Int128</span>)
0058     <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">BigInt</span>(x) <span style="color:#3f8058">%</span> <span style="color:#2980b9">Int128</span> <span style="color:#3f8058">===</span> x
0059     y <span style="color:#3f8058">=</span> <span style="color:#8e44ad">rand</span>(<span style="color:#2980b9">UInt128</span>)
0060     <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">BigInt</span>(y) <span style="color:#3f8058">%</span> <span style="color:#2980b9">UInt128</span> <span style="color:#3f8058">===</span> y
0061 <span style="color:#fdbc4b;font-weight:bold">end</span>
0062 
0063 <span style="color:#27ae60">@testset</span> <span style="color:#f44f4f">"show"</span> <span style="color:#fdbc4b;font-weight:bold">begin</span>
0064     <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">sprint</span>(show, <span style="color:#8e44ad">BitSet</span>()) <span style="color:#3f8058">==</span> <span style="color:#f44f4f">"BitSet([])"</span>
0065     <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">sprint</span>(show, <span style="color:#8e44ad">BitSet</span>([<span style="color:#f67400">1</span>,<span style="color:#f67400">2</span>,<span style="color:#f67400">3</span>])) <span style="color:#3f8058">==</span> <span style="color:#f44f4f">"BitSet([1, 2, 3])"</span>
0066     <span style="color:#8e44ad">show</span>(<span style="color:#8e44ad">IOBuffer</span>(), <span style="color:#8e44ad">BitSet</span>())
0067 <span style="color:#fdbc4b;font-weight:bold">end</span>
0068 
0069 cmd <span style="color:#3f8058">=</span> <span style="color:#da4453">`$(Base.julia_cmd()) --depwarn=error --startup-file=no boundscheck_exec.jl`</span>
0070 <span style="color:#fdbc4b;font-weight:bold">if</span> !<span style="color:#8e44ad">success</span>(<span style="color:#8e44ad">pipeline</span>(cmd; <span style="color:#27aeae;font-weight:bold">stdout</span><span style="color:#3f8058">=</span><span style="color:#27aeae;font-weight:bold">stdout</span>, <span style="color:#27aeae;font-weight:bold">stderr</span><span style="color:#3f8058">=</span><span style="color:#27aeae;font-weight:bold">stderr</span>))
0071     <span style="color:#8e44ad">error</span>(<span style="color:#f44f4f">"boundscheck test failed, cmd : </span><span style="color:#3daee9">$</span>cmd<span style="color:#f44f4f">"</span>)
0072 <span style="color:#fdbc4b;font-weight:bold">end</span>
0073 
0074 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">iterate</span>(I, <span style="color:#8e44ad">CartesianIndex</span>(<span style="color:#f67400">3</span>, <span style="color:#8e44ad">typemax</span>(<span style="color:#2980b9">Int</span>)))[<span style="color:#f67400">1</span>] <span style="color:#3f8058">==</span> <span style="color:#8e44ad">CartesianIndex</span>(<span style="color:#f67400">4</span>,<span style="color:#8e44ad">typemax</span>(<span style="color:#2980b9">Int</span>))
0075 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">iterate</span>(I, <span style="color:#8e44ad">CartesianIndex</span>(<span style="color:#f67400">4</span>, <span style="color:#8e44ad">typemax</span>(<span style="color:#2980b9">Int</span>)))    <span style="color:#3f8058">===</span> <span style="color:#27aeae;font-weight:bold">nothing</span>
0076 <span style="color:#27ae60">@test_throws</span> <span style="color:#2980b9">MethodError</span> <span style="color:#8e44ad">write</span>(<span style="color:#8e44ad">IOBuffer</span>(), <span style="color:#8e44ad">ASCIIChar</span>(<span style="color:#3daee9">'x'</span>))
0077 <span style="color:#27ae60">@test_throws</span> <span style="color:#2980b9">MethodError</span> <span style="color:#8e44ad">read</span>(<span style="color:#8e44ad">IOBuffer</span>(<span style="color:#3daee9">'x'</span>), ASCIIChar)
0078 
0079 <span style="font-weight:bold">let</span> header <span style="color:#3f8058">=</span> <span style="color:#f44f4f">"julia [switches] -- [programfile] [args...]"</span>
0080     <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">startswith</span>(<span style="color:#8e44ad">read</span>(<span style="color:#da4453">`$exename -h`</span>, <span style="color:#2980b9">String</span>), header)
0081     <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">startswith</span>(<span style="color:#8e44ad">read</span>(<span style="color:#da4453">`$exename --help`</span>, <span style="color:#2980b9">String</span>), header)
0082 <span style="font-weight:bold">end</span>
0083 
0084 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">isequal</span>(<span style="color:#8e44ad">exp</span>(<span style="color:#8e44ad">complex</span>( <span style="color:#27aeae;font-weight:bold">Inf</span>, <span style="color:#27aeae;font-weight:bold">NaN</span>)), <span style="color:#8e44ad">complex</span>(<span style="color:#3f8058">-</span><span style="color:#27aeae;font-weight:bold">Inf</span>, <span style="color:#27aeae;font-weight:bold">NaN</span>))
0085 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">isequal</span>(<span style="color:#8e44ad">exp</span>(<span style="color:#8e44ad">complex</span>( <span style="color:#27aeae;font-weight:bold">Inf</span>, <span style="color:#27aeae;font-weight:bold">Inf</span>)), <span style="color:#8e44ad">complex</span>(<span style="color:#3f8058">-</span><span style="color:#27aeae;font-weight:bold">Inf</span>, <span style="color:#27aeae;font-weight:bold">NaN</span>))
0086 
0087 <span style="color:#7a7c7d"># Numbers</span>
0088 <span style="color:#f67400">0b10</span>
0089 <span style="color:#f67400">0o01_70</span>
0090 <span style="color:#f67400">0x00000000000000001111_22_2233334444</span>
0091 <span style="color:#3f8058">-</span><span style="color:#f67400">0x0002im</span>
0092 <span style="color:#f67400">1.0e10</span>
0093 <span style="color:#f67400">0.00025f0</span>
0094 <span style="color:#3f8058">-</span><span style="color:#f67400">1.5_5f0</span>
0095 <span style="color:#f67400">0xdeadbeefim</span>
0096 <span style="color:#f67400">0x1.8p3</span>
0097 <span style="color:#f67400">0x.4p-1</span>
0098 <span style="color:#7a7c7d"># Invalid number</span>
0099 <span style="color:#f67400">0x000</span>__22
0100 
0101 chars <span style="color:#3f8058">=</span> [<span style="color:#3daee9">'0'</span>, <span style="color:#3daee9">'1'</span>, <span style="color:#3daee9">'2'</span>, <span style="color:#3daee9">'3'</span>, <span style="color:#3daee9">'a'</span>, <span style="color:#3daee9">'b'</span>, <span style="color:#3daee9">'c'</span>, <span style="color:#3daee9">'d'</span>, <span style="color:#3daee9">'e'</span>, <span style="color:#3daee9">'X'</span>, <span style="color:#3daee9">'Y'</span>, <span style="color:#3daee9">'Z'</span>,
0102          <span style="color:#3daee9">'๐ €‹'</span>, <span style="color:#3daee9">'๐ €Œ'</span>, <span style="color:#3daee9">'๐ €'</span>, <span style="color:#3daee9">'๐Ÿ‚ '</span>, <span style="color:#3daee9">'๐Ÿ‚ก'</span>, <span style="color:#3daee9">'๐Ÿ‚ข'</span>, <span style="color:#3daee9">'๐Ÿ‚ฃ'</span>, <span style="color:#3daee9">'๐Ÿ‚ฎ'</span>]
0103 
0104 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">docstrings_equal</span>(<span style="color:#27ae60">@doc</span>(ModuleMacroDoc), <span style="color:#f44f4f">doc"I am a module"</span>)
0105 <span style="color:#8e44ad">match</span>(<span style="color:#f44f4f">r"^</span><span style="color:#3daee9">\s*</span><span style="color:#3daee9">(?</span><span style="color:#f44f4f">:#</span><span style="color:#3daee9">|</span><span style="color:#3daee9">$</span><span style="color:#f44f4f">)", "# </span>a<span style="color:#f44f4f"> 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:#8e44ad">โˆ‡abcโˆ‡def</span>(a<span style="color:#3f8058">::</span><span style="color:#2980b9">Int</span>,
0110                  b<span style="color:#3f8058">::</span><span style="color:#2980b9"> Int</span>,
0111                  c<span style="color:#3f8058">::</span><span style="color:#2980b9">Dict{String, Int}</span>,
0112                  d<span style="color:#3f8058">::</span><span style="color:#2980b9"> Dict{String, Vector{eltype(var1)}}</span>,
0113                  f<span style="color:#3f8058">::</span><span style="color:#2980b9">AbstractVector{&lt;:Number}</span>,
0114                  g<span style="color:#3f8058">::</span><span style="color:#2980b9">T</span>,
0115                  h<span style="color:#3f8058">::</span><span style="color:#2980b9">T</span>) <span style="font-weight:bold">where</span> {T <span style="color:#3f8058">&lt;:</span><span style="color:#2980b9"> Number</span>}
0116     x<span style="color:#3f8058">::</span><span style="color:#2980b9">Int</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span>
0117     z <span style="color:#3f8058">=</span> <span style="color:#8e44ad">collect</span>(<span style="color:#f67400">1</span><span style="color:#3f8058">:</span><span style="color:#f67400">10</span>)
0118     <span style="color:#fdbc4b;font-weight:bold">return</span> z[<span style="color:#f67400">3</span><span style="color:#3f8058">:</span><span style="font-weight:bold">end</span>] <span style="color:#3f8058">.+</span> x <span style="color:#3f8058">.-</span> a
0119 <span style="font-weight:bold">end</span>
0120 
0121 <span style="font-weight:bold">mutable struct</span> TestType <span style="color:#3f8058">&lt;:</span><span style="color:#2980b9"> AbstractVector{Number}</span>
0122     field1<span style="color:#3f8058">::</span><span style="color:#2980b9">Int</span>
0123     โˆ‡field2<span style="color:#3f8058">::</span><span style="color:#2980b9">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:#3f8058">&lt;:</span><span style="color:#2980b9"> Tuple</span>}
0127     field1
0128     field2<span style="color:#3f8058">::</span><span style="color:#2980b9">Float</span>
0129 
0130     <span style="font-weight:bold">function</span> <span style="color:#8e44ad">ParametricType</span><span style="color:#2980b9">{T, V}</span>(r, d) <span style="font-weight:bold">where</span> {T, V <span style="color:#3f8058">&lt;:</span><span style="color:#2980b9"> Tuple</span>}
0131         <span style="color:#fdbc4b;font-weight:bold">return</span> <span style="color:#8e44ad">new</span><span style="color:#2980b9">{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>