135 lines
15 KiB
HTML
135 lines
15 KiB
HTML
<!DOCTYPE html>
|
|
<html><head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
<title>test.jl</title>
|
|
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (Julia) - Theme (Breeze Dark)"/>
|
|
</head><body style="background-color:#232629;color:#cfcfc2"><pre>
|
|
<span style="color:#7a7c7d"># Test file for Julia</span>
|
|
|
|
<span style="color:#7a7c7d"># Comment</span>
|
|
|
|
<span style="color:#7a7c7d">#= Multi-line</span>
|
|
<span style="color:#7a7c7d"> comment =#</span>
|
|
|
|
<span style="color:#2980b9;background-color:#153042">#BEGIN</span>
|
|
|
|
<span style="color:#2980b9;background-color:#153042">#END</span>
|
|
|
|
<span style="color:#27ae60">using</span> <span style="color:#7f8c8d">Random</span>, <span style="color:#7f8c8d">LinearAlgebra</span>
|
|
x <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span> <span style="color:#3f8058">+</span> <span style="color:#f67400">1</span>
|
|
<span style="color:#27ae60">using</span> <span style="color:#7f8c8d">DataFrames</span>, <span style="color:#7f8c8d">Tables</span>,
|
|
<span style="color:#7f8c8d">HDF5</span>, <span style="color:#7a7c7d"># this is a comment</span>
|
|
<span style="color:#7f8c8d">Plots</span>
|
|
<span style="color:#27ae60">using</span> <span style="color:#7f8c8d">DataFrames</span>, <span style="color:#7f8c8d">Tables</span>,
|
|
|
|
<span style="color:#7a7c7d"># this is a comment</span>
|
|
<span style="color:#7f8c8d">Plots</span>
|
|
x <span style="color:#3f8058">=</span> x <span style="color:#3f8058">±</span> <span style="color:#f67400">2</span>
|
|
<span style="color:#27ae60">using</span> <span style="color:#7f8c8d">SparseArrays</span>: SparseMatrixCSC
|
|
<span style="color:#27ae60">using</span> <span style="color:#7f8c8d">Sockets</span>: Sockets, connect,
|
|
listen,
|
|
getaddrinfo
|
|
x <span style="color:#3f8058">=</span> x<span style="color:#3f8058">^</span><span style="color:#f67400">3</span>
|
|
<span style="color:#27ae60">using</span> <span style="color:#7f8c8d">Statistics</span>:
|
|
std,
|
|
stdm
|
|
|
|
<span style="color:#f44f4f">"""</span>
|
|
<span style="color:#f44f4f"> Multi-line string</span>
|
|
<span style="color:#f44f4f">"""</span>
|
|
<span style="color:#da4453">```</span>
|
|
<span style="color:#da4453"> Multi-line command</span>
|
|
<span style="color:#da4453">```</span>
|
|
<span style="color:#f44f4f">raw"string\a\\a"</span>
|
|
|
|
<span style="color:#f44f4f">"string </span><span style="color:#3daee9">$</span>testvar<span style="color:#f44f4f"> interpolation"</span>
|
|
<span style="color:#f44f4f">"string \$testvar interpolation"</span>
|
|
<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>
|
|
<span style="color:#f44f4f">"string \$(collect(1:10) .^ 3) interpolation"</span>
|
|
|
|
<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>)
|
|
<span style="color:#27ae60">@test</span> <span style="color:#8e44ad">size</span>(z) <span style="color:#3f8058">==</span> (<span style="color:#f67400">2</span>,)
|
|
<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>)]
|
|
<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>}
|
|
<span style="font-weight:bold">end</span>
|
|
|
|
<span style="color:#27ae60">@testset</span> <span style="color:#f44f4f">"generic conversion from Integer"</span> <span style="color:#fdbc4b;font-weight:bold">begin</span>
|
|
x <span style="color:#3f8058">=</span> <span style="color:#8e44ad">rand</span>(<span style="color:#2980b9">Int128</span>)
|
|
<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
|
|
y <span style="color:#3f8058">=</span> <span style="color:#8e44ad">rand</span>(<span style="color:#2980b9">UInt128</span>)
|
|
<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
|
|
<span style="color:#fdbc4b;font-weight:bold">end</span>
|
|
|
|
<span style="color:#27ae60">@testset</span> <span style="color:#f44f4f">"show"</span> <span style="color:#fdbc4b;font-weight:bold">begin</span>
|
|
<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>
|
|
<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>
|
|
<span style="color:#8e44ad">show</span>(<span style="color:#8e44ad">IOBuffer</span>(), <span style="color:#8e44ad">BitSet</span>())
|
|
<span style="color:#fdbc4b;font-weight:bold">end</span>
|
|
|
|
cmd <span style="color:#3f8058">=</span> <span style="color:#da4453">`$(Base.julia_cmd()) --depwarn=error --startup-file=no boundscheck_exec.jl`</span>
|
|
<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>))
|
|
<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>)
|
|
<span style="color:#fdbc4b;font-weight:bold">end</span>
|
|
|
|
<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>))
|
|
<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>
|
|
<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>))
|
|
<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)
|
|
|
|
<span style="font-weight:bold">let</span> header <span style="color:#3f8058">=</span> <span style="color:#f44f4f">"julia [switches] -- [programfile] [args...]"</span>
|
|
<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)
|
|
<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)
|
|
<span style="font-weight:bold">end</span>
|
|
|
|
<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>))
|
|
<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>))
|
|
|
|
<span style="color:#7a7c7d"># Numbers</span>
|
|
<span style="color:#f67400">0b10</span>
|
|
<span style="color:#f67400">0o01_70</span>
|
|
<span style="color:#f67400">0x00000000000000001111_22_2233334444</span>
|
|
<span style="color:#3f8058">-</span><span style="color:#f67400">0x0002im</span>
|
|
<span style="color:#f67400">1.0e10</span>
|
|
<span style="color:#f67400">0.00025f0</span>
|
|
<span style="color:#3f8058">-</span><span style="color:#f67400">1.5_5f0</span>
|
|
<span style="color:#f67400">0xdeadbeefim</span>
|
|
<span style="color:#f67400">0x1.8p3</span>
|
|
<span style="color:#f67400">0x.4p-1</span>
|
|
<span style="color:#7a7c7d"># Invalid number</span>
|
|
<span style="color:#f67400">0x000</span>__22
|
|
|
|
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>,
|
|
<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>]
|
|
|
|
<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>)
|
|
<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>)
|
|
|
|
<span style="font-weight:bold">abstract type</span> Test2 <span style="font-weight:bold">end</span>
|
|
|
|
<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>,
|
|
b<span style="color:#3f8058">::</span><span style="color:#2980b9"> Int</span>,
|
|
c<span style="color:#3f8058">::</span><span style="color:#2980b9">Dict{String, Int}</span>,
|
|
d<span style="color:#3f8058">::</span><span style="color:#2980b9"> Dict{String, Vector{eltype(var1)}}</span>,
|
|
f<span style="color:#3f8058">::</span><span style="color:#2980b9">AbstractVector{<:Number}</span>,
|
|
g<span style="color:#3f8058">::</span><span style="color:#2980b9">T</span>,
|
|
h<span style="color:#3f8058">::</span><span style="color:#2980b9">T</span>) <span style="font-weight:bold">where</span> {T <span style="color:#3f8058"><:</span><span style="color:#2980b9"> Number</span>}
|
|
x<span style="color:#3f8058">::</span><span style="color:#2980b9">Int</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span>
|
|
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>)
|
|
<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
|
|
<span style="font-weight:bold">end</span>
|
|
|
|
<span style="font-weight:bold">mutable struct</span> TestType <span style="color:#3f8058"><:</span><span style="color:#2980b9"> AbstractVector{Number}</span>
|
|
field1<span style="color:#3f8058">::</span><span style="color:#2980b9">Int</span>
|
|
∇field2<span style="color:#3f8058">::</span><span style="color:#2980b9">Vector</span>
|
|
<span style="font-weight:bold">end</span>
|
|
|
|
<span style="font-weight:bold">struct</span> ParametricType{T, V <span style="color:#3f8058"><:</span><span style="color:#2980b9"> Tuple</span>}
|
|
field1
|
|
field2<span style="color:#3f8058">::</span><span style="color:#2980b9">Float</span>
|
|
|
|
<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"><:</span><span style="color:#2980b9"> Tuple</span>}
|
|
<span style="color:#fdbc4b;font-weight:bold">return</span> <span style="color:#8e44ad">new</span><span style="color:#2980b9">{T, V}</span>(r, d)
|
|
<span style="font-weight:bold">end</span>
|
|
<span style="font-weight:bold">end</span>
|
|
</pre></body></html>
|