Skip to content

Latest commit

 

History

History
57 lines (39 loc) · 2.87 KB

File metadata and controls

57 lines (39 loc) · 2.87 KB

🃏   distributions   🃏

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

documentation · license

Requirements

The package-distributions library requires Swift 6.1 or later.

Platform Status
💬 Documentation Status
🐧 Linux Status
🍏 Darwin Status
🍏 Darwin (iOS) Status
🍏 Darwin (tvOS) Status
🍏 Darwin (visionOS) Status
🍏 Darwin (watchOS) Status

Check deployment minimums

Examples

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)