{"route":"/en-US-v0.13.1/reference/math/cases/","title":"Cases","description":"Documentation for the `cases` function.","part":null,"outline":[{"id":"summary","name":"Summary","children":[]},{"id":"example","name":"Example","children":[]},{"id":"parameters","name":"Parameters","children":[{"id":"parameters-delim","name":"delim","children":[]},{"id":"parameters-reverse","name":"reverse","children":[]},{"id":"parameters-gap","name":"gap","children":[]},{"id":"parameters-children","name":"children","children":[]}]}],"body":{"kind":"func","content":{"path":["math"],"name":"cases","title":"Cases","keywords":[],"oneliner":"A case distinction.","element":true,"contextual":false,"deprecation":null,"details":"<p>A case distinction.</p>\n<p>Content across different branches can be aligned with the <code>&amp;</code> symbol.</p>\n<h2 id=\"example\">Example</h2>\n<div class=\"previewed-code\"><pre><code><span class=\"typ-math-delim\">$</span> f(x, y) <span class=\"typ-escape\">:=</span> <span class=\"typ-func\">cases</span><span class=\"typ-punct\">(</span>\n  1 <span class=\"typ-str\">&quot;if&quot;</span> <span class=\"typ-punct\">(</span>x <span class=\"typ-pol\">dot</span> y<span class=\"typ-punct\">)</span><span class=\"typ-math-op\">/</span>2 <span class=\"typ-escape\">&lt;=</span> 0<span class=\"typ-punct\">,</span>\n  2 <span class=\"typ-str\">&quot;if&quot;</span> x <span class=\"typ-str\">&quot;is even&quot;</span><span class=\"typ-punct\">,</span>\n  3 <span class=\"typ-str\">&quot;if&quot;</span> x <span class=\"typ-pol\">in</span> <span class=\"typ-pol\">NN</span><span class=\"typ-punct\">,</span>\n  4 <span class=\"typ-str\">&quot;else&quot;</span><span class=\"typ-punct\">,</span>\n<span class=\"typ-punct\">)</span> <span class=\"typ-math-delim\">$</span>\n</code></pre><div class=\"preview\"><img src=\"/en-US-v0.13.1/assets/d17d4014f0e278177d8e26b02a9734f8.png\" alt=\"Preview\"></div></div>","example":null,"self":false,"params":[{"name":"delim","details":"<p>The delimiter to use.</p>\n<p>Can be a single character specifying the left delimiter, in which case\nthe right delimiter is inferred. Otherwise, can be an array containing a\nleft and a right delimiter.</p>","example":"<div class=\"previewed-code\"><pre><code><span class=\"typ-key\">#</span><span class=\"typ-key\">set</span> math<span class=\"typ-punct\">.</span><span class=\"typ-func\">cases</span><span class=\"typ-punct\">(</span>delim<span class=\"typ-punct\">:</span> <span class=\"typ-str\">&quot;[&quot;</span><span class=\"typ-punct\">)</span>\n<span class=\"typ-math-delim\">$</span> x = <span class=\"typ-func\">cases</span><span class=\"typ-punct\">(</span>1<span class=\"typ-punct\">,</span> 2<span class=\"typ-punct\">)</span> <span class=\"typ-math-delim\">$</span>\n</code></pre><div class=\"preview\"><img src=\"/en-US-v0.13.1/assets/6c4add3875963902d22adb31b49798e5.png\" alt=\"Preview\"></div></div>","types":["none","str","array","symbol"],"strings":[],"default":"<code><span class=\"typ-punct\">(</span><span class=\"typ-str\">&quot;{&quot;</span><span class=\"typ-punct\">,</span> <span class=\"typ-str\">&quot;}&quot;</span><span class=\"typ-punct\">)</span></code>","positional":false,"named":true,"required":false,"variadic":false,"settable":true},{"name":"reverse","details":"<p>Whether the direction of cases should be reversed.</p>","example":"<div class=\"previewed-code\"><pre><code><span class=\"typ-key\">#</span><span class=\"typ-key\">set</span> math<span class=\"typ-punct\">.</span><span class=\"typ-func\">cases</span><span class=\"typ-punct\">(</span>reverse<span class=\"typ-punct\">:</span> <span class=\"typ-key\">true</span><span class=\"typ-punct\">)</span>\n<span class=\"typ-math-delim\">$</span> <span class=\"typ-func\">cases</span><span class=\"typ-punct\">(</span>1<span class=\"typ-punct\">,</span> 2<span class=\"typ-punct\">)</span> = x <span class=\"typ-math-delim\">$</span>\n</code></pre><div class=\"preview\"><img src=\"/en-US-v0.13.1/assets/cfa01064a26c1fd9ccf797ba030d211a.png\" alt=\"Preview\"></div></div>","types":["bool"],"strings":[],"default":"<code><span class=\"typ-key\">false</span></code>","positional":false,"named":true,"required":false,"variadic":false,"settable":true},{"name":"gap","details":"<p>The gap between branches.</p>","example":"<div class=\"previewed-code\"><pre><code><span class=\"typ-key\">#</span><span class=\"typ-key\">set</span> math<span class=\"typ-punct\">.</span><span class=\"typ-func\">cases</span><span class=\"typ-punct\">(</span>gap<span class=\"typ-punct\">:</span> <span class=\"typ-num\">1em</span><span class=\"typ-punct\">)</span>\n<span class=\"typ-math-delim\">$</span> x = <span class=\"typ-func\">cases</span><span class=\"typ-punct\">(</span>1<span class=\"typ-punct\">,</span> 2<span class=\"typ-punct\">)</span> <span class=\"typ-math-delim\">$</span>\n</code></pre><div class=\"preview\"><img src=\"/en-US-v0.13.1/assets/fb1b1c7f3447e03c3a622e530afa6457.png\" alt=\"Preview\"></div></div>","types":["relative"],"strings":[],"default":"<code><span class=\"typ-num\">0%</span> <span class=\"typ-op\">+</span> <span class=\"typ-num\">0.2em</span></code>","positional":false,"named":true,"required":false,"variadic":false,"settable":true},{"name":"children","details":"<p>The branches of the case distinction.</p>","example":null,"types":["content"],"strings":[],"default":null,"positional":true,"named":false,"required":true,"variadic":true,"settable":false}],"returns":["content"],"scope":[]}}}