<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://turingcomplete.wiki/w/index.php?action=history&amp;feed=atom&amp;title=Alpha_Branch%2FWord_width</id>
	<title>Alpha Branch/Word width - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://turingcomplete.wiki/w/index.php?action=history&amp;feed=atom&amp;title=Alpha_Branch%2FWord_width"/>
	<link rel="alternate" type="text/html" href="http://turingcomplete.wiki/w/index.php?title=Alpha_Branch/Word_width&amp;action=history"/>
	<updated>2026-04-18T21:03:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>http://turingcomplete.wiki/w/index.php?title=Alpha_Branch/Word_width&amp;diff=9476&amp;oldid=prev</id>
		<title>Altrag at 19:27, 23 February 2025</title>
		<link rel="alternate" type="text/html" href="http://turingcomplete.wiki/w/index.php?title=Alpha_Branch/Word_width&amp;diff=9476&amp;oldid=prev"/>
		<updated>2025-02-23T19:27:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:27, 23 February 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l26&quot;&gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are several components in the game dedicated to working with bit widths rather than data.  The values these components produce and utilize are compiled into the circuit and function as constant values during circuit operation.  They are once again primarily for the sake of convenience.  The simplest of these is the [[Component|Static Indexer||alpha]].  Along with a width bubble (allowing you to narrow or widen wire widths when needed), it can also perform a constant shift by setting it&amp;#039;s Shift value, a task that would previously have taken a splitter and a maker (or many splitters and makers if you were working with larger bit widths).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are several components in the game dedicated to working with bit widths rather than data.  The values these components produce and utilize are compiled into the circuit and function as constant values during circuit operation.  They are once again primarily for the sake of convenience.  The simplest of these is the [[Component|Static Indexer||alpha]].  Along with a width bubble (allowing you to narrow or widen wire widths when needed), it can also perform a constant shift by setting it&amp;#039;s Shift value, a task that would previously have taken a splitter and a maker (or many splitters and makers if you were working with larger bit widths).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Component|Static Value||alpha&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;component is unique in that, when included in a custom component, it adds a width bubble to your custom component that can be set externally.  You can then use that value with the static value components to create extremely flexible and reusable custom components.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{&lt;/ins&gt;Component|Static Value||alpha&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}} &lt;/ins&gt;component is unique in that, when included in a custom component, it adds a width bubble to your custom component that can be set externally.  You can then use that value with the static value components to create extremely flexible and reusable custom components.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Blue pins and wires ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Blue pins and wires ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Retrieving the value from the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Component|Static Value||alpha&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;leads us to the next concept:  &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Blue &lt;/del&gt;pins (also known as &quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;size &lt;/del&gt;pins&quot;).  A wire connected to a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;blue &lt;/del&gt;pin will also turn a similar shade of blue&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.  Such wires can only &lt;/del&gt;connect to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;other blue pins&lt;/del&gt;.  &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Additionally, if &lt;/del&gt;you connect two blue wires with different values, you will not get a wire conflict as you do with &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;normal &lt;/del&gt;wires.  Instead, the game will take the maximum of any values attached to the wire.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Retrieving the value from the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{&lt;/ins&gt;Component|Static Value||alpha&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}} &lt;/ins&gt;leads us to the next concept:  &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Size &lt;/ins&gt;pins (also known as &quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;blue &lt;/ins&gt;pins&quot;).  A wire connected to a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;size &lt;/ins&gt;pin will also turn a similar shade of blue&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, and a circuit error will be displayed if you attempt to &lt;/ins&gt;connect &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a size wire &lt;/ins&gt;to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a normal data pin&lt;/ins&gt;.  &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;If &lt;/ins&gt;you connect two blue wires with different values, you will not get a wire conflict as you do with &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;data &lt;/ins&gt;wires.  Instead, the game will take the maximum of any values attached to the wire.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Altrag</name></author>
	</entry>
	<entry>
		<id>http://turingcomplete.wiki/w/index.php?title=Alpha_Branch/Word_width&amp;diff=9475&amp;oldid=prev</id>
		<title>Altrag at 11:02, 19 February 2025</title>
		<link rel="alternate" type="text/html" href="http://turingcomplete.wiki/w/index.php?title=Alpha_Branch/Word_width&amp;diff=9475&amp;oldid=prev"/>
		<updated>2025-02-19T11:02:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:02, 19 February 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Turing Complete allows for components and wires of any size from 1 through 64 bits, primarily for the sake of convenience (eg: placing a single 64-bit word &amp;lt;code&amp;gt;AND&amp;lt;/code&amp;gt; rather than 64 individual 1-bit &amp;lt;code&amp;gt;AND&amp;lt;/code&amp;gt; gates).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Turing Complete allows for components and wires of any size from 1 through 64 bits, primarily for the sake of convenience (eg: placing a single 64-bit word &amp;lt;code&amp;gt;AND&amp;lt;/code&amp;gt; rather than 64 individual 1-bit &amp;lt;code&amp;gt;AND&amp;lt;/code&amp;gt; gates)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.  Not exclusively however - some word components (such as DIV or LESS) do not have a corresponding 1-bit equivalent&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In prior iterations of the game, there were individual components with fixed 1, 8, 16, 32 or 64 bit widths.  In the modern version however, all but the 1-bit components have been combined into a single set of &amp;quot;word&amp;quot; components with configurable widths:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In prior iterations of the game, there were individual components with fixed 1, 8, 16, 32 or 64 bit widths.  In the modern version however, all but the 1-bit components have been combined into a single set of &amp;quot;word&amp;quot; components with configurable widths:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l16&quot;&gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Bit_width_inference]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Bit_width_inference]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This &lt;/del&gt;is especially useful when creating custom components, as the &amp;lt;code&amp;gt;Input Pin&amp;lt;/code&amp;gt; is one of the components that allows &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; width.  For example, if we wanted the opposite of a &amp;lt;code&amp;gt;MUX&amp;lt;/code&amp;gt; (demultiplexer or &amp;lt;code&amp;gt;DEMUX&amp;lt;/code&amp;gt;), we could build a custom component similar to the following:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;In this example, &amp;lt;code&amp;gt;NOT&amp;lt;/code&amp;gt; is explicitly set to 13 bits, while the switch after it is set to &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; and infers the width from the &amp;lt;code&amp;gt;NOT&amp;lt;/code&amp;gt;.  The width bubble on the switch has a darker background to indicate that it is being inferred.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Bit width inference &lt;/ins&gt;is especially useful when creating custom components, as the &amp;lt;code&amp;gt;Input Pin&amp;lt;/code&amp;gt; is one of the components that allows &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; width.  For example, if we wanted the opposite of a &amp;lt;code&amp;gt;MUX&amp;lt;/code&amp;gt; (demultiplexer or &amp;lt;code&amp;gt;DEMUX&amp;lt;/code&amp;gt;), we could build a custom component similar to the following:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Bit_width_demux]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Bit_width_demux]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Static Values ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Static Values ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;There are several components in the game dedicated to working with bit widths rather than data.  The values these components produce and utilize are compiled into the circuit and function as constant values during circuit operation.  They are once again primarily for the sake of convenience.  The simplest of these is the [[Component|Static Indexer||alpha]].  Along with a width bubble (allowing you to narrow or widen wire widths when needed), it can also perform a constant shift by setting it&#039;s Shift value, a task that would previously have taken a splitter and a maker (or many splitters and makers if you were working with larger bit widths).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The [[Component|Static Value||alpha]] component is unique in that, when included in a custom component, it adds a width bubble to your custom component that can be set externally.  You can then use that value with the static value components to create extremely flexible and reusable custom components.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Blue pins and wires ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Retrieving the value from the [[Component|Static Value||alpha]] leads us to the next concept:  Blue pins (also known as &quot;size pins&quot;).  A wire connected to a blue pin will also turn a similar shade of blue.  Such wires can only connect to other blue pins.  Additionally, if you connect two blue wires with different values, you will not get a wire conflict as you do with normal wires.  Instead, the game will take the maximum of any values attached to the wire.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Altrag</name></author>
	</entry>
	<entry>
		<id>http://turingcomplete.wiki/w/index.php?title=Alpha_Branch/Word_width&amp;diff=9473&amp;oldid=prev</id>
		<title>Altrag: Created page with &quot;Turing Complete allows for components and wires of any size from 1 through 64 bits, primarily for the sake of convenience (eg: placing a single 64-bit word &lt;code&gt;AND&lt;/code&gt; rather than 64 individual 1-bit &lt;code&gt;AND&lt;/code&gt; gates).  In prior iterations of the game, there were individual components with fixed 1, 8, 16, 32 or 64 bit widths.  In the modern version however, all but the 1-bit components have been combined into a single set of &quot;word&quot; components with configurable...&quot;</title>
		<link rel="alternate" type="text/html" href="http://turingcomplete.wiki/w/index.php?title=Alpha_Branch/Word_width&amp;diff=9473&amp;oldid=prev"/>
		<updated>2025-02-19T10:16:07Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Turing Complete allows for components and wires of any size from 1 through 64 bits, primarily for the sake of convenience (eg: placing a single 64-bit word &amp;lt;code&amp;gt;AND&amp;lt;/code&amp;gt; rather than 64 individual 1-bit &amp;lt;code&amp;gt;AND&amp;lt;/code&amp;gt; gates).  In prior iterations of the game, there were individual components with fixed 1, 8, 16, 32 or 64 bit widths.  In the modern version however, all but the 1-bit components have been combined into a single set of &amp;quot;word&amp;quot; components with configurable...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Turing Complete allows for components and wires of any size from 1 through 64 bits, primarily for the sake of convenience (eg: placing a single 64-bit word &amp;lt;code&amp;gt;AND&amp;lt;/code&amp;gt; rather than 64 individual 1-bit &amp;lt;code&amp;gt;AND&amp;lt;/code&amp;gt; gates).&lt;br /&gt;
