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 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{&lt;: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">&lt;:</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">&lt;:</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">&lt;:</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">&lt;:</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>