An open API service indexing awesome lists of open source software.

https://github.com/ordo-one/distributions

Performant implementations of statistical distributions in pure Swift
https://github.com/ordo-one/distributions

autosync statistics

Last synced: 4 days ago
JSON representation

Performant implementations of statistical distributions in pure Swift

Awesome Lists containing this project

README

          

๐Ÿƒ ย  **distributions** ย  ๐Ÿƒ

a portable, Foundation-free library for working with statistical distributions in Swift, with a focus on efficient sampling and random number generation

[documentation](https://swiftinit.org/docs/package-distributions) ยท
[license](LICENSE)

## Requirements

The package-distributions library requires Swift 6.1 or later.

| Platform | Status |
| -------- | ------ |
| ๐Ÿ’ฌ Documentation | [![Status](https://raw.githubusercontent.com/ordo-one/package-distributions/refs/badges/ci/Documentation/_all/status.svg)](https://github.com/ordo-one/package-distributions/actions/workflows/Documentation.yml) |
| ๐Ÿง Linux | [![Status](https://raw.githubusercontent.com/ordo-one/package-distributions/refs/badges/ci/Tests/Linux/status.svg)](https://github.com/ordo-one/package-distributions/actions/workflows/Tests.yml) |
| ๐Ÿ Darwin | [![Status](https://raw.githubusercontent.com/ordo-one/package-distributions/refs/badges/ci/Tests/macOS/status.svg)](https://github.com/ordo-one/package-distributions/actions/workflows/Tests.yml) |
| ๐Ÿ Darwin (iOS) | [![Status](https://raw.githubusercontent.com/ordo-one/package-distributions/refs/badges/ci/Tests/iOS/status.svg)](https://github.com/ordo-one/package-distributions/actions/workflows/Tests.yml) |
| ๐Ÿ Darwin (tvOS) | [![Status](https://raw.githubusercontent.com/ordo-one/package-distributions/refs/badges/ci/Tests/tvOS/status.svg)](https://github.com/ordo-one/package-distributions/actions/workflows/Tests.yml) |
| ๐Ÿ Darwin (visionOS) | [![Status](https://raw.githubusercontent.com/ordo-one/package-distributions/refs/badges/ci/Tests/visionOS/status.svg)](https://github.com/ordo-one/package-distributions/actions/workflows/Tests.yml) |
| ๐Ÿ Darwin (watchOS) | [![Status](https://raw.githubusercontent.com/ordo-one/package-distributions/refs/badges/ci/Tests/watchOS/status.svg)](https://github.com/ordo-one/package-distributions/actions/workflows/Tests.yml) |

[Check deployment minimums](https://swiftinit.org/docs/package-distributions#ss:platform-requirements)

## Examples

```swift
import Random

var random: PseudoRandom = .init(seed: 13)

let binomial: (Int64, Int64, Int64, Int64) = (
Binomial[10, 0.2].sample(using: &random.generator),
Binomial[10, 0.2].sample(using: &random.generator),
Binomial[10, 0.2].sample(using: &random.generator),
Binomial[10, 0.2].sample(using: &random.generator),
)

// Generated binomial samples: (1, 4, 2, 4)

let normal: (Double, Double, Double, Double) = (
Normal[0, 1].sample(using: &random.generator),
Normal[0, 1].sample(using: &random.generator),
Normal[0, 1].sample(using: &random.generator),
Normal[0, 1].sample(using: &random.generator),
)

// Generated normal samples: (1.031, 1.201, -1.607, -0.243)
```