apple / swift-numerics
- понедельник, 11 ноября 2019 г. в 00:25:09
Swift
Numerical APIs for Swift
Swift Numerics provides a set of modules that support numerical computing in Swift. These modules fall broadly into two categories:
There is some overlap between these two categories, and API that begins in the first category may migrate to the second as it matures and new uses are discovered.
Swift Numerics modules are fine-grained; if you need support for Complex numbers, you can import the Complex module without pulling in everything else in the library as well:
import Complex
let z = Complex<Double>.iHowever, there is also a top-level Numerics module that simply re-exports the complete public interface of swift-numerics:
import Numerics
// All swift-numerics API is now availableSwift Numerics modules have minimal dependencies on other projects. The current modules assume only the availability of the Swift and C standard libraries and the runtime support provided by compiler-rt. Future expansion may assume the availability of other standard interfaces such as BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear Algebra Package), but modules with more specialized dependencies (or dependencies that are not available on all platforms supported by Swift) belong in a separate package.
Because we intend to make it possible to adopt Swift Numerics modules in the standard library at some future point, Swift Numerics uses the same license and contribution guidelines as the Swift project.
Swift Numerics is a standalone library separate from the core Swift project. In practice, it will act as a staging ground for some APIs that may eventually be incorporated into the Swift Standard Library, and when that happens such changes will be proposed to the Swift Standard Library using the established evolution process of the Swift project.
Swift Numerics uses GitHub issues to track bugs and features. We use pull requests for development.
To propose a new module:
To propose a new feature for an existing module:
To fix a bug, or make smaller improvements:
Questions about how to use Swift Numerics modules, or issues that are not clearly bugs can be discussed in the "Swift Numerics" section of the Swift forums.