multicool
Permutations of Multisets in Cool-Lex Order
Description
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 <http://tamivox.org/dave/multinomial/index.html> 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 <https://jeromekelleher.net/category/combinatorics.html>. The C++ code and Python code are distributed without conditions.
Downloads
37.5K
Last 30 days
598th
121.7K
Last 90 days
463.8K
Last year
Trend: -20.1% (30d vs prior 30d)
1.4K
Last 30 days
4.1K
Last 90 days
10.1K
Last year
Trend: +15.9% (30d vs prior 30d)
r2u: no daily series yet
CRAN Check Status
Show all 13 flavors
| Flavor | Status |
|---|---|
| r-devel-linux-x86_64-debian-clang | NOTE |
| r-devel-linux-x86_64-debian-gcc | NOTE |
| r-devel-linux-x86_64-fedora-clang | OK |
| r-devel-linux-x86_64-fedora-gcc | OK |
| r-devel-windows-x86_64 | OK |
| r-oldrel-macos-arm64 | OK |
| r-oldrel-macos-x86_64 | OK |
| r-oldrel-windows-x86_64 | OK |
| r-patched-linux-x86_64 | OK |
| r-release-linux-x86_64 | OK |
| r-release-macos-arm64 | OK |
| r-release-macos-x86_64 | OK |
| r-release-windows-x86_64 | OK |
Check details (2 non-OK)
CRAN incoming feasibility
Maintainer: ‘James Curran <j.curran@auckland.ac.nz>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "James",
family = "Curran",
role = c("aut", "cre"),
email = "j.curran@auckland.ac.nz"),
person(given = "Aaron",
family = "Williams",
role = "aut"),
person(given = "Jerome",
family = "Kelleher",
role = "aut"),
person(given = "Dave",
family = "Barber",
role = "aut"))
as necessary.
CRAN incoming feasibility
Maintainer: ‘James Curran <j.curran@auckland.ac.nz>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "James",
family = "Curran",
role = c("aut", "cre"),
email = "j.curran@auckland.ac.nz"),
person(given = "Aaron",
family = "Williams",
role = "aut"),
person(given = "Jerome",
family = "Kelleher",
role = "aut"),
person(given = "Dave",
family = "Barber",
role = "aut"))
as necessary.
Check History
NOTE 12 OK · 2 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Apr 22, 2026
CRAN incoming feasibility
Maintainer: ‘James Curran <j.curran@auckland.ac.nz>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "James",
family = "Curran",
role = c("aut", "cre"),
...[truncated]...
person(given = "Jerome",
family = "Kelleher",
role = "aut"),
person(given = "Dave",
family = "Barber",
role = "aut"))
as necessary.
CRAN incoming feasibility
Maintainer: ‘James Curran <j.curran@auckland.ac.nz>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "James",
family = "Curran",
role = c("aut", "cre"),
...[truncated]...
person(given = "Jerome",
family = "Kelleher",
role = "aut"),
person(given = "Dave",
family = "Barber",
role = "aut"))
as necessary.
ERROR 11 OK · 2 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE Apr 18, 2026
CRAN incoming feasibility
Maintainer: ‘James Curran <j.curran@auckland.ac.nz>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "James",
family = "Curran",
role = c("aut", "cre"),
...[truncated]...
person(given = "Jerome",
family = "Kelleher",
role = "aut"),
person(given = "Dave",
family = "Barber",
role = "aut"))
as necessary.
CRAN incoming feasibility
Maintainer: ‘James Curran <j.curran@auckland.ac.nz>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "James",
family = "Curran",
role = c("aut", "cre"),
...[truncated]...
person(given = "Jerome",
family = "Kelleher",
role = "aut"),
person(given = "Dave",
family = "Barber",
role = "aut"))
as necessary.
whether package can be installed
Installation failed. See 'd:/Rcompile/CRANpkg/local/4.6/multicool.Rcheck/00install.out' for details.
NOTE 12 OK · 2 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026
CRAN incoming feasibility
Maintainer: ‘James Curran <j.curran@auckland.ac.nz>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "James",
family = "Curran",
role = c("aut", "cre"),
...[truncated]...
person(given = "Jerome",
family = "Kelleher",
role = "aut"),
person(given = "Dave",
family = "Barber",
role = "aut"))
as necessary.
CRAN incoming feasibility
Maintainer: ‘James Curran <j.curran@auckland.ac.nz>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "James",
family = "Curran",
role = c("aut", "cre"),
...[truncated]...
person(given = "Jerome",
family = "Kelleher",
role = "aut"),
person(given = "Dave",
family = "Barber",
role = "aut"))
as necessary.