&lt;br /&gt;
In prior iterations of the game, there were individual components with fixed 1, 8, 16, 32 or 64 bit widths.  In the modern version however, all but the 1-bit components have been combined into a single set of &amp;quot;word&amp;quot; components with configurable widths:&lt;br /&gt;
&lt;br /&gt;
[[File:Word_Component_AND.png]]&lt;br /&gt;
&lt;br /&gt;
The little bubble on the top left corner (in default orientation) is the component bit width - &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; in the &amp;lt;code&amp;gt;AND&amp;lt;/code&amp;gt; example image.  Clicking on that bubble brings up the width editor:&lt;br /&gt;
&lt;br /&gt;
[[File:Bit_width_editor.png]]&lt;br /&gt;
&lt;br /&gt;
Most components accept values between 2 and 64 (inclusive).  The corresponding bit components are required for 1-bit &amp;quot;words&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Width Inference ==&lt;br /&gt;
Many components also accept the value &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;.  This value tells the component to chose its width based on the width of the values on its input wires.  For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bit_width_inference]]&lt;br /&gt;
&lt;br /&gt;
This is especially useful when creating custom components, as the &amp;lt;code&amp;gt;Input Pin&amp;lt;/code&amp;gt; is one of the components that allows &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; width.  For example, if we wanted the opposite of a &amp;lt;code&amp;gt;MUX&amp;lt;/code&amp;gt; (demultiplexer or &amp;lt;code&amp;gt;DEMUX&amp;lt;/code&amp;gt;), we could build a custom component similar to the following:&lt;br /&gt;
&lt;br /&gt;
[[File:Bit_width_demux]]&lt;br /&gt;
&lt;br /&gt;
== Static Values ==&lt;/div&gt;</summary>
		<author><name>Altrag</name></author>
	</entry>
</feed>