Commits

Stephen Canon committed 6429eabf749
Implement the new FloatingPoint protocols from SE-0067. There are a couple of features that are not yet implemented, because they require additions to the Builtin module. Specifically, this implementation does not have: - formRemainder(dividingBy:) - formSquareRoot() - addProduct(_:,_:) Also missing are the generic initializers and comparisons whose implementation depends on having new Integer protocols. The last remaining feature of SE-0067 is that while the basic operators +,-,*,/, etc are moved onto the FloatingPoint protocol, they are still required on the concrete types in order to disambiguate overloads. Fixing this seems to require either modifying the overload resolution rules or removing these operators from some other protocols. Or it might just require that someone smarter than me looks at the problem. Passes all the existing tests (with the included changes). I'm working on additional tests for the new features.