<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 12, 2015, at 3:37 AM, Otto van Verseveld via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">About I year ago I started, while Swift was still in beta development, a github project containing a wrapper for the GNU Multiple Precision Arithmetic library (see:&nbsp;<a href="https://github.com/githotto/osxgmp" class="">https://github.com/githotto/osxgmp</a>).<div class=""><br class=""><div class="">I haven't done much on it lately, also because some questions were not answered in the GMP-community yet. I want to make it also suitable for iOS development, since currently it compiles / runs only on OSX.</div><div class=""><br class=""></div><div class="">Do you think there is a need for this 'swift-extension' API/library and it is worthwhile developing further such that the Swift language will have a BigDecimal/BigInt library as being present in Java/C#?</div><div class=""><br class=""></div><div class="">Any thoughts or even help or suggestions on how to get it compiled for iOS are very welcome!</div></div></div></div></blockquote><div><br class=""></div></div>Related: &nbsp;I have been working for some time on a&nbsp;<a href="https://github.com/apple/swift/blob/master/test/Prototypes/Integers.swift.gyb" class="">rewrite of all the integer types and protocols</a>. &nbsp;One goal of this effort is to enable operations on mixed integer types, which as you can see is partially completed. &nbsp;In-place arithmetic (anInt32 += aUInt64) is next. &nbsp;Another important goal is to make the integer protocols actually <i class="">useful</i>&nbsp;for writing generic code, instead of what they are today: implementation artifacts used only for code sharing. &nbsp;As another litmus test of the usefulness of the resulting protocols, the plan is to implement BigInt in terms of the generic operations defined on integers, and make BigInt itself conform to those protocols.<div class=""><br class=""></div><div class="">Using GMP would probably result in faster code, and after the protocols have proven themselves adequate for mixed-width/arbitrary-precision integer integer implementation, it might make sense to put a version of the same APIs based on GMP into the standard library.</div><div class=""><br class=""></div><div class="">-Dave</div></body></html>