> 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