multicool: Permutations of Multisets in Cool-Lex Order

A set of tools to permute multisets without loops or hash tables and to generate integer partitions. The permutation functions are based on C code from Aaron Williams. Cool-lex order is similar to colexicographical order. The algorithm is described in Williams, A. Loopless Generation of Multiset Permutations by Prefix Shifts. SODA 2009, Symposium on Discrete Algorithms, New York, United States. The permutation code is distributed without restrictions. The code for stable and efficient computation of multinomial coefficients comes from Dave Barber. The code can be download from <> and is distributed without conditions. The package also generates the integer partitions of a positive, non-zero integer n. The C++ code for this is based on Python code from Jerome Kelleher which can be found here <>. The C++ code and Python code are distributed without conditions.

Version: 1.0.1
Depends: methods, Rcpp (≥ 0.11.2)
LinkingTo: Rcpp
Published: 2024-02-05
DOI: 10.32614/CRAN.package.multicool
Author: James Curran, Aaron Williams, Jerome Kelleher, Dave Barber
Maintainer: James Curran <j.curran at>
License: GPL-2
NeedsCompilation: yes
Materials: README
CRAN checks: multicool results


Reference manual: multicool.pdf


Package source: multicool_1.0.1.tar.gz
Windows binaries: r-devel:, r-release:, r-oldrel:
macOS binaries: r-release (arm64): multicool_1.0.1.tgz, r-oldrel (arm64): multicool_1.0.1.tgz, r-release (x86_64): multicool_1.0.1.tgz, r-oldrel (x86_64): multicool_1.0.1.tgz
Old sources: multicool archive

Reverse dependencies:

Reverse imports: alphabetr, BMRMM, DNAtools, jack, ks, relSim, SIDES, splitSelect


Please use the canonical form to link to this page.