Skip to content

blibio/combinatorics

Repository files navigation

blibio/combinatorics

Software License Coverage Status

Simple PHP 8.3+ generators to create:


Installation

Install via Composer:

composer require blibio/combinatorics

Usage

To use the generators, simply create the kind of object you need, and iterate. E.g.:

<?php

declare(strict_types=1);

use Blibio\Combinatorics\Combinatorics;

$elements = ['A', 'B', 'C', 'D'];
$k = 3;

// Using the boolean parameter:
$it = Combinatorics::combinations($elements, $k, withRepetition: false);

// or:
// $it = Combinatorics::combinations($elements, $k, withRepetition: true);
// $it = Combinatorics::permutations($elements, $k, withRepetition: false);
// $it = Combinatorics::permutations($elements, $k, withRepetition: true);

// Using the explicit method names:
// $it = Combinatorics::combinationsWithoutRepetition($elements, $k);
// $it = Combinatorics::combinationsWithRepetition($elements, $k);
// $it = Combinatorics::permutationsWithoutRepetition($elements, $k);
// $it = Combinatorics::permutationsWithRepetition($elements, $k);

foreach ($it as $set) {
    // use $set
}

Copyright and license

The blibio/combinatorics library is copyright © Stephan Six and licensed for use under the MIT License (MIT). Please see LICENSE for more information.

About

Simple combination and permutation generators.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages