> On 3. Aug 2017, at 13:04, Stephen Canon via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
>> On Aug 2, 2017, at 7:03 PM, Karl Wagner via swift-evolution 
>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
>> 
>> It’s important to remember that computers are mathematical machines, and 
>> some functions which are implemented in hardware on essentially every 
>> platform (like sin/cos/etc) are definitely best implemented as compiler 
>> intrinsics.
> 
> sin/cos/etc are implemented in software, not hardware. x86 does have the 
> FSIN/FCOS instructions, but (almost) no one actually uses them to implement 
> the sin( ) and cos( ) functions; they are a legacy curiosity, both too slow 
> and too inaccurate for serious use today. There are no analogous instructions 
> on ARM or PPC.
> 
> – Steve
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

Hah that’s pretty cool; I think I learned in EE years ago that it was 
implemented with a lookup table inside the CPU and never bothered to question 
it.

The pure-Swift cosine implementation looks cool.

As for the larger discussion about a Swift maths library: in general, it’s hard 
for any new Swift-only package to get off the ground without a more 
comprehensive package manager. The current version doesn’t support most of the 
Swift projects being worked on every day. Swift is also still a relatively 
young language - the new integer protocols have never even shipped in a stable 
release. Considering where we are, it’s not really surprising that most of the 
Swift maths libraries are still a bit rudimentary; I expect they will naturally 
evolve and develop in time, the way open-source code does.

It’s also worth considering that our excellent bridging with C removes some of 
the impetus to rewrite all your battle-tested maths code in Swift. The benefits 
are not obvious; the stage is set for pioneers to experiment and show the world 
why they should be writing their maths code in Swift.

- Karl
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to