[swift-evolution] floating point numbers implicit conversion
rjmccall at apple.com
Mon Jun 19 15:44:22 CDT 2017
> On Jun 19, 2017, at 1:58 PM, Stephen Canon via swift-evolution <swift-evolution at swift.org> wrote:
>> On Jun 19, 2017, at 11:46 AM, Ted F.A. van Gaalen via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> var result: Float = 0.0
>> result = float * integer * uint8 + double
>> // here, all operands should be implicitly promoted to Double before the complete expression evaluation.
> You would have this produce different results than:
> let temp = float * integer * uint8
> result = temp + double
> That would be extremely surprising to many unsuspecting users.
> Don’t get me wrong; I *really want* implicit promotions (I proposed one scheme for them way back when Swift was first unveiled publicly).
I don't! At least not for floating point. It is important for both reliable behavior and performance that programmers understand and minimize the conversions they do between different floating-point types.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution