File: default.expect.txt

package info (click to toggle)
highlight.js 10.7.3%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,332 kB
  • sloc: javascript: 41,059; makefile: 157; python: 29; sh: 20
file content (79 lines) | stat: -rw-r--r-- 21,687 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<span class="hljs-comment">(* Real-world example from StackExchange *)</span>
<span class="hljs-variable">xkcdStyle</span> <span class="hljs-operator">=</span> <span class="hljs-punctuation">{</span><span class="hljs-built_in">FontFamily</span> <span class="hljs-operator">-&gt;</span> <span class="hljs-string">&quot;Comic Sans MS&quot;</span><span class="hljs-operator">,</span> <span class="hljs-number">16</span><span class="hljs-punctuation">}</span><span class="hljs-operator">;</span>

<span class="hljs-variable">xkcdLabel</span><span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span><span class="hljs-type">str_String</span><span class="hljs-operator">,</span> <span class="hljs-punctuation">{</span><span class="hljs-type">x1_</span><span class="hljs-operator">,</span> <span class="hljs-type">y1_</span><span class="hljs-punctuation">}</span><span class="hljs-operator">,</span> <span class="hljs-punctuation">{</span><span class="hljs-type">xo_</span><span class="hljs-operator">,</span> <span class="hljs-type">yo_</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">:=</span> <span class="hljs-built_in">Module</span><span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span><span class="hljs-variable">x2</span><span class="hljs-operator">,</span> <span class="hljs-variable">y2</span><span class="hljs-punctuation">}</span><span class="hljs-operator">,</span>
  <span class="hljs-variable">x2</span> <span class="hljs-operator">=</span> <span class="hljs-variable">x1</span> <span class="hljs-operator">+</span> <span class="hljs-variable">xo</span><span class="hljs-operator">;</span> <span class="hljs-variable">y2</span> <span class="hljs-operator">=</span> <span class="hljs-variable">y1</span> <span class="hljs-operator">+</span> <span class="hljs-variable">yo</span><span class="hljs-operator">;</span>
  <span class="hljs-punctuation">{</span>
    <span class="hljs-built_in">Inset</span><span class="hljs-punctuation">[</span>
      <span class="hljs-built_in">Style</span><span class="hljs-punctuation">[</span><span class="hljs-variable">str</span><span class="hljs-operator">,</span> <span class="hljs-variable">xkcdStyle</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span>
      <span class="hljs-punctuation">{</span><span class="hljs-variable">x2</span><span class="hljs-operator">,</span> <span class="hljs-variable">y2</span><span class="hljs-punctuation">}</span><span class="hljs-operator">,</span>
      <span class="hljs-punctuation">{</span><span class="hljs-number">1.2</span><span class="hljs-operator">*</span><span class="hljs-built_in">Sign</span><span class="hljs-punctuation">[</span><span class="hljs-variable">x1</span> <span class="hljs-operator">-</span> <span class="hljs-variable">x2</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span> <span class="hljs-built_in">Sign</span><span class="hljs-punctuation">[</span><span class="hljs-variable">y1</span> <span class="hljs-operator">-</span> <span class="hljs-variable">y2</span><span class="hljs-punctuation">]</span> <span class="hljs-built_in">Boole</span><span class="hljs-punctuation">[</span><span class="hljs-variable">x1</span> <span class="hljs-operator">==</span> <span class="hljs-variable">x2</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">}</span>
    <span class="hljs-punctuation">]</span><span class="hljs-operator">,</span>
    <span class="hljs-built_in">Thick</span><span class="hljs-operator">,</span>
    <span class="hljs-built_in">BezierCurve</span><span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span><span class="hljs-punctuation">{</span><span class="hljs-number">0.9</span><span class="hljs-operator">*</span><span class="hljs-variable">x1</span> <span class="hljs-operator">+</span> <span class="hljs-number">0.1</span><span class="hljs-operator">*</span><span class="hljs-variable">x2</span><span class="hljs-operator">,</span> <span class="hljs-number">0.9</span><span class="hljs-operator">*</span><span class="hljs-variable">y1</span> <span class="hljs-operator">+</span> <span class="hljs-number">0.1</span><span class="hljs-operator">*</span><span class="hljs-variable">y2</span><span class="hljs-punctuation">}</span><span class="hljs-operator">,</span> <span class="hljs-punctuation">{</span><span class="hljs-variable">x1</span><span class="hljs-operator">,</span> <span class="hljs-variable">y2</span><span class="hljs-punctuation">}</span><span class="hljs-operator">,</span> <span class="hljs-punctuation">{</span><span class="hljs-variable">x2</span><span class="hljs-operator">,</span> <span class="hljs-variable">y2</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">]</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">]</span><span class="hljs-operator">;</span>

<span class="hljs-variable">xkcdRules</span> <span class="hljs-operator">=</span> <span class="hljs-punctuation">{</span>
  <span class="hljs-built_in">EdgeForm</span><span class="hljs-punctuation">[</span><span class="hljs-variable">ef</span> <span class="hljs-operator">:</span> <span class="hljs-built_in">Except</span><span class="hljs-punctuation">[</span><span class="hljs-built_in">None</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">:&gt;</span> <span class="hljs-built_in">EdgeForm</span><span class="hljs-punctuation">[</span><span class="hljs-built_in">Flatten</span><span class="hljs-operator">@</span><span class="hljs-punctuation">{</span><span class="hljs-variable">ef</span><span class="hljs-operator">,</span> <span class="hljs-built_in">Thick</span><span class="hljs-operator">,</span> <span class="hljs-built_in">Black</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span>
  <span class="hljs-built_in">Style</span><span class="hljs-punctuation">[</span><span class="hljs-type">x_</span><span class="hljs-operator">,</span> <span class="hljs-type">st_</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">:&gt;</span> <span class="hljs-built_in">Style</span><span class="hljs-punctuation">[</span><span class="hljs-variable">x</span><span class="hljs-operator">,</span> <span class="hljs-variable">xkcdStyle</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span>
  <span class="hljs-built_in">Pane</span><span class="hljs-punctuation">[</span><span class="hljs-type">s_String</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">:&gt;</span> <span class="hljs-built_in">Pane</span><span class="hljs-punctuation">[</span><span class="hljs-built_in">Style</span><span class="hljs-punctuation">[</span><span class="hljs-variable">s</span><span class="hljs-operator">,</span> <span class="hljs-variable">xkcdStyle</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span>
  <span class="hljs-punctuation">{</span><span class="hljs-type">h_Hue</span><span class="hljs-operator">,</span> <span class="hljs-type">l_Line</span><span class="hljs-punctuation">}</span> <span class="hljs-operator">:&gt;</span> <span class="hljs-punctuation">{</span><span class="hljs-built_in">Thickness</span><span class="hljs-punctuation">[</span><span class="hljs-number">0.02</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span> <span class="hljs-built_in">White</span><span class="hljs-operator">,</span> <span class="hljs-variable">l</span><span class="hljs-operator">,</span> <span class="hljs-built_in">Thick</span><span class="hljs-operator">,</span> <span class="hljs-variable">h</span><span class="hljs-operator">,</span> <span class="hljs-variable">l</span><span class="hljs-punctuation">}</span><span class="hljs-operator">,</span>
  <span class="hljs-built_in">Grid</span><span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span><span class="hljs-punctuation">{</span><span class="hljs-type">g_Graphics</span><span class="hljs-operator">,</span> <span class="hljs-type">s_String</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">:&gt;</span> <span class="hljs-built_in">Grid</span><span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span><span class="hljs-punctuation">{</span><span class="hljs-variable">g</span><span class="hljs-operator">,</span> <span class="hljs-built_in">Style</span><span class="hljs-punctuation">[</span><span class="hljs-variable">s</span><span class="hljs-operator">,</span> <span class="hljs-variable">xkcdStyle</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span>
  <span class="hljs-built_in">Rule</span><span class="hljs-punctuation">[</span><span class="hljs-built_in">PlotLabel</span><span class="hljs-operator">,</span> <span class="hljs-type">lab_</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">:&gt;</span> <span class="hljs-built_in">Rule</span><span class="hljs-punctuation">[</span><span class="hljs-built_in">PlotLabel</span><span class="hljs-operator">,</span> <span class="hljs-built_in">Style</span><span class="hljs-punctuation">[</span><span class="hljs-variable">lab</span><span class="hljs-operator">,</span> <span class="hljs-variable">xkcdStyle</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">]</span>
<span class="hljs-punctuation">}</span><span class="hljs-operator">;</span>

<span class="hljs-variable">xkcdShow</span><span class="hljs-punctuation">[</span><span class="hljs-type">plot_</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">:=</span> <span class="hljs-built_in">Show</span><span class="hljs-punctuation">[</span><span class="hljs-variable">plot</span><span class="hljs-operator">,</span> <span class="hljs-built_in">AxesStyle</span> <span class="hljs-operator">-&gt;</span> <span class="hljs-built_in">Thick</span><span class="hljs-operator">,</span> <span class="hljs-built_in">LabelStyle</span> <span class="hljs-operator">-&gt;</span> <span class="hljs-variable">xkcdStyle</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">/.</span> <span class="hljs-variable">xkcdRules</span><span class="hljs-operator">;</span>
<span class="hljs-variable">xkcdShow</span><span class="hljs-punctuation">[</span><span class="hljs-built_in">Labeled</span><span class="hljs-punctuation">[</span><span class="hljs-type">plot_</span><span class="hljs-operator">,</span> <span class="hljs-type">rest__</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">:=</span> <span class="hljs-built_in">Labeled</span><span class="hljs-punctuation">[</span>
  <span class="hljs-built_in">Show</span><span class="hljs-punctuation">[</span><span class="hljs-variable">plot</span><span class="hljs-operator">,</span> <span class="hljs-built_in">AxesStyle</span> <span class="hljs-operator">-&gt;</span> <span class="hljs-built_in">Thick</span><span class="hljs-operator">,</span> <span class="hljs-built_in">LabelStyle</span> <span class="hljs-operator">-&gt;</span> <span class="hljs-variable">xkcdStyle</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span> <span class="hljs-variable">rest</span> <span class="hljs-punctuation">]</span> <span class="hljs-operator">/.</span> <span class="hljs-variable">xkcdRules</span><span class="hljs-operator">;</span>

<span class="hljs-variable">xkcdDistort</span><span class="hljs-punctuation">[</span><span class="hljs-type">plot_</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">:=</span> <span class="hljs-built_in">Module</span><span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span><span class="hljs-variable">r</span><span class="hljs-operator">,</span> <span class="hljs-variable">ix</span><span class="hljs-operator">,</span> <span class="hljs-variable">iy</span><span class="hljs-punctuation">}</span><span class="hljs-operator">,</span>
  <span class="hljs-variable">r</span> <span class="hljs-operator">=</span> <span class="hljs-built_in">ImagePad</span><span class="hljs-punctuation">[</span><span class="hljs-built_in">Rasterize</span><span class="hljs-operator">@</span><span class="hljs-variable">plot</span><span class="hljs-operator">,</span> <span class="hljs-number">10</span><span class="hljs-operator">,</span> <span class="hljs-built_in">Padding</span> <span class="hljs-operator">-&gt;</span> <span class="hljs-built_in">White</span><span class="hljs-punctuation">]</span><span class="hljs-operator">;</span>
  <span class="hljs-punctuation">{</span><span class="hljs-variable">ix</span><span class="hljs-operator">,</span> <span class="hljs-variable">iy</span><span class="hljs-punctuation">}</span> <span class="hljs-operator">=</span> <span class="hljs-built_in">Table</span><span class="hljs-punctuation">[</span>
    <span class="hljs-built_in">RandomImage</span><span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span><span class="hljs-operator">-</span><span class="hljs-number">1</span><span class="hljs-operator">,</span> <span class="hljs-number">1</span><span class="hljs-punctuation">}</span><span class="hljs-operator">,</span> <span class="hljs-built_in">ImageDimensions</span><span class="hljs-operator">@</span><span class="hljs-variable">r</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">~</span> <span class="hljs-built_in">ImageConvolve</span> <span class="hljs-operator">~</span> <span class="hljs-built_in">GaussianMatrix</span><span class="hljs-punctuation">[</span><span class="hljs-number">10</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span>
    <span class="hljs-punctuation">{</span><span class="hljs-number">2</span><span class="hljs-punctuation">}</span>
  <span class="hljs-punctuation">]</span><span class="hljs-operator">;</span>
  <span class="hljs-built_in">ImagePad</span><span class="hljs-punctuation">[</span>
    <span class="hljs-built_in">ImageTransformation</span><span class="hljs-punctuation">[</span><span class="hljs-variable">r</span><span class="hljs-operator">,</span> <span class="hljs-type">#</span> <span class="hljs-operator">+</span> <span class="hljs-number">15</span> <span class="hljs-punctuation">{</span><span class="hljs-built_in">ImageValue</span><span class="hljs-punctuation">[</span><span class="hljs-variable">ix</span><span class="hljs-operator">,</span> <span class="hljs-type">#</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span> <span class="hljs-built_in">ImageValue</span><span class="hljs-punctuation">[</span><span class="hljs-variable">iy</span><span class="hljs-operator">,</span> <span class="hljs-type">#</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">}</span> <span class="hljs-operator">&amp;,</span> <span class="hljs-built_in">DataRange</span> <span class="hljs-operator">-&gt;</span> <span class="hljs-built_in">Full</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span>
    <span class="hljs-operator">-</span><span class="hljs-number">5</span>
  <span class="hljs-punctuation">]</span>
<span class="hljs-punctuation">]</span><span class="hljs-operator">;</span>
<span class="hljs-variable">xkcdConvert</span><span class="hljs-punctuation">[</span><span class="hljs-type">plot_</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">:=</span> <span class="hljs-variable">xkcdDistort</span><span class="hljs-punctuation">[</span><span class="hljs-variable">xkcdShow</span><span class="hljs-punctuation">[</span><span class="hljs-variable">plot</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">]</span><span class="hljs-operator">;</span>
<span class="hljs-variable">xkcdConvert</span><span class="hljs-punctuation">[</span><span class="hljs-built_in">Plot</span><span class="hljs-punctuation">[</span><span class="hljs-built_in">Sin</span><span class="hljs-punctuation">[</span><span class="hljs-variable">x</span><span class="hljs-punctuation">]</span><span class="hljs-operator">,</span> <span class="hljs-punctuation">{</span><span class="hljs-variable">x</span><span class="hljs-operator">,</span> <span class="hljs-number">0</span><span class="hljs-operator">,</span> <span class="hljs-number">4</span> <span class="hljs-built_in">Pi</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">]</span>

<span class="hljs-comment">(* Features *)</span>

<span class="hljs-comment">(* The Wolfram Language supports a variety of different number input forms *)</span>
<span class="hljs-comment">(* All numbers below are correct numbers! *)</span>

<span class="hljs-variable">numbers</span> <span class="hljs-operator">=</span> <span class="hljs-punctuation">{</span>
    <span class="hljs-number">123</span><span class="hljs-operator">,</span>
    <span class="hljs-number">123.123</span><span class="hljs-operator">,</span>
    <span class="hljs-number">2^^101.101</span><span class="hljs-operator">,</span>
    <span class="hljs-number">35^^WolframLanguage</span><span class="hljs-operator">,</span>
    <span class="hljs-number">16^^dead.Beef</span><span class="hljs-operator">,</span>
    <span class="hljs-number">123`</span><span class="hljs-operator">,</span>
    <span class="hljs-number">1.381`</span><span class="hljs-operator">,</span>
    <span class="hljs-number">16^^9fe.c3`7</span><span class="hljs-operator">,</span>
    <span class="hljs-number">3.0`+7</span><span class="hljs-operator">,</span>
    <span class="hljs-number">3`7</span><span class="hljs-operator">,</span>
    <span class="hljs-number">3.000000000000000000000`7</span><span class="hljs-operator">,</span>
    <span class="hljs-number">3.000000000000000000`-7</span><span class="hljs-operator">,</span>
    <span class="hljs-number">3.98`5*^3</span><span class="hljs-operator">,</span>
    <span class="hljs-number">16^^dead.beef``+4*^-3</span><span class="hljs-operator">,</span>
    <span class="hljs-number">0.0000000001*^10</span><span class="hljs-operator">,</span>
    <span class="hljs-number">35^^small*^-10</span><span class="hljs-operator">,</span>
    <span class="hljs-number">10000000000*^-10</span>
<span class="hljs-punctuation">}</span>

<span class="hljs-comment">(* Named Characters are matched as normal symbols *)</span>
<span class="hljs-punctuation">{</span> <span class="hljs-variable">\[Gamma]</span><span class="hljs-operator">,</span>  <span class="hljs-variable">\[CapitalEAcute]</span><span class="hljs-operator">,</span> <span class="hljs-variable">\[DoubleLeftRightArrow]</span><span class="hljs-operator">,</span> <span class="hljs-variable">\[FormalEpsilon]</span><span class="hljs-operator">,</span> <span class="hljs-variable">my</span><span class="hljs-variable">\[CapitalEAcute]</span><span class="hljs-variable">Variable</span> <span class="hljs-punctuation">}</span>

<span class="hljs-comment">(* Patterns and Slots *)</span>
<span class="hljs-variable">xkcdLabel</span><span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span><span class="hljs-type">str_String</span><span class="hljs-operator">,</span> <span class="hljs-punctuation">{</span><span class="hljs-type">x1_Integer</span><span class="hljs-operator">,</span> <span class="hljs-type">y1_Real</span><span class="hljs-punctuation">}</span><span class="hljs-operator">,</span> <span class="hljs-punctuation">{</span><span class="hljs-type">_Real</span><span class="hljs-operator">,</span> <span class="hljs-type">_List</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">}</span><span class="hljs-punctuation">]</span>
<span class="hljs-built_in">If</span><span class="hljs-punctuation">[</span><span class="hljs-type">#</span> <span class="hljs-operator">&gt;</span> <span class="hljs-number">5</span><span class="hljs-operator">,</span> <span class="hljs-type">#</span><span class="hljs-operator">,</span> <span class="hljs-type">##</span> <span class="hljs-operator">&amp;</span><span class="hljs-punctuation">[</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">]</span> <span class="hljs-operator">&amp;</span> <span class="hljs-operator">/@</span> <span class="hljs-built_in">Range</span><span class="hljs-punctuation">[</span><span class="hljs-number">10</span><span class="hljs-punctuation">]</span>

<span class="hljs-comment">(* Usage and other messages, In/Out *)</span>
<span class="hljs-built_in">In</span><span class="hljs-punctuation">[</span><span class="hljs-number">1</span><span class="hljs-punctuation">]</span><span class="hljs-operator">:=</span> <span class="hljs-variable">func</span><span class="hljs-string">::usage</span> <span class="hljs-operator">=</span> <span class="hljs-string">&quot;A Usage message&quot;</span>
<span class="hljs-built_in">Out</span><span class="hljs-punctuation">[</span><span class="hljs-number">1</span><span class="hljs-punctuation">]</span><span class="hljs-operator">=</span> <span class="hljs-string">&quot;A Usage message&quot;</span>