<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Susan,<div class=""><br class=""></div><div class="">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 class=""><br class=""></div><div class="">-Chris</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jul 7, 2017, at 6:16 PM, Susan Cheng via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div class=""></div><div class="">Here are two problems being fixed.</div><div class=""><br class=""></div><div class="">First, considering the example:</div><div class=""><br class=""></div><div class="">struct MyRawDataStruct {</div><div class=""><br class=""></div><div class=""> var size: UInt32</div><span style="background-color: rgba(255, 255, 255, 0);" class=""> var signature: UInt32</span><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""> var width: UInt32</span></div><span style="background-color: rgba(255, 255, 255, 0);" class=""> var height: UInt32<br class=""></span><div class="">}</div><div class=""><br class=""></div><div class="">The type UInt32 doesn'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 class=""><br class=""></div><div class="">This causes us have to manual convert the value from/to correct endianness.</div><div class=""><br class=""></div><div class=""><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">struct MyRawDataStruct {</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""> var size: BEInteger<UInt32></span></div><span style="background-color: rgba(255, 255, 255, 0);" class=""> var signature: BEInteger<UInt32></span></div><div class=""><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""> var width: BEInteger<UInt32></span></div><span style="background-color: rgba(255, 255, 255, 0);" class=""> var height: BEInteger<UInt32></span></div><div class=""><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">}</span></div></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">So, my proposal fix the problem. We can easily to get the value.</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">let header: MyRawDataStruct = data.withUnsafePointer { $0.pointee }</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">print(header.size) // print the representing value</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">Second, it's misleading means of bigEndian and littleEndian from FixedWidthInteger</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">if we do this</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">let a = 1</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">print(a.bigEndian.bigEndian)</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">It's just swap bytes twice but not converting value to big-endian</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">My proposal solves the problem</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">let b = a.bigEndian // BEInteger<Int></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">b.bigEndian // remain big-endian of a</span></div><div class=""><br class="">Max Moiseev <<a href="mailto:moiseev@apple.com" class="">moiseev@apple.com</a>> 於 2017年7月8日 上午1:48 寫道:<br class=""><br class=""></div><blockquote type="cite" class=""><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div class="">Hi Susan,</div><div class=""><br class=""></div><div class="">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 class=""><br class=""></div><div class="">Thanks,</div><div class="">Max </div><div class=""><br class=""></div><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Jul 6, 2017, at 8:21 PM, Susan Cheng via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class="">IMO, it has unclear representation when FixedWidthInteger working with endianness specific type.<br class=""></div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class="">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;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="color:rgb(186,45,162)" class="">public</span><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">struct</span><span style="" class=""> BEInteger<Base : </span>FixedWidthInteger<span style="" class="">> : </span>FixedWidthInteger<span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> bigEndian: <span style="color:rgb(79,129,135)" class="">BEInteger</span> { <span style="color:rgb(186,45,162)" class="">get </span>}</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> littleEndian: <span style="color:rgb(79,129,135)" class="">LEInteger<Base></span> <wbr class="">{ <span style="color:rgb(186,45,162)" class="">get </span>}</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="color:rgb(186,45,162)" class="">public</span><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">struct</span><span style="" class=""> LEInteger<Base : </span>FixedWidthInteger<span style="" class="">> : </span>FixedWidthInteger<span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> bigEndian: <span style="color:rgb(79,129,135)" class="">BEInteger<Base></span> { <span style="color:rgb(186,45,162)" class="">g<wbr class="">et </span>}</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> littleEndian: <span style="color:rgb(79,129,135)" class="">LEInteger</span> { <span style="color:rgb(186,45,162)" class="">get </span>}</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">also, we should change the <span style="color:rgb(112,61,170)" class="">FixedWidthInteger</span> as follow:</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">protocol</span> FixedWidthInteger : <span style="color:rgb(112,61,170)" class="">BinaryInteger</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="" class=""> </span>/// deprecated, we should use value.bigEndian instead</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">init</span>(bigEndian value: <span style="color:rgb(112,61,170)" class="">Self</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="" class=""> </span>/// deprecated, we should use value.littleEndian instead</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">init</span>(littleEndian value: <span style="color:rgb(112,61,170)" class="">Self</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">associatedtype</span> EndianRepresentingValue : <span style="color:rgb(79,129,135)" class="">FixedWidthInteger</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">var</span><span style="" class=""> bigEndian: </span>BEInteger<span style="" class=""><</span>EndianRepresentingVa<wbr class="">lue<span style="" class="">> { </span><span style="color:rgb(186,45,162)" class="">get</span><span style="" class=""> }</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">var</span><span style="" class=""> littleEndian: </span>LEInteger<span style="" class=""><</span>EndianRepresentingVa<wbr class="">lue<span style="" class="">> { </span><span style="color:rgb(186,45,162)" class="">get</span><span style="" class=""> }</span></div><p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""></p><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="font-size:14px" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">=============================</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">this is my working alternative implementation:</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><br class=""></div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class="">@_versioned</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="color:rgb(186,45,162)" class="">protocol</span> EndianInteger : <span style="color:rgb(112,61,170)" class="">FixedWidthInteger</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">associatedtype</span> BitPattern : <span style="color:rgb(112,61,170)" class="">FixedWidthInteger</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">associatedtype</span> RepresentingValue : <span style="color:rgb(112,61,170)" class="">FixedWidthInteger</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">var</span> bitPattern: <span style="color:rgb(112,61,170)" class="">BitPattern</span> { <span style="color:rgb(186,45,162)" class="">get</span> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">init</span>(bitPattern: <span style="color:rgb(112,61,170)" class="">BitPattern</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">var</span> representingValue : <span style="color:rgb(112,61,170)" class="">RepresentingValue</span> { <span style="color:rgb(186,45,162)" class="">get</span> <span style="color:rgb(186,45,162)" class="">set</span> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">init</span>(representingValue: <span style="color:rgb(112,61,170)" class="">RepresentingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="color:rgb(186,45,162)" class="">extension</span><span style="" class=""> </span>EndianInteger<span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">public</span><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">init</span><span style="" class="">(integerLiteral value: </span>RepresentingValue<span style="" class="">.</span>IntegerLiter<wbr class="">alType<span style="" class="">) {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(186,45,162)" class="">init</span>(representingValue: RepresentingValue(<wbr class="">integerLiteral: value))</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span>?<T>(exactly source: <span style="color:rgb(79,129,135)" class="">T</span>) <span style="color:rgb(186,45,162)" class="">where</span> <span style="color:rgb(79,129,135)" class="">T</span> : <span style="color:rgb(112,61,170)" class="">BinaryInteger</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">guard</span> <span style="color:rgb(186,45,162)" class="">let</span> value = RepresentingValue(exactly: source) <span style="color:rgb(186,45,162)" class="">else</span> { <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">nil</span> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(186,45,162)" class="">init</span>(representingValue: value)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span>?<T>(exactly source: <span style="color:rgb(79,129,135)" class="">T</span>) <span style="color:rgb(186,45,162)" class="">where</span> <span style="color:rgb(79,129,135)" class="">T</span> : <span style="color:rgb(112,61,170)" class="">FloatingPoint</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">guard</span> <span style="color:rgb(186,45,162)" class="">let</span> value = RepresentingValue(exactly: source) <span style="color:rgb(186,45,162)" class="">else</span> { <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">nil</span> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(186,45,162)" class="">init</span>(representingValue: value)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">public</span><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">init</span><span style="" class="">(</span><span style="color:rgb(186,45,162)" class="">_</span><span style="" class=""> value: </span>RepresentingValue<span style="" class="">) {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(186,45,162)" class="">init</span>(representingValue: value)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span><T>(<span style="color:rgb(186,45,162)" class="">_</span> source: <span style="color:rgb(79,129,135)" class="">T</span>) <span style="color:rgb(186,45,162)" class="">where</span> <span style="color:rgb(79,129,135)" class="">T</span> : <span style="color:rgb(112,61,170)" class="">FloatingPoint</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(186,45,162)" class="">init</span>(representingValue: RepresentingValue(source))</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span><T>(<span style="color:rgb(186,45,162)" class="">_</span> source: <span style="color:rgb(79,129,135)" class="">T</span>) <span style="color:rgb(186,45,162)" class="">where</span> <span style="color:rgb(79,129,135)" class="">T</span> : <span style="color:rgb(112,61,170)" class="">BinaryInteger</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(186,45,162)" class="">init</span>(representingValue: RepresentingValue(source))</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span><T>(extendingOrTruncating source: <span style="color:rgb(79,129,135)" class="">T</span>) <span style="color:rgb(186,45,162)" class="">where</span> <span style="color:rgb(79,129,135)" class="">T</span> : <span style="color:rgb(112,61,170)" class="">BinaryInteger</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(186,45,162)" class="">init</span>(representingValue: RepresentingValue(<wbr class="">extendingOrTruncating: source))</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span><T>(clamping source: <span style="color:rgb(79,129,135)" class="">T</span>) <span style="color:rgb(186,45,162)" class="">where</span> <span style="color:rgb(79,129,135)" class="">T</span> : <span style="color:rgb(112,61,170)" class="">BinaryInteger</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(186,45,162)" class="">init</span>(representingValue: RepresentingValue(clamping: source))</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span>(_truncatingBits bits: <span style="color:rgb(112,61,170)" class="">UInt</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(186,45,162)" class="">init</span>(representingValue: RepresentingValue(_<wbr class="">truncatingBits: bits))</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="color:rgb(186,45,162)" class="">extension</span><span style="" class=""> </span>EndianInteger<span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">var</span> isSigned: <span style="color:rgb(112,61,170)" class="">Bool</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> RepresentingValue.<span style="color:rgb(112,61,170)" class="">isSigned</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">var</span> bitWidth: <span style="color:rgb(112,61,170)" class="">Int</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> RepresentingValue.<span style="color:rgb(112,61,170)" class="">bitWidth</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>public<span style="" class=""> </span>static<span style="" class=""> </span>var<span style="" class=""> max: </span><span style="color:rgb(79,129,135)" class="">Self</span><span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: RepresentingValue.<span style="color:rgb(112,61,170)" class="">max</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>public<span style="" class=""> </span>static<span style="" class=""> </span>var<span style="" class=""> min: </span><span style="color:rgb(79,129,135)" class="">Self</span><span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: RepresentingValue.<span style="color:rgb(112,61,170)" class="">min</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="color:rgb(186,45,162)" class="">extension</span><span style="" class=""> </span>EndianInteger<span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> hashValue: <span style="color:rgb(112,61,170)" class="">Int</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> </span>representingValue<span style="" class="">.</span><span style="color:rgb(112,61,170)" class="">hashValue</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> description: <span style="color:rgb(112,61,170)" class="">String</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> </span>representingValue<span style="" class="">.</span><span style="color:rgb(112,61,170)" class="">description</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> bitWidth: <span style="color:rgb(112,61,170)" class="">Int</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> </span>representingValue<span style="" class="">.</span><span style="color:rgb(112,61,170)" class="">bitWidth</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">public</span><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">var</span><span style="" class=""> magnitude: </span>RepresentingValue<span style="" class="">.</span>Magnitude<span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> </span>representingValue<span style="" class="">.</span><span style="color:rgb(112,61,170)" class="">magnitude</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> trailingZeroBitCount: <span style="color:rgb(112,61,170)" class="">Int</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> </span><span style="color:rgb(79,129,135)" class="">representingValue</span><span style="" class="">.</span>trailingZero<wbr class="">BitCount</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> nonzeroBitCount: <span style="color:rgb(112,61,170)" class="">Int</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> </span>representingValue<span style="" class="">.</span><span style="color:rgb(112,61,170)" class="">nonzeroBitCo<wbr class="">unt</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> leadingZeroBitCount: <span style="color:rgb(112,61,170)" class="">Int</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> </span><span style="color:rgb(79,129,135)" class="">representingValue</span><span style="" class="">.</span>leadingZeroB<wbr class="">itCount</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> byteSwapped: <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: <span style="color:rgb(79,129,135)" class="">representingValue</span>.<span style="color:rgb(112,61,170)" class="">byteSwapped</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="color:rgb(186,45,162)" class="">extension</span><span style="" class=""> </span>EndianInteger<span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">func</span> _word(at n: <span style="color:rgb(112,61,170)" class="">Int</span>) -> <span style="color:rgb(112,61,170)" class="">UInt</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> </span>representingValue<span style="" class="">.</span><span style="color:rgb(62,30,129)" class="">_word</span><span style="" class="">(at: n)</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">func</span> distance(to other: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(112,61,170)" class="">RepresentingValue</span>.<span style="color:rgb(112,61,170)" class="">Stride</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">self</span><span style="" class="">.</span>representingValue<span style="" class="">.</span><span style="color:rgb(62,30,129)" class="">distanc<wbr class="">e</span><span style="" class="">(to: other.</span>representingValue<span style="" class="">)</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">func</span> advanced(by n: <span style="color:rgb(112,61,170)" class="">RepresentingValue</span>.<span style="color:rgb(112,61,170)" class="">Stride</span>) -> <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(79,129,135)" class="">representingValue</span>.<span style="color:rgb(62,30,129)" class="">advance<wbr class="">d</span>(by: n))</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">func</span> addingReportingOverflow(<span style="color:rgb(186,45,162)" class="">_</span> rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> (partialValue: <span style="color:rgb(79,129,135)" class="">Self</span>, overflow: <span style="color:rgb(112,61,170)" class="">ArithmeticOverflow</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">let</span> (partialValue, overflow) = <span style="color:rgb(79,129,135)" class="">representingValue</span>.<span style="color:rgb(62,30,129)" class="">addingReport<wbr class="">ingOverflow</span>(rhs.<span style="color:rgb(79,129,135)" class="">representingVa<wbr class="">lue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> (<span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: partialValue), overflow)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">func</span> subtractingReportingOverflow(<span style="color:rgb(186,45,162)" class="">_</span> rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> (partialValue: <span style="color:rgb(79,129,135)" class="">Self</span>, overflow: <span style="color:rgb(112,61,170)" class="">ArithmeticOverflow</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">let</span> (partialValue, overflow) = <span style="color:rgb(79,129,135)" class="">representingValue</span>.<span style="color:rgb(62,30,129)" class="">subtractingR<wbr class="">eportingOverflow</span>(rhs.<span style="color:rgb(79,129,135)" class="">represent<wbr class="">ingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> (<span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: partialValue), overflow)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">func</span> multipliedReportingOverflow(by rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> (partialValue: <span style="color:rgb(79,129,135)" class="">Self</span>, overflow: <span style="color:rgb(112,61,170)" class="">ArithmeticOverflow</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">let</span> (partialValue, overflow) = <span style="color:rgb(79,129,135)" class="">representingValue</span>.<span style="color:rgb(62,30,129)" class="">multipliedRe<wbr class="">portingOverflow</span>(by: rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> (<span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: partialValue), overflow)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">func</span> dividedReportingOverflow(by rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> (partialValue: <span style="color:rgb(79,129,135)" class="">Self</span>, overflow: <span style="color:rgb(112,61,170)" class="">ArithmeticOverflow</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">let</span> (partialValue, overflow) = <span style="color:rgb(79,129,135)" class="">representingValue</span>.<span style="color:rgb(62,30,129)" class="">dividedRepor<wbr class="">tingOverflow</span>(by: rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> (<span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: partialValue), overflow)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">func</span> remainderReportingOverflow(<wbr class="">dividingBy rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> (partialValue: <span style="color:rgb(79,129,135)" class="">Self</span>, overflow: <span style="color:rgb(112,61,170)" class="">ArithmeticOverflow</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">let</span> (partialValue, overflow) = <span style="color:rgb(79,129,135)" class="">representingValue</span>.<span style="color:rgb(62,30,129)" class="">remainderRep<wbr class="">ortingOverflow</span>(dividingBy: rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> (<span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: partialValue), overflow)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">func</span> multipliedFullWidth(by other: <span style="color:rgb(79,129,135)" class="">Self</span>) -> (high: <span style="color:rgb(79,129,135)" class="">Self</span>, low: <span style="color:rgb(112,61,170)" class="">RepresentingValue</span>.<span style="color:rgb(112,61,170)" class="">Magnitude</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">let</span> (high, low) = <span style="color:rgb(79,129,135)" class="">representingValue</span>.<span style="color:rgb(62,30,129)" class="">multipliedFu<wbr class="">llWidth</span>(by: other.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> (<span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: high), low)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">func</span> dividingFullWidth(<span style="color:rgb(186,45,162)" class="">_</span> dividend: (high: <span style="color:rgb(79,129,135)" class="">Self</span>, low: <span style="color:rgb(112,61,170)" class="">RepresentingValue</span>.<span style="color:rgb(112,61,170)" class="">Magnitude</span>)) -> (quotient: <span style="color:rgb(79,129,135)" class="">Self</span>, remainder: <span style="color:rgb(79,129,135)" class="">Self</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">let</span> (quotient, remainder) = <span style="color:rgb(79,129,135)" class="">representingValue</span>.<span style="color:rgb(62,30,129)" class="">dividingFull<wbr class="">Width</span>((dividend.high.<span style="color:rgb(79,129,135)" class="">represent<wbr class="">ingValue</span>, dividend.low))</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> (<span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: quotient), <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: remainder))</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="color:rgb(186,45,162)" class="">extension</span><span style="" class=""> </span>EndianInteger<span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>public<span style="" class=""> </span>static<span style="" class=""> </span>prefix<span style="" class=""> </span>func<span style="" class=""> +(x: </span><span style="color:rgb(79,129,135)" class="">Self</span><span style="" class="">) -> </span><span style="color:rgb(79,129,135)" class="">Self</span><span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> x</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> +(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: lhs.<span style="color:rgb(79,129,135)" class="">representingValue</span> + rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> +=(lhs: <span style="color:rgb(186,45,162)" class="">inout</span> <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> lhs.</span>representingValue<span style="" class=""> += rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> -(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: lhs.<span style="color:rgb(79,129,135)" class="">representingValue</span> - rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> -=(lhs: <span style="color:rgb(186,45,162)" class="">inout</span> <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> lhs.</span>representingValue<span style="" class=""> -= rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> *(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: lhs.<span style="color:rgb(79,129,135)" class="">representingValue</span> * rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> *=(lhs: <span style="color:rgb(186,45,162)" class="">inout</span> <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> lhs.</span>representingValue<span style="" class=""> *= rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> /(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: lhs.<span style="color:rgb(79,129,135)" class="">representingValue</span> / rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> /=(lhs: <span style="color:rgb(186,45,162)" class="">inout</span> <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> lhs.</span>representingValue<span style="" class=""> /= rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> %(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: lhs.<span style="color:rgb(79,129,135)" class="">representingValue</span> % rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> %=(lhs: <span style="color:rgb(186,45,162)" class="">inout</span> <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> lhs.</span>representingValue<span style="" class=""> %= rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> &(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: lhs.<span style="color:rgb(79,129,135)" class="">representingValue</span> & rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> &=(lhs: <span style="color:rgb(186,45,162)" class="">inout</span> <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> lhs.</span>representingValue<span style="" class=""> &= rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> |(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: lhs.<span style="color:rgb(79,129,135)" class="">representingValue</span> | rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> |=(lhs: <span style="color:rgb(186,45,162)" class="">inout</span> <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> lhs.</span>representingValue<span style="" class=""> |= rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> ^(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: lhs.<span style="color:rgb(79,129,135)" class="">representingValue</span> ^ rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> ^=(lhs: <span style="color:rgb(186,45,162)" class="">inout</span> <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> lhs.</span>representingValue<span style="" class=""> ^= rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>prefix<span style="" class=""> </span>public<span style="" class=""> </span>static<span style="" class=""> </span>func<span style="" class=""> ~(x: </span><span style="color:rgb(79,129,135)" class="">Self</span><span style="" class="">) -> </span><span style="color:rgb(79,129,135)" class="">Self</span><span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: ~x.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> &>>(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: lhs.<span style="color:rgb(79,129,135)" class="">representingValue</span> &>> rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> &<<(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(79,129,135)" class="">Self</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(186,45,162)" class="">Self</span>(representingValue: lhs.<span style="color:rgb(79,129,135)" class="">representingValue</span> &<< rhs.<span style="color:rgb(79,129,135)" class="">representingValue</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> ==(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(112,61,170)" class="">Bool</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> lhs.<span style="color:rgb(79,129,135)" class="">bitPattern</span> == rhs.<span style="color:rgb(79,129,135)" class="">bitPattern</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> !=(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(112,61,170)" class="">Bool</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> lhs.<span style="color:rgb(79,129,135)" class="">bitPattern</span> != rhs.<span style="color:rgb(79,129,135)" class="">bitPattern</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> >(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(112,61,170)" class="">Bool</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> lhs.</span>representingValue<span style="" class=""> > rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> <(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(112,61,170)" class="">Bool</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> lhs.</span>representingValue<span style="" class=""> < rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> >=(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(112,61,170)" class="">Bool</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> lhs.</span>representingValue<span style="" class=""> >= rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">static</span> <span style="color:rgb(186,45,162)" class="">func</span> <=(lhs: <span style="color:rgb(79,129,135)" class="">Self</span>, rhs: <span style="color:rgb(79,129,135)" class="">Self</span>) -> <span style="color:rgb(112,61,170)" class="">Bool</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">return</span><span style="" class=""> lhs.</span>representingValue<span style="" class=""> <= rhs.</span>representingValue</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="color:rgb(186,45,162)" class="">public</span><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">struct</span><span style="" class=""> BEInteger<Base : </span>FixedWidthInteger<span style="" class="">> : </span>FixedWidthInteger<span style="" class="">, </span><span style="color:rgb(79,129,135)" class="">EndianInteger</span><span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> bitPattern: <span style="color:rgb(79,129,135)" class="">Base</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span>(bitPattern: <span style="color:rgb(79,129,135)" class="">Base</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(79,129,135)" class="">bitPattern</span> = bitPattern</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_versioned</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">init</span>(representingValue: <span style="color:rgb(79,129,135)" class="">Base</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(79,129,135)" class="">bitPattern</span> = representingValue.<span style="color:rgb(112,61,170)" class="">bigEndian</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_versioned</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">var</span> representingValue: <span style="color:rgb(79,129,135)" class="">Base</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">get</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(79,129,135)" class="">Base</span>(bigEndian: <span style="color:rgb(79,129,135)" class="">bitPattern</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">set</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(79,129,135)" class="">bitPattern</span> = newValue.<span style="color:rgb(112,61,170)" class="">bigEndian</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span>(bigEndian value: <span style="color:rgb(79,129,135)" class="">BEInteger</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">self</span><span style="" class="">.</span>bitPattern<span style="" class=""> = value.</span>bitPattern</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span>(littleEndian value: <span style="color:rgb(79,129,135)" class="">BEInteger</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">self</span><span style="" class="">.</span>bitPattern<span style="" class=""> = value.</span>bitPattern<span style="" class="">.</span><span style="color:rgb(112,61,170)" class="">byteSwapped</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> bigEndian: <span style="color:rgb(79,129,135)" class="">BEInteger</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>return<span style="" class=""> </span>self</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> littleEndian: <span style="color:rgb(79,129,135)" class="">BEInteger</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(79,129,135)" class="">BEInteger</span>(littleEndian: <span style="color:rgb(186,45,162)" class="">self</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Helvetica; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="color:rgb(186,45,162)" class="">public</span><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">struct</span><span style="" class=""> LEInteger<Base : </span>FixedWidthInteger<span style="" class="">> : </span>FixedWidthInteger<span style="" class="">, </span><span style="color:rgb(79,129,135)" class="">EndianInteger</span><span style="" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> bitPattern: <span style="color:rgb(79,129,135)" class="">Base</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span>(bitPattern: <span style="color:rgb(79,129,135)" class="">Base</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(79,129,135)" class="">bitPattern</span> = bitPattern</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_versioned</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">init</span>(representingValue: <span style="color:rgb(79,129,135)" class="">Base</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">self</span>.<span style="color:rgb(79,129,135)" class="">bitPattern</span> = representingValue.<span style="color:rgb(112,61,170)" class="">littleEndian</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_versioned</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">var</span> representingValue: <span style="color:rgb(79,129,135)" class="">Base</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">get</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(79,129,135)" class="">Base</span>(littleEndian: <span style="color:rgb(79,129,135)" class="">bitPattern</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">set</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(79,129,135)" class="">bitPattern</span> = newValue.<span style="color:rgb(112,61,170)" class="">littleEndian</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span>(bigEndian value: <span style="color:rgb(79,129,135)" class="">LEInteger</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">self</span><span style="" class="">.</span>bitPattern<span style="" class=""> = value.</span>bitPattern<span style="" class="">.</span><span style="color:rgb(112,61,170)" class="">byteSwapped</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">init</span>(littleEndian value: <span style="color:rgb(79,129,135)" class="">LEInteger</span>) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="" class=""> </span><span style="color:rgb(186,45,162)" class="">self</span><span style="" class="">.</span>bitPattern<span style="" class=""> = value.</span>bitPattern</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> bigEndian: <span style="color:rgb(79,129,135)" class="">LEInteger</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">return</span> <span style="color:rgb(79,129,135)" class="">LEInteger</span>(bigEndian: <span style="color:rgb(186,45,162)" class="">self</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>@_transparent</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="color:rgb(186,45,162)" class="">public</span> <span style="color:rgb(186,45,162)" class="">var</span> littleEndian: <span style="color:rgb(79,129,135)" class="">LEInteger</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(186, 45, 162);" class=""><span style="" class=""> </span>return<span style="" class=""> </span>self</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""></p><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div></div>
_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class=""></div></blockquote></div><br class=""></div></blockquote></div>_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></blockquote></div><br class=""></div></body></html>