julia-color/example.html

498 lines
38 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
<meta charset="utf-8">
<meta name="generator" content="quarto-99.9.9">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Some Julia Code</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
ul.task-list li input[type="checkbox"] {
width: 0.8em;
margin: 0 0.8em 0.2em -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */
vertical-align: middle;
}
/* CSS for syntax highlighting */
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
}
pre.numberSource { margin-left: 3em; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
</style>
<script src="example_files/libs/clipboard/clipboard.min.js"></script>
<script src="example_files/libs/quarto-html/quarto.js"></script>
<script src="example_files/libs/quarto-html/popper.min.js"></script>
<script src="example_files/libs/quarto-html/tippy.umd.min.js"></script>
<script src="example_files/libs/quarto-html/anchor.min.js"></script>
<link href="example_files/libs/quarto-html/tippy.css" rel="stylesheet">
<link href="example_files/libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" id="quarto-text-highlighting-styles">
<script src="example_files/libs/bootstrap/bootstrap.min.js"></script>
<link href="example_files/libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
<link href="example_files/libs/bootstrap/bootstrap.min.css" rel="stylesheet" id="quarto-bootstrap" data-mode="light">
<link href="example_files/libs/quarto-contrib/ansicolors/ansicolor.css" rel="stylesheet">
<link href="example_files/libs/quarto-contrib/juliamonofont/juliamono.css" rel="stylesheet">
</head>
<body>
<div id="quarto-content" class="page-columns page-rows-contents page-layout-article">
<div id="quarto-margin-sidebar" class="sidebar margin-sidebar">
<div class="quarto-alternate-formats"><h2>Other Formats</h2><ul><li><a href="example.pdf"><i class="bi bi-file-pdf"></i>PDF (julia)</a></li></ul></div></div>
<main class="content" id="quarto-document-content">
<header id="title-block-header" class="quarto-title-block default">
<div class="quarto-title">
<h1 class="title">Some Julia Code</h1>
</div>
<div class="quarto-title-meta">
</div>
</header>
<section id="colored-console-graphs-produced-by-benchmarktools.jl" class="level2">
<h2 class="anchored" data-anchor-id="colored-console-graphs-produced-by-benchmarktools.jl">Colored console graphs produced by <code>Benchmarktools.jl</code></h2>
<div class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">BenchmarkTools</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="pp">@benchmark</span> <span class="fu">sum</span>(<span class="fu">rand</span>(<span class="fl">1000</span>))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<div class="cell-output cell-output-display" data-execution_count="2">
<pre class="ansi"><code class="ansiansi">BenchmarkTools.Trial: 10000 samples with 15 evaluations.
Range <span class="ansi-black-intense-fg">(</span><span class="ansi-cyan-intense-fg ansi-bold">min</span><span class="ansi-magenta-fg">max</span><span class="ansi-black-intense-fg">): </span><span class="ansi-cyan-intense-fg ansi-bold">915.067 ns</span><span class="ansi-magenta-fg">102.184 μs</span> <span class="ansi-black-intense-fg"></span> GC <span class="ansi-black-intense-fg">(</span>min … max<span class="ansi-black-intense-fg">): </span>0.00% … 97.41%
Time <span class="ansi-black-intense-fg">(</span><span class="ansi-blue-intense-fg ansi-bold">median</span><span class="ansi-black-intense-fg">): </span><span class="ansi-blue-intense-fg ansi-bold"> 1.020 μs </span><span class="ansi-black-intense-fg"></span> GC <span class="ansi-black-intense-fg">(</span>median<span class="ansi-black-intense-fg">): </span>0.00%
Time <span class="ansi-black-intense-fg">(</span><span class="ansi-green-intense-fg ansi-bold">mean</span> ± <span class="ansi-green-fg">σ</span><span class="ansi-black-intense-fg">): </span><span class="ansi-green-intense-fg ansi-bold"> 1.298 μs</span> ± <span class="ansi-green-fg"> 2.710 μs</span> <span class="ansi-black-intense-fg"></span> GC <span class="ansi-black-intense-fg">(</span>mean ± σ<span class="ansi-black-intense-fg">): </span>9.11% ± 4.40%
▁▆██<span class="ansi-blue-fg"></span>▄▁ <span class="ansi-green-fg"> </span> ▂▂▃▂▂▂▁▁▁▁ ▂
████<span class="ansi-blue-fg"></span>██▇▆▆▆▆▅<span class="ansi-green-fg"></span>▆▄▃▁▄▄▃▃▃▄▃▃▃▃▃▁▁▄▄▅▄▄▄▃▁▁▄▁▃▃▁▃▄▁▄▇▇██████████ █
915 ns<span class="ansi-black-intense-fg"> </span><span class="ansi-black-intense-fg">Histogram: </span><span class="ansi-black-intense-fg ansi-bold">log(</span><span class="ansi-black-intense-fg">frequency</span><span class="ansi-black-intense-fg ansi-bold">)</span><span class="ansi-black-intense-fg"> by time</span> 2.74 μs <span class="ansi-bold">&lt;</span>
Memory estimate<span class="ansi-black-intense-fg">: </span><span class="ansi-yellow-fg">7.94 KiB</span>, allocs estimate<span class="ansi-black-intense-fg">: </span><span class="ansi-yellow-fg">1</span>.</code></pre>
</div>
</div>
</section>
<section id="structure-of-floating-point-numbers" class="level2">
<h2 class="anchored" data-anchor-id="structure-of-floating-point-numbers">Structure of floating point numbers</h2>
<div class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="kw">function</span> <span class="fu">printbitsf64</span>(x<span class="op">::</span><span class="dt">Float64</span>)</span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a> s <span class="op">=</span> <span class="fu">bitstring</span>(x)</span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">printstyled</span>(s[<span class="fl">1</span>], color <span class="op">=</span> <span class="op">:</span>blue, reverse<span class="op">=</span><span class="cn">true</span>)</span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">printstyled</span>(s[<span class="fl">2</span><span class="op">:</span><span class="fl">12</span>], color <span class="op">=</span> <span class="op">:</span>green, reverse<span class="op">=</span><span class="cn">true</span>)</span>
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">printstyled</span>(s[<span class="fl">13</span><span class="op">:</span><span class="kw">end</span>], color<span class="op">=:</span>red, bold<span class="op">=</span><span class="cn">true</span>, reverse<span class="op">=</span><span class="cn">true</span>)</span>
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">print</span>(<span class="st">"</span><span class="sc">\n</span><span class="st">"</span>)</span>
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a><span class="kw">end</span></span>
<span id="cb2-8"><a href="#cb2-8" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-9"><a href="#cb2-9" aria-hidden="true" tabindex="-1"></a><span class="fu">printbitsf64</span>(<span class="fl">27.56640625</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<div class="cell-output cell-output-stdout">
<pre class="ansi"><code class="ansiansi"><span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">10000000011</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">1011100100010000000000000000000000000000000000000000</span></code></pre>
</div>
</div>
<section id="illustrate-machine-epsilon" class="level3">
<h3 class="anchored" data-anchor-id="illustrate-machine-epsilon">Illustrate machine epsilon…</h3>
<div class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb3"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>Eps<span class="op">=</span><span class="fl">0.5</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="cf">while</span> <span class="fl">1</span> <span class="op">!=</span> <span class="fl">1</span> <span class="op">+</span> Eps</span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a> Eps <span class="op">/=</span> <span class="fl">2</span></span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">printbitsf64</span>(<span class="fl">1</span><span class="op">+</span>Eps)</span>
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a><span class="cf">end</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<div class="cell-output cell-output-stdout">
<pre class="ansi"><code class="ansiansi"><span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0100000000000000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0010000000000000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0001000000000000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000100000000000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000010000000000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000001000000000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000100000000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000010000000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000001000000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000100000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000010000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000001000000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000100000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000010000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000001000000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000100000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000010000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000001000000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000100000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000010000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000001000000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000100000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000010000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000001000000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000100000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000010000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000001000000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000100000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000010000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000001000000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000100000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000010000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000001000000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000100000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000010000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000001000000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000100000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000010000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000001000000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000100000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000010000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000001000000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000000100000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000000010000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000000001000000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000000000100000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000000000010000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000000000001000</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000000000000100</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000000000000010</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000000000000001</span>
<span class="ansi-default-inverse-fg ansi-blue-bg">0</span><span class="ansi-default-inverse-fg ansi-green-bg">01111111111</span><span class="ansi-default-inverse-fg ansi-red-intense-bg ansi-bold">0000000000000000000000000000000000000000000000000000</span></code></pre>
</div>
</div>
</section>
<section id="some-ugly-colors" class="level3">
<h3 class="anchored" data-anchor-id="some-ugly-colors">… some ugly colors</h3>
<div class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb4"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="kw">function</span> <span class="fu">printbits2f64</span>(x<span class="op">::</span><span class="dt">Float64</span>)</span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a> s <span class="op">=</span> <span class="fu">bitstring</span>(x)</span>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">printstyled</span>(s[<span class="fl">1</span>], color <span class="op">=</span> <span class="fl">142</span>, reverse<span class="op">=</span><span class="cn">true</span>)</span>
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">printstyled</span>(s[<span class="fl">2</span><span class="op">:</span><span class="fl">12</span>], color <span class="op">=</span> <span class="fl">190</span>, reverse<span class="op">=</span><span class="cn">false</span>, underline<span class="op">=</span><span class="cn">true</span>)</span>
<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">printstyled</span>(s[<span class="fl">13</span><span class="op">:</span><span class="kw">end</span>], color<span class="op">=</span> <span class="fl">27</span>, bold<span class="op">=</span><span class="cn">true</span>, reverse<span class="op">=</span><span class="cn">true</span>)</span>
<span id="cb4-6"><a href="#cb4-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">print</span>(<span class="st">"</span><span class="sc">\n</span><span class="st">"</span>)</span>
<span id="cb4-7"><a href="#cb4-7" aria-hidden="true" tabindex="-1"></a><span class="kw">end</span></span>
<span id="cb4-8"><a href="#cb4-8" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb4-9"><a href="#cb4-9" aria-hidden="true" tabindex="-1"></a><span class="fu">printbits2f64</span>(<span class="fl">27.56640625</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<div class="cell-output cell-output-stdout">
<pre class="ansi"><code class="ansiansi"><span class="ansi-default-inverse-fg" style="background-color: rgb(175,175,55)">0</span><span class="ansi-underline" style="color: rgb(215,255,55)">10000000011</span><span class="ansi-default-inverse-fg ansi-bold" style="background-color: rgb(55,95,255)">1011100100010000000000000000000000000000000000000000</span></code></pre>
</div>
</div>
</section>
</section>
<section id="errors-and-warnings" class="level2">
<h2 class="anchored" data-anchor-id="errors-and-warnings">Errors and Warnings</h2>
<div class="cell" data-warn="true" data-execution_count="6">
<div class="sourceCode cell-code" id="cb5"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">println</span>(<span class="cn">π</span><span class="op">^</span><span class="fl">2</span>)</span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="fu">ceil</span>(<span class="fl">2.3</span><span class="op">+</span><span class="fl">5.6im</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<div class="cell-output cell-output-stdout">
<pre class="ansi"><code class="ansiansi">9.869604401089358
LoadError: MethodError: no method matching ceil(::ComplexF64)
Closest candidates are:
ceil(<span class="ansi-red-intense-fg">::Union{Dates.Day, Dates.Week, Dates.TimePeriod}</span>, <span class="ansi-red-intense-fg">::Union{Dates.Day, Dates.Week, Dates.TimePeriod}</span>) at ~/.julia/juliaup/julia-1.8.5+0.x64.linux.gnu/share/julia/stdlib/v1.8/Dates/src/rounding.jl:184
ceil(<span class="ansi-red-intense-fg">::Union{Dates.Day, Dates.Week, Dates.TimePeriod, Dates.TimeType}</span>, <span class="ansi-red-intense-fg">::Type{P}</span>) where P&lt;:Dates.Period at ~/.julia/juliaup/julia-1.8.5+0.x64.linux.gnu/share/julia/stdlib/v1.8/Dates/src/rounding.jl:286
ceil(<span class="ansi-red-intense-fg">::Real</span>; kwargs...) at floatfuncs.jl:155
...
Stacktrace:
[1] top-level scope
@ In[6]:2
[2] eval
@ ./boot.jl:368 [inlined]
[3] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
@ Base ./loading.jl:1428</code></pre>
</div>
</div>
<p>The <code>@warn</code> macro writes to the <code>stderr</code> channel:</p>
<div class="cell" data-warn="true" data-execution_count="7">
<div class="sourceCode cell-code" id="cb6"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">println</span>(<span class="cn">π</span><span class="op">^</span><span class="fl">2</span>)</span>
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a><span class="pp">@warn</span> <span class="st">"Last warning!"</span></span>
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a><span class="fl">1</span> <span class="op">+</span> <span class="fl">41</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<div class="cell-output cell-output-stdout">
<pre class=""><code class="ansi">9.869604401089358</code></pre>
</div>
<div class="cell-output cell-output-stderr">
<pre class=" julia-stderr"><code class=" julia-stderransi">┌ Warning: Last warning!
└ @ Main In[7]:2</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="7">
<pre class=""><code class="ansi">42</code></pre>
</div>
</div>
</section>
</main>
<!-- /main column -->
<script id="quarto-html-after-body" type="application/javascript">
window.document.addEventListener("DOMContentLoaded", function (event) {
const toggleBodyColorMode = (bsSheetEl) => {
const mode = bsSheetEl.getAttribute("data-mode");
const bodyEl = window.document.querySelector("body");
if (mode === "dark") {
bodyEl.classList.add("quarto-dark");
bodyEl.classList.remove("quarto-light");
} else {
bodyEl.classList.add("quarto-light");
bodyEl.classList.remove("quarto-dark");
}
}
const toggleBodyColorPrimary = () => {
const bsSheetEl = window.document.querySelector("link#quarto-bootstrap");
if (bsSheetEl) {
toggleBodyColorMode(bsSheetEl);
}
}
toggleBodyColorPrimary();
const icon = "";
const anchorJS = new window.AnchorJS();
anchorJS.options = {
placement: 'right',
icon: icon
};
anchorJS.add('.anchored');
const isCodeAnnotation = (el) => {
for (const clz of el.classList) {
if (clz.startsWith('code-annotation-')) {
return true;
}
}
return false;
}
const clipboard = new window.ClipboardJS('.code-copy-button', {
text: function(trigger) {
const codeEl = trigger.previousElementSibling.cloneNode(true);
for (const childEl of codeEl.children) {
if (isCodeAnnotation(childEl)) {
childEl.remove();
}
}
return codeEl.innerText;
}
});
clipboard.on('success', function(e) {
// button target
const button = e.trigger;
// don't keep focus
button.blur();
// flash "checked"
button.classList.add('code-copy-button-checked');
var currentTitle = button.getAttribute("title");
button.setAttribute("title", "Copied!");
let tooltip;
if (window.bootstrap) {
button.setAttribute("data-bs-toggle", "tooltip");
button.setAttribute("data-bs-placement", "left");
button.setAttribute("data-bs-title", "Copied!");
tooltip = new bootstrap.Tooltip(button,
{ trigger: "manual",
customClass: "code-copy-button-tooltip",
offset: [0, -8]});
tooltip.show();
}
setTimeout(function() {
if (tooltip) {
tooltip.hide();
button.removeAttribute("data-bs-title");
button.removeAttribute("data-bs-toggle");
button.removeAttribute("data-bs-placement");
}
button.setAttribute("title", currentTitle);
button.classList.remove('code-copy-button-checked');
}, 1000);
// clear code selection
e.clearSelection();
});
function tippyHover(el, contentFn) {
const config = {
allowHTML: true,
content: contentFn,
maxWidth: 500,
delay: 100,
arrow: false,
appendTo: function(el) {
return el.parentElement;
},
interactive: true,
interactiveBorder: 10,
theme: 'quarto',
placement: 'bottom-start'
};
window.tippy(el, config);
}
const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]');
for (var i=0; i<noterefs.length; i++) {
const ref = noterefs[i];
tippyHover(ref, function() {
// use id or data attribute instead here
let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href');
try { href = new URL(href).hash; } catch {}
const id = href.replace(/^#\/?/, "");
const note = window.document.getElementById(id);
return note.innerHTML;
});
}
let selectedAnnoteEl;
const selectorForAnnotation = ( cell, annotation) => {
let cellAttr = 'data-code-cell="' + cell + '"';
let lineAttr = 'data-code-annotation="' + annotation + '"';
const selector = 'span[' + cellAttr + '][' + lineAttr + ']';
return selector;
}
const selectCodeLines = (annoteEl) => {
const doc = window.document;
const targetCell = annoteEl.getAttribute("data-target-cell");
const targetAnnotation = annoteEl.getAttribute("data-target-annotation");
const annoteSpan = window.document.querySelector(selectorForAnnotation(targetCell, targetAnnotation));
const lines = annoteSpan.getAttribute("data-code-lines").split(",");
const lineIds = lines.map((line) => {
return targetCell + "-" + line;
})
let top = null;
let height = null;
let parent = null;
if (lineIds.length > 0) {
//compute the position of the single el (top and bottom and make a div)
const el = window.document.getElementById(lineIds[0]);
top = el.offsetTop;
height = el.offsetHeight;
parent = el.parentElement.parentElement;
if (lineIds.length > 1) {
const lastEl = window.document.getElementById(lineIds[lineIds.length - 1]);
const bottom = lastEl.offsetTop + lastEl.offsetHeight;
height = bottom - top;
}
if (top !== null && height !== null && parent !== null) {
// cook up a div (if necessary) and position it
let div = window.document.getElementById("code-annotation-line-highlight");
if (div === null) {
div = window.document.createElement("div");
div.setAttribute("id", "code-annotation-line-highlight");
div.style.position = 'absolute';
parent.appendChild(div);
}
div.style.top = top - 2 + "px";
div.style.height = height + 4 + "px";
let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter");
if (gutterDiv === null) {
gutterDiv = window.document.createElement("div");
gutterDiv.setAttribute("id", "code-annotation-line-highlight-gutter");
gutterDiv.style.position = 'absolute';
const codeCell = window.document.getElementById(targetCell);
const gutter = codeCell.querySelector('.code-annotation-gutter');
gutter.appendChild(gutterDiv);
}
gutterDiv.style.top = top - 2 + "px";
gutterDiv.style.height = height + 4 + "px";
}
selectedAnnoteEl = annoteEl;
}
};
const unselectCodeLines = () => {
const elementsIds = ["code-annotation-line-highlight", "code-annotation-line-highlight-gutter"];
elementsIds.forEach((elId) => {
const div = window.document.getElementById(elId);
if (div) {
div.remove();
}
});
selectedAnnoteEl = undefined;
};
// Attach click handler to the DT
const annoteDls = window.document.querySelectorAll('dt[data-target-cell]');
for (const annoteDlNode of annoteDls) {
annoteDlNode.addEventListener('click', (event) => {
const clickedEl = event.target;
if (clickedEl !== selectedAnnoteEl) {
unselectCodeLines();
const activeEl = window.document.querySelector('dt[data-target-cell].code-annotation-active');
if (activeEl) {
activeEl.classList.remove('code-annotation-active');
}
selectCodeLines(clickedEl);
clickedEl.classList.add('code-annotation-active');
} else {
// Unselect the line
unselectCodeLines();
clickedEl.classList.remove('code-annotation-active');
}
});
}
const findCites = (el) => {
const parentEl = el.parentElement;
if (parentEl) {
const cites = parentEl.dataset.cites;
if (cites) {
return {
el,
cites: cites.split(' ')
};
} else {
return findCites(el.parentElement)
}
} else {
return undefined;
}
};
var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]');
for (var i=0; i<bibliorefs.length; i++) {
const ref = bibliorefs[i];
const citeInfo = findCites(ref);
if (citeInfo) {
tippyHover(citeInfo.el, function() {
var popup = window.document.createElement('div');
citeInfo.cites.forEach(function(cite) {
var citeDiv = window.document.createElement('div');
citeDiv.classList.add('hanging-indent');
citeDiv.classList.add('csl-entry');
var biblioDiv = window.document.getElementById('ref-' + cite);
if (biblioDiv) {
citeDiv.innerHTML = biblioDiv.innerHTML;
}
popup.appendChild(citeDiv);
});
return popup.innerHTML;
});
}
}
});
</script>
</div> <!-- /content -->
</body></html>