multicool
About multicool
|
GIT repository accessThe GIT repository for this project can be cloned using
git clone --recursive https://github.com/jmcurran/multicool multicool
see also multicool GitHub repository.
To install the latest development snapshot of this package, use install.packages("multicool",,"http://rforge.net/",type="source")
Binaries (if avalable) can be installed using install.packages("multicool",,"http://rforge.net/")
Most recent GIT commitsfbdd3489| James Curran | Tue Oct 20 09:59:31 2026 +1300 Faster allPerm: map elements in C++, skip state copies (1.0.1.003) - allPerm writes element values straight into the result matrix via a templated fillPerms<RTYPE>() for integer, double, logical and character elements; classed and complex vectors fall back to mapping codes in R. - Split hasNext() into advance() (pointer moves only) and setState(), so allPerm walks the list directly into an uninitialised matrix. - initMC keeps integer input as integer, so allPerm returns an integer matrix for integer input. - 10-32x faster than CRAN 1.0.1 on the Stack Overflow 22569176 permutation benchmarks; now 1.4-1.9x single-threaded RcppAlgos. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> M CLAUDE.md M DESCRIPTION M NEWS.md M R/allPerm.R M R/initMC.r M src/multicool.cpp 2d999eda| James Curran | Tue Oct 20 08:21:57 2026 +1300 Exact counts with gmp, C++ cleanup and bug fixes (1.0.1.002) - Stirling2/S2, Bell/B and multinom now return exact gmp bigz values; multinom(useDouble = TRUE) converts the exact result. Fixes silent overflow (much earlier on Windows, where long is 32 bits). - Remove Dave Barber's multinomial.h (very slow for large sums) and drop him from Authors@R; acknowledged in the new NEWS.md. - initMC: fix non-whole numbers permuting counts instead of values; keep input type; error on length < 2 or NA input. - genComp: validate n (n <= 0 crashed R), fix NULL result when len > n, and make generateCompositions linear instead of quadratic. - Multicool class: fix memory leak, use std::vector storage with copying disabled, check input is sorted, allPerm fills an IntegerMatrix directly and no longer resets nextPerm. - Switch NAMESPACE to roxygen2, register native routines, use Authors@R. - Add CLAUDE.md; exclude it and Dropbox conflict files from the build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> M .Rbuildignore A CLAUDE.md M DESCRIPTION M NAMESPACE A NEWS.md M R/RcppExports.R M R/Stirling2.R M R/allPerm.R M R/genComp.R M R/initMC.r A R/multicool-package.R M R/multinom.R M R/nextPerm.R M R/zzz.R M man/Bell.Rd M man/Stirling2.Rd M man/genComp.Rd M man/initMC.Rd A man/multicool-package.Rd M man/multinom.Rd M man/nextPerm.Rd M multicool.Rproj M src/RcppExports.cpp M src/compositions.cpp M src/multicool.cpp D src/multinomial.h e1a805e7| jmcurran | Mon Feb 5 14:21:37 2024 +1300 Updated roxygen stuff so that everything is automatically generated (namespace etc.) M NAMESPACE M R/Stirling2.R M R/zzz.R M man/Bell.Rd M man/Stirling2.Rd 4f96c435| jmcurran | Mon Feb 5 13:50:03 2024 +1300 Updated description to include links (Olivroy) and something in initMC (but I don't remember what) M DESCRIPTION M R/initMC.r M man/initMC.Rd 2a2e9643| Merge: e70cb16 7950e1b James Curran | Mon Feb 5 13:35:36 2024 +1300 Merge pull request #3 from olivroy/patch-1 Add links to DESCRIPTION |