I’m glad this was approved, the improvements look substantial!<div><br></div><div>My one question is why are the bitwise operations (and/or/xor) modeled as member functions rather than operators?</div><div><br></div><div><br><br>On Thursday, June 30, 2016, Chris Lattner via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Proposal link: <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md" target="_blank">https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md</a><br>
<br>
Hello Swift Community,<br>
<br>
The review of &quot;SE-0104: Protocol-oriented integers&quot; ran from June 22...27. The proposal is *accepted* for Swift 3 with revisions:<br>
<br>
The feedback from the community was very positive and contributed a number of improvements to the design of the proposal.  The core team has accepted the proposal, subject to the following changes:<br>
<br>
 - The “Integer&quot; protocol should be renamed to “BinaryInteger” to be more accurate and avoid confusion between “Int&quot; and “Integer”.<br>
 - The “FloatingPoint&quot; protocol should conform to the “Arithmetic” protocol.<br>
 - Rename the “absoluteValue” property to “magnitude”, and sink it down to the “Arithmetic” protocol.<br>
 - Eliminate the “AbsoluteValuable&quot; protocol, since “abs” can now be defined in terms of “Arithmetic&quot;.<br>
 - Rename the “signBitIndex&quot; property to &quot;minimumSignedRepresentationBitWidth&quot;.<br>
 - Add a “popcount&quot; property requirement to the “FixedWidthInteger” protocol.<br>
 - Change the &quot;countLeadingZeros()&quot; member of concrete types to be a “leadingZeros” property on “FixedWidthInteger”.<br>
 - Rename &quot;func nthWord(n: Int) -&gt; UInt” to &quot;func word(at: Int) -&gt; UInt”.<br>
 - Rename the “and”, “or”, and “xor” members of “FixedWidthInteger” to “bitwiseAnd”, “bitwiseOr” and “bitwiseXor”.<br>
 - Change “doubleWidthMultiply” to be a static member, and add a “doubleWidthDivide” member as its dual.  The latter will return both quotient and remainder of type “Self&quot;. Both are to be added to the &quot;FixedWidthInteger&quot; protocol.<br>
<br>
Many thanks to Maxim Moiseev, Dave Abrahams and Dmitri Gribenko for driving this proposal forward, Steve Canon for his important input, and to Maxim Moiseev for driving the implementation work forward.<br>
<br>
-Chris Lattner<br>
Review Manager<br>
<br>
<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;swift-evolution@swift.org&#39;)">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div>