<div dir="ltr">Thanks, but we can implement Codable for BEInteger and LEInteger types.<div><br></div><div><p style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span style="color:rgb(186,45,162)">public</span><span style="color:rgb(0,0,0)"> </span><span style="color:rgb(186,45,162)">struct</span><span style="color:rgb(0,0,0)"> BEInteger&lt;BitPattern : </span>FixedWidthInteger<span style="color:rgb(0,0,0)">&gt; : </span>FixedWidthInteger<span style="color:rgb(0,0,0)"> {</span></p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> bitPattern: <span style="color:rgb(79,129,135)">BitPattern</span></p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>(bitPattern: <span style="color:rgb(79,129,135)">BitPattern</span>)</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> bigEndian: <span style="color:rgb(79,129,135)">BEInteger</span> { get }</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> littleEndian: <span style="color:rgb(79,129,135)">LEInteger</span>&lt;<span style="color:rgb(79,129,135)">BitPattern</span>&gt; { get }</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">}</p>
<p style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span style="color:rgb(186,45,162)">public</span><span style="color:rgb(0,0,0)"> </span><span style="color:rgb(186,45,162)">struct</span><span style="color:rgb(0,0,0)"> LEInteger&lt;BitPattern : </span>FixedWidthInteger<span style="color:rgb(0,0,0)">&gt; : </span>FixedWidthInteger<span style="color:rgb(0,0,0)"> {</span></p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> bitPattern: <span style="color:rgb(79,129,135)">BitPattern</span></p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>(bitPattern: <span style="color:rgb(79,129,135)">BitPattern</span>)</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> bigEndian: <span style="color:rgb(79,129,135)">BEInteger</span>&lt;<span style="color:rgb(79,129,135)">BitPattern</span>&gt; { get }</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> littleEndian: <span style="color:rgb(79,129,135)">LEInteger</span> { get }</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">}</p>
<p style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="color:rgb(186,45,162)">extension</span> <span style="color:rgb(79,129,135)">BEInteger</span> : <span style="color:rgb(112,61,170)">Encodable</span> <span style="color:rgb(186,45,162)">where</span> BitPattern : Encodable {</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> encode(to encoder: <span style="color:rgb(112,61,170)">Encoder</span>) <span style="color:rgb(186,45,162)">throws</span> {</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">        <span style="color:rgb(186,45,162)">try</span> <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(79,129,135)">bitPattern</span>.<span style="color:rgb(62,30,129)">encode</span>(to: encoder)</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    }</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">}</p>
<p style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="color:rgb(186,45,162)">extension</span> <span style="color:rgb(79,129,135)">BEInteger</span> : <span style="color:rgb(112,61,170)">Decodable</span> <span style="color:rgb(186,45,162)">where</span> BitPattern : Decodable {</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>(from decoder: <span style="color:rgb(112,61,170)">Decoder</span>) <span style="color:rgb(186,45,162)">throws</span> {</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(186,45,162)">init</span>(bitPattern: <span style="color:rgb(186,45,162)">try</span> <span style="color:rgb(79,129,135)">BitPattern</span>(from: decoder))</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    }</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">}</p>
<p style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="color:rgb(186,45,162)">extension</span> <span style="color:rgb(79,129,135)">LEInteger</span> : <span style="color:rgb(112,61,170)">Encodable</span> <span style="color:rgb(186,45,162)">where</span> BitPattern : Encodable {</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> encode(to encoder: <span style="color:rgb(112,61,170)">Encoder</span>) <span style="color:rgb(186,45,162)">throws</span> {</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">        <span style="color:rgb(186,45,162)">try</span> <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(79,129,135)">bitPattern</span>.<span style="color:rgb(62,30,129)">encode</span>(to: encoder)</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    }</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">}</p>
<p style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="color:rgb(186,45,162)">extension</span> <span style="color:rgb(79,129,135)">LEInteger</span> : <span style="color:rgb(112,61,170)">Decodable</span> <span style="color:rgb(186,45,162)">where</span> BitPattern : Decodable {</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px">    </p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>(from decoder: <span style="color:rgb(112,61,170)">Decoder</span>) <span style="color:rgb(186,45,162)">throws</span> {</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(186,45,162)">init</span>(bitPattern: <span style="color:rgb(186,45,162)">try</span> <span style="color:rgb(79,129,135)">BitPattern</span>(from: decoder))</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">    }</p>
<p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">}</p></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-07-09 0:27 GMT+08:00 Chris Lattner <span dir="ltr">&lt;<a href="mailto:clattner@nondot.org" target="_blank">clattner@nondot.org</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hi Susan,<div><br></div><div>Swift does not currently specify a layout for Swift structs.  You shouldn’t be using them for memory mapped i/o or writing to a file, because their layout can change.  When ABI stability for fragile structs lands, you will be able to count on it, but until then something like this is probably a bad idea.</div><div><br></div><div>-Chris</div><div><br><div><blockquote type="cite"><div>On Jul 7, 2017, at 6:16 PM, Susan Cheng via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br class="m_-5551924893262912243Apple-interchange-newline"><div><div dir="auto"><div></div><div>Here are two problems being fixed.</div><div><br></div><div>First, considering the example:</div><div><br></div><div>struct MyRawDataStruct {</div><div><br></div><div>      var size: UInt32</div><span style="background-color:rgba(255,255,255,0)">      var signature: UInt32</span><div><span style="background-color:rgba(255,255,255,0)">      var width: UInt32</span></div><span style="background-color:rgba(255,255,255,0)">      var height: UInt32<br></span><div>}</div><div><br></div><div>The type UInt32 doesn&#39;t tall us the endianness of the value. Also, if we read the value of it, the value is being byte-swapped when endianness is not matching with the system.</div><div><br></div><div>This causes us have to manual convert the value from/to correct endianness.</div><div><br></div><div><div><span style="background-color:rgba(255,255,255,0)">struct MyRawDataStruct {</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">      var size: BEInteger&lt;UInt32&gt;</span></div><span style="background-color:rgba(255,255,255,0)">      var signature: BEInteger&lt;UInt32&gt;</span></div><div><div><span style="background-color:rgba(255,255,255,0)">      var width: BEInteger&lt;UInt32&gt;</span></div><span style="background-color:rgba(255,255,255,0)">      var height: BEInteger&lt;UInt32&gt;</span></div><div><div><span style="background-color:rgba(255,255,255,0)">}</span></div></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">So, my proposal fix the problem. We can easily to get the value.</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">let header: MyRawDataStruct = data.withUnsafePointer { $0.pointee }</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">print(header.size)      // print the representing value</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">Second, it&#39;s misleading means of bigEndian and littleEndian from FixedWidthInteger</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">if we do this</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">let a = 1</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">print(a.bigEndian.bigEndian)</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">It&#39;s just swap bytes twice but not converting value to big-endian</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">My proposal solves the problem</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">let b = a.bigEndian       //    BEInteger&lt;Int&gt;</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">b.bigEndian        // remain big-endian of a</span></div><div><br>Max Moiseev &lt;<a href="mailto:moiseev@apple.com" target="_blank">moiseev@apple.com</a>&gt; 於 2017年7月8日 上午1:48 寫道:<br><br></div><blockquote type="cite"><div><div>Hi Susan,</div><div><br></div><div>Was there any motivation for this proposal that I missed? If not then, can you please provide it in a few sentences? Otherwise it’s not clear to me what problem it is supposed to fix.</div><div><br></div><div>Thanks,</div><div>Max </div><div><br></div><br><div><blockquote type="cite"><div>On Jul 6, 2017, at 8:21 PM, Susan Cheng via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br class="m_-5551924893262912243Apple-interchange-newline"><div><div dir="ltr"><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px">IMO, it has unclear representation when FixedWidthInteger working with endianness specific type.<br></div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px">so I want to introduce the endianness specific wrapper:</div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span style="color:rgb(186,45,162)">public</span><span> </span><span style="color:rgb(186,45,162)">struct</span><span> BEInteger&lt;Base : </span>FixedWidthInteger<span>&gt; : </span>FixedWidthInteger<span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> bigEndian: <span style="color:rgb(79,129,135)">BEInte<wbr>ger</span> { <span style="color:rgb(186,45,162)">get </span>}</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> littleEndian: <span style="color:rgb(79,129,135)">LEI<wbr>nteger&lt;Base&gt;</span> { <span style="color:rgb(186,45,162)">get </span>}</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">}</div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span style="color:rgb(186,45,162)">public</span><span> </span><span style="color:rgb(186,45,162)">struct</span><span> LEInteger&lt;Base : </span>FixedWidthInteger<span>&gt; : </span>FixedWidthInteger<span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> bigEndian: <span style="color:rgb(79,129,135)">BEInte<wbr>ger&lt;Base&gt;</span> { <span style="color:rgb(186,45,162)">get </span>}</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> littleEndian: <span style="color:rgb(79,129,135)">LEI<wbr>nteger</span> { <span style="color:rgb(186,45,162)">get </span>}</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">}</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">also, we should change the <span style="color:rgb(112,61,170)">FixedWidthInteger</span> as follow:</div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">protocol</span> <wbr>FixedWidthInteger : <span style="color:rgb(112,61,170)">BinaryInteger</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,132,0)"><span>    </span>/// deprecated, we should use value.bigEndian instead</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">init</span>(bigEndian value: <span style="color:rgb(112,61,170)">Self</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,132,0)"><span>    </span>/// deprecated, we should use value.littleEndian instead</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">init</span>(littleEndian value: <span style="color:rgb(112,61,170)">Self</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">associatedtype</span> <wbr>EndianRepresentingValue : <span style="color:rgb(79,129,135)">FixedWidthInteger</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span>    </span><span style="color:rgb(186,45,162)">var</span><span> bigEndian: </span>BEInteger<span>&lt;</span>End<wbr>ianRepresentingValue<span>&gt; { </span><span style="color:rgb(186,45,162)">get</span><span> }</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span>    </span><span style="color:rgb(186,45,162)">var</span><span> littleEndian: </span>LEInteger<span>&lt;</span><wbr>EndianRepresentingValue<span>&gt; { </span><span style="color:rgb(186,45,162)">get</span><span> }</span></div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"></p><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">}</div><div style="font-size:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">=============================</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">this is my working alternative implementation:</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><br></div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)">@_versioned</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="color:rgb(186,45,162)">protocol</span> EndianInteger : <span style="color:rgb(112,61,170)">FixedWidthInteger</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">associatedtype</span> BitPattern : <span style="color:rgb(112,61,170)">FixedWidthInteger</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">associatedtype</span> <wbr>RepresentingValue : <span style="color:rgb(112,61,170)">FixedWidthInteger</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">var</span> bitPattern: <span style="color:rgb(112,61,170)">BitPattern</span> {<wbr> <span style="color:rgb(186,45,162)">get</span> }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">init</span>(bitPattern: <span style="color:rgb(112,61,170)">BitPattern</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">var</span> representingValue : <span style="color:rgb(112,61,170)">RepresentingValue</span> { <span style="color:rgb(186,45,162)">get</span> <span style="color:rgb(186,45,162)">set</span> <wbr>}</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">init</span>(representingValue: <span style="color:rgb(112,61,170)">Repr<wbr>esentingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">}</div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span style="color:rgb(186,45,162)">extension</span><span> </span>EndianInteger<span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span>    </span><span style="color:rgb(186,45,162)">public</span><span> </span><span style="color:rgb(186,45,162)">init</span><span>(integerLiteral value: </span>RepresentingValue<span>.</span>Integ<wbr>erLiteralType<span>) {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(186,45,162)">init</span>(representingValue: RepresentingValue(integerLiter<wbr>al: value))</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>?&lt;T&gt;(exactly source: <span style="color:rgb(79,129,135)">T</span>) <span style="color:rgb(186,45,162)">where</span> <span style="color:rgb(79,129,135)">T</span> : <span style="color:rgb(112,61,170)">BinaryInt<wbr>eger</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">guard</span> <span style="color:rgb(186,45,162)">let</span> value = RepresentingValue(exactly: source) <span style="color:rgb(186,45,162)">else</span> { <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">nil</span> }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(186,45,162)">init</span>(representingValue: value)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>?&lt;T&gt;(exactly source: <span style="color:rgb(79,129,135)">T</span>) <span style="color:rgb(186,45,162)">where</span> <span style="color:rgb(79,129,135)">T</span> : <span style="color:rgb(112,61,170)">FloatingP<wbr>oint</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">guard</span> <span style="color:rgb(186,45,162)">let</span> value = RepresentingValue(exactly: source) <span style="color:rgb(186,45,162)">else</span> { <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">nil</span> }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(186,45,162)">init</span>(representingValue: value)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span>    </span><span style="color:rgb(186,45,162)">public</span><span> </span><span style="color:rgb(186,45,162)">init</span><span>(</span><span style="color:rgb(186,45,162)">_</span><span> value: </span>Represe<wbr>ntingValue<span>) {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(186,45,162)">init</span>(representingValue: value)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>&lt;T&gt;(<span style="color:rgb(186,45,162)">_</span> source: <span style="color:rgb(79,129,135)">T</span>) <span style="color:rgb(186,45,162)"><wbr>where</span> <span style="color:rgb(79,129,135)">T</span> : <span style="color:rgb(112,61,170)">FloatingPoint</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(186,45,162)">init</span>(representingValue: RepresentingValue(source))</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>&lt;T&gt;(<span style="color:rgb(186,45,162)">_</span> source: <span style="color:rgb(79,129,135)">T</span>) <span style="color:rgb(186,45,162)"><wbr>where</span> <span style="color:rgb(79,129,135)">T</span> : <span style="color:rgb(112,61,170)">BinaryInteger</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(186,45,162)">init</span>(representingValue: RepresentingValue(source))</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>&lt;T&gt;(<wbr>extendingOrTruncating source: <span style="color:rgb(79,129,135)">T</span>) <span style="color:rgb(186,45,162)">where</span> <span style="color:rgb(79,129,135)">T</span> : <span style="color:rgb(112,61,170)">BinaryInt<wbr>eger</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(186,45,162)">init</span>(representingValue: RepresentingValue(extendingOrT<wbr>runcating: source))</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>&lt;T&gt;(clamping source: <span style="color:rgb(79,129,135)">T</span>) <span style="color:rgb(186,45,162)">where</span> <span style="color:rgb(79,129,135)">T</span> : <span style="color:rgb(112,61,170)">BinaryInt<wbr>eger</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(186,45,162)">init</span>(representingValue: RepresentingValue(clamping: source))</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>(_truncatingBits bits: <span style="color:rgb(112,61,170)">UInt</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(186,45,162)">init</span>(representingValue: RepresentingValue(_truncatingB<wbr>its: bits))</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">}</div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span style="color:rgb(186,45,162)">extension</span><span> </span>EndianInteger<span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">var</span> isSigned: <span style="color:rgb(112,61,170)"><wbr>Bool</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> RepresentingValue.<span style="color:rgb(112,61,170)">isS<wbr>igned</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">var</span> bitWidth: <span style="color:rgb(112,61,170)"><wbr>Int</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> RepresentingValue.<span style="color:rgb(112,61,170)">bit<wbr>Width</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>public<span> </span>static<span> </span>var<span> max: </span><span style="color:rgb(79,129,135)">Self</span><span> <wbr>{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: RepresentingValue.<span style="color:rgb(112,61,170)">max</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>public<span> </span>static<span> </span>var<span> min: </span><span style="color:rgb(79,129,135)">Self</span><span> <wbr>{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: RepresentingValue.<span style="color:rgb(112,61,170)">min</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">}</div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span style="color:rgb(186,45,162)">extension</span><span> </span>EndianInteger<span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> hashValue: <span style="color:rgb(112,61,170)">Int</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> </span>representingValue<span>.</span><span style="color:rgb(112,61,170)">has<wbr>hValue</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> description: <span style="color:rgb(112,61,170)">Stri<wbr>ng</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> </span>representingValue<span>.</span><span style="color:rgb(112,61,170)">des<wbr>cription</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> bitWidth: <span style="color:rgb(112,61,170)">Int</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> </span>representingValue<span>.</span><span style="color:rgb(112,61,170)">bit<wbr>Width</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span>    </span><span style="color:rgb(186,45,162)">public</span><span> </span><span style="color:rgb(186,45,162)">var</span><span> magnitude: </span>Repres<wbr>entingValue<span>.</span>Magnitude<span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> </span>representingValue<span>.</span><span style="color:rgb(112,61,170)">mag<wbr>nitude</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> <wbr>trailingZeroBitCount: <span style="color:rgb(112,61,170)">Int</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> </span><span style="color:rgb(79,129,135)">representingValue</span><span>.</span>tra<wbr>ilingZeroBitCount</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> nonzeroBitCount: <span style="color:rgb(112,61,170)"><wbr>Int</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> </span>representingValue<span>.</span><span style="color:rgb(112,61,170)">non<wbr>zeroBitCount</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> <wbr>leadingZeroBitCount: <span style="color:rgb(112,61,170)">Int</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> </span><span style="color:rgb(79,129,135)">representingValue</span><span>.</span>lea<wbr>dingZeroBitCount</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> byteSwapped: <span style="color:rgb(79,129,135)">Self</span><wbr> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: <span style="color:rgb(79,129,135)">representin<wbr>gValue</span>.<span style="color:rgb(112,61,170)">byteSwapped</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">}</div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span style="color:rgb(186,45,162)">extension</span><span> </span>EndianInteger<span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> _word(at n: <span style="color:rgb(112,61,170)">Int</span>) -&gt; <span style="color:rgb(112,61,170)">UInt</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> </span>representingValue<span>.</span><span style="color:rgb(62,30,129)">_<wbr>word</span><span>(at: n)</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> distance(to other: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(112,61,170)">RepresentingValue</span>.<span style="color:rgb(112,61,170)">Stride</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> </span><span style="color:rgb(186,45,162)">self</span><span>.</span>representingValu<wbr>e<span>.</span><span style="color:rgb(62,30,129)">distance</span><span>(to: other.</span>representingValue<span>)</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> advanced(by n: <span style="color:rgb(112,61,170)">RepresentingValue</span>.<span style="color:rgb(112,61,170)">Stride</span>) -&gt; <span style="color:rgb(79,129,135)">Self</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(79,129,135)">repres<wbr>entingValue</span>.<span style="color:rgb(62,30,129)">advanced</span>(by: n))</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> <wbr>addingReportingOverflow(<span style="color:rgb(186,45,162)">_</span> rhs:<wbr> <span style="color:rgb(79,129,135)">Self</span>) -&gt; (partialValue: <span style="color:rgb(79,129,135)">Self</span>, overflow: <span style="color:rgb(112,61,170)">ArithmeticOverflow</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">let</span> (partialValue, overflow) = <span style="color:rgb(79,129,135)">representingValue</span>.<span style="color:rgb(62,30,129)">addingRepo<wbr>rtingOverflow</span>(rhs.<span style="color:rgb(79,129,135)">representing<wbr>Value</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> (<span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: partialValue), overflow)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> <wbr>subtractingReportingOverflow(<span style="color:rgb(186,45,162)">_</span><wbr> rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; (partialValue: <span style="color:rgb(79,129,135)">Self</span>, overflow: <span style="color:rgb(112,61,170)">ArithmeticOverflow</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">let</span> (partialValue, overflow) = <span style="color:rgb(79,129,135)">representingValue</span>.<span style="color:rgb(62,30,129)">subtractin<wbr>gReportingOverflow</span>(rhs.<span style="color:rgb(79,129,135)">represe<wbr>ntingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> (<span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: partialValue), overflow)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> <wbr>multipliedReportingOverflow(by rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; (partialValue: <span style="color:rgb(79,129,135)">Self</span>, overflow: <span style="color:rgb(112,61,170)">ArithmeticOverflow</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">let</span> (partialValue, overflow) = <span style="color:rgb(79,129,135)">representingValue</span>.<span style="color:rgb(62,30,129)">multiplied<wbr>ReportingOverflow</span>(by: rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> (<span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: partialValue), overflow)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> <wbr>dividedReportingOverflow(by rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; (partialValue: <span style="color:rgb(79,129,135)">Self</span>, overflow: <span style="color:rgb(112,61,170)">ArithmeticOverflow</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">let</span> (partialValue, overflow) = <span style="color:rgb(79,129,135)">representingValue</span>.<span style="color:rgb(62,30,129)">dividedRep<wbr>ortingOverflow</span>(by: rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> (<span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: partialValue), overflow)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> <wbr>remainderReportingOverflow(div<wbr>idingBy rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; (partialValue: <span style="color:rgb(79,129,135)">Self</span>, overflow: <span style="color:rgb(112,61,170)">ArithmeticOverflow</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">let</span> (partialValue, overflow) = <span style="color:rgb(79,129,135)">representingValue</span>.<span style="color:rgb(62,30,129)">remainderR<wbr>eportingOverflow</span>(dividingBy: rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> (<span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: partialValue), overflow)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> <wbr>multipliedFullWidth(by other: <span style="color:rgb(79,129,135)">Self</span>) -&gt; (high: <span style="color:rgb(79,129,135)">Self</span>, low: <span style="color:rgb(112,61,170)">RepresentingValue</span>.<span style="color:rgb(112,61,170)">Magnitu<wbr>de</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">let</span> (high, low) = <span style="color:rgb(79,129,135)">representingValue</span>.<span style="color:rgb(62,30,129)">multiplied<wbr>FullWidth</span>(by: other.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> (<span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: high), low)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">func</span> <wbr>dividingFullWidth(<span style="color:rgb(186,45,162)">_</span> dividend: (high: <span style="color:rgb(79,129,135)">Self</span>, low: <span style="color:rgb(112,61,170)">RepresentingValue</span>.<span style="color:rgb(112,61,170)">Magnitu<wbr>de</span>)) -&gt; (quotient: <span style="color:rgb(79,129,135)">Self</span>, remainder: <span style="color:rgb(79,129,135)">Self</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">let</span> (quotient, remainder) = <span style="color:rgb(79,129,135)">representingValue</span>.<span style="color:rgb(62,30,129)">dividingFu<wbr>llWidth</span>((dividend.high.<span style="color:rgb(79,129,135)">represe<wbr>ntingValue</span>, dividend.low))</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> (<span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: quotient), <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: remainder))</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">}</div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span style="color:rgb(186,45,162)">extension</span><span> </span>EndianInteger<span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>public<span> </span>static<span> </span>prefix<span> </span>func<span> +(<wbr>x: </span><span style="color:rgb(79,129,135)">Self</span><span>) -&gt; </span><span style="color:rgb(79,129,135)">Self</span><span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> x</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> +(lhs: <span style="color:rgb(79,129,135)">Se<wbr>lf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(79,129,135)">Self</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: lhs.<span style="color:rgb(79,129,135)">representingValue</span> + rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> +=(lhs: <span style="color:rgb(186,45,162)">i<wbr>nout</span> <span style="color:rgb(79,129,135)">Self</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        lhs.</span>representingValue<span> += rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> -(lhs: <span style="color:rgb(79,129,135)">Se<wbr>lf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(79,129,135)">Self</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: lhs.<span style="color:rgb(79,129,135)">representingValue</span> - rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> -=(lhs: <span style="color:rgb(186,45,162)">i<wbr>nout</span> <span style="color:rgb(79,129,135)">Self</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        lhs.</span>representingValue<span> -= rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> *(lhs: <span style="color:rgb(79,129,135)">Se<wbr>lf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(79,129,135)">Self</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: lhs.<span style="color:rgb(79,129,135)">representingValue</span> * rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> *=(lhs: <span style="color:rgb(186,45,162)">i<wbr>nout</span> <span style="color:rgb(79,129,135)">Self</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        lhs.</span>representingValue<span> *= rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> /(lhs: <span style="color:rgb(79,129,135)">Se<wbr>lf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(79,129,135)">Self</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: lhs.<span style="color:rgb(79,129,135)">representingValue</span> / rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> /=(lhs: <span style="color:rgb(186,45,162)">i<wbr>nout</span> <span style="color:rgb(79,129,135)">Self</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        lhs.</span>representingValue<span> /= rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> %(lhs: <span style="color:rgb(79,129,135)">Se<wbr>lf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(79,129,135)">Self</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: lhs.<span style="color:rgb(79,129,135)">representingValue</span> % rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> %=(lhs: <span style="color:rgb(186,45,162)">i<wbr>nout</span> <span style="color:rgb(79,129,135)">Self</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        lhs.</span>representingValue<span> %= rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> &amp;(lhs: <span style="color:rgb(79,129,135)">Se<wbr>lf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(79,129,135)">Self</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: lhs.<span style="color:rgb(79,129,135)">representingValue</span> &amp; rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> &amp;=(lhs: <span style="color:rgb(186,45,162)">i<wbr>nout</span> <span style="color:rgb(79,129,135)">Self</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        lhs.</span>representingValue<span> &amp;= rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> |(lhs: <span style="color:rgb(79,129,135)">Se<wbr>lf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(79,129,135)">Self</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: lhs.<span style="color:rgb(79,129,135)">representingValue</span> | rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> |=(lhs: <span style="color:rgb(186,45,162)">i<wbr>nout</span> <span style="color:rgb(79,129,135)">Self</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        lhs.</span>representingValue<span> |= rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> ^(lhs: <span style="color:rgb(79,129,135)">Se<wbr>lf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(79,129,135)">Self</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: lhs.<span style="color:rgb(79,129,135)">representingValue</span> ^ rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> ^=(lhs: <span style="color:rgb(186,45,162)">i<wbr>nout</span> <span style="color:rgb(79,129,135)">Self</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        lhs.</span>representingValue<span> ^= rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>prefix<span> </span>public<span> </span>static<span> </span>func<span> ~(<wbr>x: </span><span style="color:rgb(79,129,135)">Self</span><span>) -&gt; </span><span style="color:rgb(79,129,135)">Self</span><span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: ~x.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> &amp;&gt;&gt;(lhs: <span style="color:rgb(79,129,135)"><wbr>Self</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(79,129,135)">Self</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: lhs.<span style="color:rgb(79,129,135)">representingValue</span> &amp;&gt;&gt; rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> &amp;&lt;&lt;(lhs: <span style="color:rgb(79,129,135)"><wbr>Self</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(79,129,135)">Self</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(186,45,162)">Self</span>(<wbr>representingValue: lhs.<span style="color:rgb(79,129,135)">representingValue</span> &amp;&lt;&lt; rhs.<span style="color:rgb(79,129,135)">representingValue</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> ==(lhs: <span style="color:rgb(79,129,135)">S<wbr>elf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(112,61,170)">Bool</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> lhs.<span style="color:rgb(79,129,135)">bitPattern</span> == rhs.<span style="color:rgb(79,129,135)">bitPattern</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> !=(lhs: <span style="color:rgb(79,129,135)">S<wbr>elf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(112,61,170)">Bool</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> lhs.<span style="color:rgb(79,129,135)">bitPattern</span> != rhs.<span style="color:rgb(79,129,135)">bitPattern</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> &gt;(lhs: <span style="color:rgb(79,129,135)">Se<wbr>lf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(112,61,170)">Bool</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> lhs.</span>representingValue<span><wbr> &gt; rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> &lt;(lhs: <span style="color:rgb(79,129,135)">Se<wbr>lf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(112,61,170)">Bool</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> lhs.</span>representingValue<span><wbr> &lt; rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> &gt;=(lhs: <span style="color:rgb(79,129,135)">S<wbr>elf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(112,61,170)">Bool</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> lhs.</span>representingValue<span><wbr> &gt;= rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">static</span> <span style="color:rgb(186,45,162)">func</span> &lt;=(lhs: <span style="color:rgb(79,129,135)">S<wbr>elf</span>, rhs: <span style="color:rgb(79,129,135)">Self</span>) -&gt; <span style="color:rgb(112,61,170)">Bool</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">return</span><span> lhs.</span>representingValue<span><wbr> &lt;= rhs.</span>representingValue</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">}</div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span style="color:rgb(186,45,162)">public</span><span> </span><span style="color:rgb(186,45,162)">struct</span><span> BEInteger&lt;Base : </span>FixedWidthInteger<span>&gt; : </span>FixedWidthInteger<span>, </span><span style="color:rgb(79,129,135)">EndianInt<wbr>eger</span><span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> bitPattern: <span style="color:rgb(79,129,135)">Base</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>(bitPattern: <span style="color:rgb(79,129,135)">Base</span><wbr>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(79,129,135)">bitPattern</span> = bitPattern</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_versioned</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">init</span>(representingValue: <span style="color:rgb(79,129,135)">Base</span><wbr>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(79,129,135)">bitPattern</span> = representingValue.<span style="color:rgb(112,61,170)">bigEndian</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_versioned</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">var</span> representingValue: <span style="color:rgb(79,129,135)">Base</span> <wbr>{</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">get</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">            <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(79,129,135)">Base</span>(bigEndian: <span style="color:rgb(79,129,135)">bitPa<wbr>ttern</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">set</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">            <span style="color:rgb(79,129,135)">bitPattern</span> = newValue.<span style="color:rgb(112,61,170)">bigEndian</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>(bigEndian value: <span style="color:rgb(79,129,135)">BEInteger</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">self</span><span>.</span>bitPattern<span> = value.</span>bitPattern</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>(littleEndian value: <span style="color:rgb(79,129,135)">BEInteger</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">self</span><span>.</span>bitPattern<span> = value.</span>bitPattern<span>.</span><span style="color:rgb(112,61,170)">byteSwapped</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> bigEndian: <span style="color:rgb(79,129,135)">BEInte<wbr>ger</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>        </span>return<span> </span>self</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> littleEndian: <span style="color:rgb(79,129,135)">BEI<wbr>nteger</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(79,129,135)">BEInteger</span>(<wbr>littleEndian: <span style="color:rgb(186,45,162)">self</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">}</div><div style="margin:0px;font-size:12px;line-height:normal;font-family:Helvetica;min-height:14px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(112,61,170)"><span style="color:rgb(186,45,162)">public</span><span> </span><span style="color:rgb(186,45,162)">struct</span><span> LEInteger&lt;Base : </span>FixedWidthInteger<span>&gt; : </span>FixedWidthInteger<span>, </span><span style="color:rgb(79,129,135)">EndianInt<wbr>eger</span><span> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> bitPattern: <span style="color:rgb(79,129,135)">Base</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>(bitPattern: <span style="color:rgb(79,129,135)">Base</span><wbr>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(79,129,135)">bitPattern</span> = bitPattern</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_versioned</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">init</span>(representingValue: <span style="color:rgb(79,129,135)">Base</span><wbr>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">self</span>.<span style="color:rgb(79,129,135)">bitPattern</span> = representingValue.<span style="color:rgb(112,61,170)">littleEndian</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_versioned</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">var</span> representingValue: <span style="color:rgb(79,129,135)">Base</span> <wbr>{</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">get</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">            <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(79,129,135)">Base</span>(littleEndian: <span style="color:rgb(79,129,135)">bi<wbr>tPattern</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">set</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">            <span style="color:rgb(79,129,135)">bitPattern</span> = newValue.<span style="color:rgb(112,61,170)">littleEndian</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>(bigEndian value: <span style="color:rgb(79,129,135)">LEInteger</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">self</span><span>.</span>bitPattern<span> = value.</span>bitPattern<span>.</span><span style="color:rgb(112,61,170)">byteSwapped</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">init</span>(littleEndian value: <span style="color:rgb(79,129,135)">LEInteger</span>) {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(79,129,135)"><span>        </span><span style="color:rgb(186,45,162)">self</span><span>.</span>bitPattern<span> = value.</span>bitPattern</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> bigEndian: <span style="color:rgb(79,129,135)">LEInte<wbr>ger</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">        <span style="color:rgb(186,45,162)">return</span> <span style="color:rgb(79,129,135)">LEInteger</span>(bigEndian: <span style="color:rgb(186,45,162)"><wbr>self</span>)</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">    <br class="m_-5551924893262912243webkit-block-placeholder"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>    </span>@_transparent</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    <span style="color:rgb(186,45,162)">public</span> <span style="color:rgb(186,45,162)">var</span> littleEndian: <span style="color:rgb(79,129,135)">LEI<wbr>nteger</span> {</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(186,45,162)"><span>        </span>return<span> </span>self</div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">    }</div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"></p><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo">}</div></div>
______________________________<wbr>_________________<br>swift-evolution mailing list<br><a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br></div></blockquote></div><br></div></blockquote></div>______________________________<wbr>_________________<br>swift-evolution mailing list<br><a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br></div></blockquote></div><br></div></div></blockquote></div><br></div>