From 8b17409e49081af4bf2af6a8564e549e0c368cfd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Lanzend=C3=B6rfer?= <leviathan@libresilicon.com>
Date: Wed, 3 Jul 2024 09:44:29 +0100
Subject: [PATCH] Adding some more diagrams

---
 doc/Makefile     |   6 +-
 doc/diagram2.svg | 601 +++++++++++++++++++++++++++++++++++++++++++++++
 doc/doc.tex      |  15 ++
 3 files changed, 621 insertions(+), 1 deletion(-)
 create mode 100644 doc/diagram2.svg

diff --git a/doc/Makefile b/doc/Makefile
index 229128f..3364b3a 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,7 +1,11 @@
+DIAGRAMS= \
+diagram1.png \
+diagram2.png
+
 %.png: %.svg
 	magick -background none -density 300 $< $@
 
-doc.pdf: doc.tex diagram1.png
+doc.pdf: doc.tex $(DIAGRAMS)
 	pdflatex $<
 
 clean:
diff --git a/doc/diagram2.svg b/doc/diagram2.svg
new file mode 100644
index 0000000..cb92bd5
--- /dev/null
+++ b/doc/diagram2.svg
@@ -0,0 +1,601 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="92mm"
+   height="43mm"
+   viewBox="0 0 92 43"
+   version="1.1"
+   id="svg1"
+   inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
+   sodipodi:docname="diagram2.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview1"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:showpageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:deskcolor="#d1d1d1"
+     inkscape:document-units="mm"
+     inkscape:zoom="1.1237919"
+     inkscape:cx="312.33541"
+     inkscape:cy="254.49552"
+     inkscape:window-width="1920"
+     inkscape:window-height="1056"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" />
+  <defs
+     id="defs1">
+    <marker
+       style="overflow:visible"
+       id="ArrowTriangleStylized"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Stylized triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 z"
+         id="path4" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Triangle"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path135" />
+    </marker>
+    <rect
+       x="72.360695"
+       y="124.90323"
+       width="14.501684"
+       height="39.577225"
+       id="rect5" />
+    <marker
+       style="overflow:visible"
+       id="Triangle-6"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path135-3" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Triangle-5"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path135-5" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Triangle-69"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path135-37" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="ArrowTriangleStylized-4"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Stylized triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 z"
+         id="path4-7" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="ArrowTriangleStylized-4-7"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Stylized triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 z"
+         id="path4-7-8" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="ArrowTriangleStylized-4-7-3"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Stylized triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 z"
+         id="path4-7-8-1" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="ArrowTriangleStylized-6"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Stylized triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 z"
+         id="path4-6" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="ArrowTriangleStylized-6-4"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Stylized triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 z"
+         id="path4-6-8" />
+    </marker>
+  </defs>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <ellipse
+       style="fill:#0000de;fill-opacity:1;stroke:none;stroke-width:0.765"
+       id="path2"
+       cx="23.239157"
+       cy="36.773384"
+       rx="3.0751791"
+       ry="3.1135757" />
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';fill:#00ffde;fill-opacity:1;stroke-width:0.264583"
+       x="22.111288"
+       y="37.177956"
+       id="text1"><tspan
+         sodipodi:role="line"
+         id="tspan1"
+         style="fill:#00ffde;fill-opacity:1;stroke-width:0.264583"
+         x="22.111288"
+         y="37.177956">x<tspan
+   style="font-size:65%;baseline-shift:sub;fill:#00ffde;fill-opacity:1"
+   id="tspan2">n</tspan></tspan></text>
+    <ellipse
+       style="fill:#0000de;fill-opacity:1;stroke:none;stroke-width:0.765"
+       id="path2-5"
+       cx="23.269499"
+       cy="29.357973"
+       rx="3.0751791"
+       ry="3.1135757" />
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';fill:#00ffde;fill-opacity:1;stroke-width:0.264583"
+       x="20.992949"
+       y="29.637232"
+       id="text1-3"><tspan
+         sodipodi:role="line"
+         id="tspan1-5"
+         style="fill:#00ffde;fill-opacity:1;stroke-width:0.264583"
+         x="20.992949"
+         y="29.637232">x<tspan
+   style="font-size:65%;baseline-shift:sub;fill:#00ffde;fill-opacity:1"
+   id="tspan2-6">n-1</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';stroke-width:0.264583"
+       x="21.567015"
+       y="-22.514702"
+       id="text3"
+       transform="rotate(88.296086)"><tspan
+         sodipodi:role="line"
+         id="tspan3"
+         style="stroke-width:0.264583"
+         x="21.567015"
+         y="-22.514702">...</tspan></text>
+    <ellipse
+       style="fill:#0000de;fill-opacity:1;stroke:none;stroke-width:0.765"
+       id="path2-2"
+       cx="23.469931"
+       cy="16.807539"
+       rx="3.0751791"
+       ry="3.1135757" />
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';fill:#00ffde;fill-opacity:1;stroke-width:0.264583"
+       x="22.276075"
+       y="17.095541"
+       id="text1-7"><tspan
+         sodipodi:role="line"
+         id="tspan1-0"
+         style="fill:#00ffde;fill-opacity:1;stroke-width:0.264583"
+         x="22.276075"
+         y="17.095541">x<tspan
+   style="font-size:65%;baseline-shift:sub"
+   id="tspan4">1</tspan></tspan></text>
+    <ellipse
+       style="fill:#0000de;fill-opacity:1;stroke:none;stroke-width:0.765"
+       id="path2-5-3"
+       cx="23.500273"
+       cy="9.3921261"
+       rx="3.0751791"
+       ry="3.1135757" />
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';fill:#00ffde;fill-opacity:1;stroke-width:0.264583"
+       x="22.365965"
+       y="9.6762142"
+       id="text1-3-6"><tspan
+         sodipodi:role="line"
+         id="tspan1-5-0"
+         style="fill:#00ffde;fill-opacity:1;stroke-width:0.264583"
+         x="22.365965"
+         y="9.6762142">x<tspan
+   style="font-size:65%;baseline-shift:sub"
+   id="tspan5">0</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,-15.734801,-44.943831)"
+       id="text5"
+       style="font-size:16px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';white-space:pre;shape-inside:url(#rect5);display:inline" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.7034px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';fill:#c40000;fill-opacity:1;stroke-width:0.264583"
+       x="24.766922"
+       y="12.137109"
+       id="text7"
+       transform="scale(0.60725167,1.6467637)"><tspan
+         sodipodi:role="line"
+         id="tspan7"
+         style="fill:#c40000;fill-opacity:1;stroke-width:0.264583"
+         x="24.766922"
+         y="12.137109">{</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.7034px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';fill:#c4ee00;fill-opacity:1;stroke-width:0.264583"
+       x="24.529949"
+       y="24.313982"
+       id="text7-8"
+       transform="scale(0.60725167,1.6467637)"><tspan
+         sodipodi:role="line"
+         id="tspan7-7"
+         style="fill:#c4ee00;fill-opacity:1;stroke-width:0.264583"
+         x="24.529949"
+         y="24.313982">{</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';stroke-width:0.264583"
+       x="5.4233503"
+       y="33.054665"
+       id="text8"><tspan
+         sodipodi:role="line"
+         id="tspan8"
+         style="stroke-width:0.264583"
+         x="5.4233503"
+         y="33.054665">Input</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';stroke-width:0.264583"
+       x="1.9163924"
+       y="14.982138"
+       id="text8-2"><tspan
+         sodipodi:role="line"
+         id="tspan8-3"
+         style="stroke-width:0.264583"
+         x="1.9163924"
+         y="14.982138">Feedback</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';stroke-width:0.264583"
+       x="5.8939219"
+       y="10.902987"
+       id="text8-22"><tspan
+         sodipodi:role="line"
+         id="tspan8-8"
+         style="stroke-width:0.264583"
+         x="5.8939219"
+         y="10.902987">RNN</tspan></text>
+    <rect
+       style="fill:#eaee00;fill-opacity:1;stroke:#47cd00;stroke-width:0.265;stroke-dasharray:none;stroke-opacity:1"
+       id="rect8"
+       width="5.8562179"
+       height="3.4931021"
+       x="31.100218"
+       y="35.101189" />
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';stroke-width:0.264583"
+       x="32.790504"
+       y="37.247177"
+       id="text9"><tspan
+         sodipodi:role="line"
+         id="tspan9"
+         style="stroke-width:0.264583"
+         x="32.790504"
+         y="37.247177">w<tspan
+   style="font-size:65%;baseline-shift:sub"
+   id="tspan10">n</tspan></tspan></text>
+    <rect
+       style="fill:#eaee00;fill-opacity:1;stroke:#47cd00;stroke-width:0.265;stroke-dasharray:none;stroke-opacity:1"
+       id="rect8-6"
+       width="5.8562179"
+       height="3.4931021"
+       x="31.177668"
+       y="27.467691" />
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';stroke-width:0.264583"
+       x="31.809622"
+       y="29.61368"
+       id="text9-1"><tspan
+         sodipodi:role="line"
+         id="tspan9-2"
+         style="stroke-width:0.264583"
+         x="31.809622"
+         y="29.61368">w<tspan
+   style="font-size:65%;baseline-shift:sub"
+   id="tspan10-9">n-1</tspan></tspan></text>
+    <rect
+       style="fill:#eaee00;fill-opacity:1;stroke:#47cd00;stroke-width:0.265;stroke-dasharray:none;stroke-opacity:1"
+       id="rect8-4"
+       width="5.8562179"
+       height="3.4931021"
+       x="30.927065"
+       y="14.570101" />
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';stroke-width:0.264583"
+       x="32.617352"
+       y="16.716089"
+       id="text9-7"><tspan
+         sodipodi:role="line"
+         id="tspan9-8"
+         style="stroke-width:0.264583"
+         x="32.617352"
+         y="16.716089">w<tspan
+   style="font-size:65%;baseline-shift:sub"
+   id="tspan11">1</tspan></tspan></text>
+    <rect
+       style="fill:#eaee00;fill-opacity:1;stroke:#47cd00;stroke-width:0.265;stroke-dasharray:none;stroke-opacity:1"
+       id="rect8-6-5"
+       width="5.8562179"
+       height="3.4931021"
+       x="31.004515"
+       y="6.9366016" />
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';stroke-width:0.264583"
+       x="32.694801"
+       y="9.0825901"
+       id="text9-1-0"><tspan
+         sodipodi:role="line"
+         id="tspan9-2-3"
+         style="stroke-width:0.264583"
+         x="32.694801"
+         y="9.0825901">w<tspan
+   style="font-size:65%;baseline-shift:sub"
+   id="tspan10-9-6">0</tspan></tspan></text>
+    <path
+       style="fill:none;stroke:#00da00;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Triangle)"
+       d="m 27.284922,9.0567595 c 2.653486,0.0042 2.653486,0.0042 2.653486,0.0042"
+       id="path11" />
+    <path
+       style="fill:none;stroke:#00da00;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Triangle-6)"
+       d="m 27.127908,16.721183 c 2.653486,0.0042 2.653486,0.0042 2.653486,0.0042"
+       id="path11-0" />
+    <path
+       style="fill:none;stroke:#00da00;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Triangle-5)"
+       d="m 27.016498,29.308516 c 2.653486,0.0042 2.653486,0.0042 2.653486,0.0042"
+       id="path11-7" />
+    <path
+       style="fill:none;stroke:#00da00;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Triangle-69)"
+       d="m 26.831903,36.881704 c 2.653486,0.0042 2.653486,0.0042 2.653486,0.0042"
+       id="path11-5" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#00da00;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
+       id="rect11"
+       width="7.1482272"
+       height="35.061886"
+       x="19.610945"
+       y="5.7411442" />
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';stroke-width:0.264583"
+       x="20.79809"
+       y="4.7523479"
+       id="text12"><tspan
+         sodipodi:role="line"
+         id="tspan12"
+         style="stroke-width:0.264583"
+         x="20.79809"
+         y="4.7523479">1/0</tspan></text>
+    <ellipse
+       style="fill:#faaf00;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
+       id="path13"
+       cx="50.872406"
+       cy="21.92074"
+       rx="7.0760427"
+       ry="7.630271" />
+    <text
+       xml:space="preserve"
+       style="font-size:19.9018px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';fill:#fa6840;fill-opacity:1;stroke-width:0.264583"
+       x="48.362709"
+       y="26.357815"
+       id="text13"
+       transform="scale(0.98067348,1.0197074)"><tspan
+         sodipodi:role="line"
+         id="tspan13"
+         style="fill:#fa6840;fill-opacity:1;stroke-width:0.264583"
+         x="48.362709"
+         y="26.357815">∑</tspan></text>
+    <path
+       style="fill:none;stroke:#d00000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowTriangleStylized)"
+       d="M 37.416808,9.0359505 46.217802,15.16514"
+       id="path14"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#d00000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowTriangleStylized-4)"
+       d="M 37.296921,37.053399 47.14134,29.471415"
+       id="path14-4"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#d00000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowTriangleStylized-4-7)"
+       d="m 37.291227,29.551598 7.418756,-2.658799"
+       id="path14-4-8"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#d00000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowTriangleStylized-4-7-3)"
+       d="m 37.035187,16.307064 6.771371,2.569708"
+       id="path14-4-8-9"
+       sodipodi:nodetypes="cc" />
+    <ellipse
+       style="fill:#faaf00;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
+       id="path13-8"
+       cx="71.00032"
+       cy="22.156427"
+       rx="7.0760427"
+       ry="7.630271" />
+    <path
+       style="fill:none;stroke:#d00000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowTriangleStylized-6)"
+       d="m 57.942033,22.136203 5.18591,0.08747"
+       id="path14-9"
+       sodipodi:nodetypes="cc"
+       inkscape:transform-center-x="-2.3332434"
+       inkscape:transform-center-y="-2.3417465" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#fa6840;stroke-width:0.865;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
+       d="m 75.383216,17.775674 -4.688157,-0.0085 0.04666,7.413998 h -0.03466 l -4.655298,-0.0092"
+       id="path15"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:none;stroke:#d00000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ArrowTriangleStylized-6-4)"
+       d="m 78.0017,22.563475 5.18591,0.08747"
+       id="path14-9-1"
+       sodipodi:nodetypes="cc"
+       inkscape:transform-center-x="-2.3332434"
+       inkscape:transform-center-y="-2.3417465" />
+    <ellipse
+       style="fill:#0000de;fill-opacity:1;stroke:none;stroke-width:0.765"
+       id="path2-5-3-2"
+       cx="87.169701"
+       cy="23.20373"
+       rx="3.0751791"
+       ry="3.1135757" />
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';fill:#00ffde;fill-opacity:1;stroke-width:0.264583"
+       x="86.504631"
+       y="23.465258"
+       id="text1-7-9"><tspan
+         sodipodi:role="line"
+         id="tspan1-0-4"
+         style="fill:#00ffde;fill-opacity:1;stroke-width:0.264583"
+         x="86.504631"
+         y="23.465258">y</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:4.23333px;line-height:0;font-family:'Classic Console';-inkscape-font-specification:'Classic Console';stroke-width:0.264583"
+       x="84.739967"
+       y="29.276712"
+       id="text12-7"><tspan
+         sodipodi:role="line"
+         id="tspan12-7"
+         style="stroke-width:0.264583"
+         x="84.739967"
+         y="29.276712">1/0</tspan></text>
+  </g>
+</svg>
diff --git a/doc/doc.tex b/doc/doc.tex
index ac02666..2c7c0bf 100644
--- a/doc/doc.tex
+++ b/doc/doc.tex
@@ -84,6 +84,21 @@
 	This way, the positional encoding becomes a continuous time series. 
 
 	\subsection{Hidden Layer}
+	The hidden layer a multiple layers like the encoder layer being put into series, resulting in a neuron matrix.
+	The width and the height of this matrix can be configured with parameters as well.
+
 	\subsection{Decoder Layer}
+	The decoder layer is the same architecture as the other layers but has a fixed amount of 16 neurons, because the token space is 16 bits and each neuron has an output of either one or zero (step activation function), forming a 16 bit output value.
+
+	\section{The Perceptron}
+	\begin{figure}[h]
+		\begin{tcolorbox}
+			\center
+			\includegraphics[width=400pt]{diagram2.png}
+			\caption{The Perceptron}
+		\end{tcolorbox}
+	\end{figure}
+
+	\section{Continuous Positional Encoding}
 
 \end{document}
\ No newline at end of file
-- 
GitLab