# sitmo 2.0.2 (CRAN)

Parallel Pseudo Random Number Generator (PPRNG) 'sitmo' Header Files

[Record of 2.0.2](/cran/sitmo/v/2.0.2.md) | Compare: [With 2.0.1](/cran/sitmo/compare/2.0.1...2.0.2.md), [With another package](/compare/sitmo.md#add), [Downloads](/downloads/compare/sitmo.md#add) | [Licences](/cran/sitmo/licences.md) | [SBOM](/cran/sitmo/sbom.md)

Install from CRAN: `install.packages("sitmo")`

Also from:

- r2u (Ubuntu binaries): `sudo apt install r-cran-sitmo` _Listed from recorded download activity on this channel, not from a live index, so read it as last known. Bioconductor packages are named r-bioc-<name> there._
- Fedora COPR (iucar/cran): `sudo dnf install R-CRAN-sitmo` _A rebuild of what CRAN lists, so it can lag CRAN by a rebuild._
- autoCRAN (openSUSE): `sudo zypper install R-sitmo` _Listed from recorded download activity on this channel, not from a live index, so read it as last known._
- conda-forge: `conda install -c conda-forge r-sitmo` _Listed from recorded download activity on this channel, not from a live index, so read it as last known._

- CRAN checks: All OK (13 platforms)
- CRAN 30-day downloads: 51,894 (down 1.3% on the 30 days before, the worse direction)
- Dependent packages: 7 (111 more indirectly)
- Test coverage: No tests (nothing to run)
- Advisories: None known

## About

[Method](/about/licenses.md)

Provided within are two high quality and fast PPRNGs that may be used in an 'OpenMP' parallel environment. In addition, there is a generator for one dimensional low-discrepancy sequence.

**Full description**

Provided within are two high quality and fast PPRNGs that may be used in an 'OpenMP' parallel environment. In addition, there is a generator for one dimensional low-discrepancy sequence. The objective of this library to consolidate the distribution of the 'sitmo' (C++98 & C++11), 'threefry' and 'vandercorput' (C++11-only) engines on CRAN by enabling others to link to the header files inside of 'sitmo' instead of including a copy of each engine within their individual package. Lastly, the package contains example implementations using the 'sitmo' package and three accompanying vignette that provide additional information.

- Maintainer: James Balamuta
- Licence: [MIT + file LICENSE](/licences/MIT.md)
- Latest release: 13 Oct 2021
- First release: 19 Mar 2016

- [Website](http://thecoatlessprofessor.com/projects/sitmo/)
- [CRAN page](https://cran.r-project.org/package=sitmo)
- [Source repository](https://github.com/coatless/sitmo)
- [Issues](https://github.com/coatless/sitmo/issues)
- [Source of every release](https://github.com/cran/sitmo)

[Compare with another package](/compare/sitmo.md#add)

**More details**

- Releases: 8
- Needs compilation: Yes
- Needs R: >= 3.2.0
- RoxygenNote: 7.1.1

**Task views (1)**

- [High-Performance and Parallel Computing with R](/topics/cran/HighPerformanceComputing.md)

**Subjects (1) [Method](/about/subjects.md#found)**

- [Random number generation](/topics/subjects/random-number-generation.md)

**Cite**

#### Package

Run in R for the authors' preferred citation:

`citation("sitmo")`

APA: Balamuta, J., Stubner, R., & van den Berg, T. (2021). sitmo: Parallel Pseudo Random Number Generator (PPRNG) 'sitmo' Header
Files (Version 2.0.2) [Computer software]. https://doi.org/10.32614/CRAN.package.sitmo

BibTeX:

```
@Manual{sitmo,
  title  = {sitmo: Parallel Pseudo Random Number Generator (PPRNG) 'sitmo' Header
Files},
  author = {Balamuta, James and Stubner, Ralf and van den Berg, Thijs},
  year   = {2021},
  note   = {R package version 2.0.2},
  doi    = {10.32614/CRAN.package.sitmo},
  url    = {https://CRAN.R-project.org/package=sitmo}
}
```

This package has no citation file, so `citation()` returns this entry built from `DESCRIPTION`.

#### R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA: Balamuta, J. J. (2026). R Observatory: Metrics for sitmo version 2.0.2 [Data set]. HJJB, LLC. Data release v2026-10-30. https://doi.org/10.5281/zenodo.21843040

BibTeX:

```
@misc{robservatorysitmo,
  author    = {Balamuta, James Joseph},
  title     = {{R} {Observatory}: Metrics for {sitmo} version 2.0.2},
  year      = {2026},
  publisher = {HJJB, LLC},
  doi       = {10.5281/zenodo.21843040},
  url       = {https://r-observatory.thecoatlessprofessor.com/packages/sitmo},
  note      = {Data set. Data release v2026-10-30}
}
```

From data release v2026-10-30, which the citation names so these numbers can be found later.

## Health

[Method](/about/checks-health.md)

All 13 check platforms pass.

13 CRAN platforms: 13 OK.

Platforms now:

- r-devel-linux-x86_64-debian-clang: OK
- r-devel-linux-x86_64-debian-gcc: OK
- 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

#### Over time

No change since 4 Aug 2026

**As a list (5)**

| Changed | Worst status | OK | Notes | Warnings | Errors |
| --- | --- | ---: | ---: | ---: | ---: |
| 4 Aug 2026 | OK | 13 | 0 | 0 | 0 |
| 1 Aug 2026 | Note | 12 | 1 | 0 | 0 |
| 22 Apr 2026 | OK | 14 | 0 | 0 | 0 |
| 18 Apr 2026 | Error | 13 | 0 | 0 | 1 |
| 10 Mar 2026 | OK | 14 | 0 | 0 | 0 |

Since March 2026

[Check results on CRAN](https://cran.r-project.org/web/checks/check_results_sitmo.html)

## Downloads

[Method](/about/downloads.md)

- Downloads in the last 30 days: 94,272 (up 14.5% on the 30 days before, the better direction. It is the sum of 5 channels: CRAN, r2u, autoCRAN, conda-forge and c2d4u.)

CRAN alone: rank among CRAN packages, last 30 days: 481 of 26,581.

| Channel | Downloads in the last 30 days | In the total | Rank in that channel | Change |
| --- | ---: | --- | --- | --- |
| CRAN | 51,894 | yes | 481 of 26,581 | down 1.3% on the 30 days before, the worse direction |
| r2u | 12,911 | yes | 266 of 30,526 | up 196% on the 30 days before, the better direction |
| autoCRAN | 7 | yes | 7,733 of 29,259 | down 46.2% on the 30 days before, the worse direction |
| conda-forge | 29,319 | yes | 254 of 3,828 | up 17.6% on the 30 days before, the better direction |
| c2d4u | 141 | yes | 279 of 7,575 | down 66.8% on the 30 days before, the worse direction |

Other windows: [Last 90 days](/cran/sitmo.md?win=90d#downloads), [Last 365 days](/cran/sitmo.md?win=365d#downloads), [All time](/cran/sitmo.md?win=all#downloads).

To leave channels out of the total, name them in the address, joined by dots: `?off=conda_forge.c2d4u`.

#### Over time

Downloads over time, the last 12 whole months:

| Month | CRAN | r2u | autoCRAN | conda-forge | c2d4u | Sum |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| Oct 2025 | 49,785 | 1,419 | no figure | 12,125 | 21 | 63,350 |
| Nov 2025 | 50,163 | 1,175 | no figure | 12,899 | 20 | 64,257 |
| Dec 2025 | 40,875 | 1,266 | no figure | 10,165 | 44 | 52,350 |
| Jan 2026 | 42,548 | 1,011 | no figure | 12,211 | 10 | 55,780 |
| Feb 2026 | 39,746 | 1,218 | no figure | 12,320 | 26 | 53,310 |
| Mar 2026 | 48,072 | 1,409 | no figure | 14,866 | 28 | 64,375 |
| Apr 2026 | 67,731 | 1,288 | no figure | 17,661 | 35 | 86,715 |
| May 2026 | 50,583 | 1,314 | no figure | 16,178 | 3 | 68,078 |
| Jun 2026 | 47,477 | 1,550 | no figure | 17,449 | no figure | 66,476 |
| Jul 2026 | 57,440 | 1,509 | no figure | 26,765 | 83 | 85,797 |
| Aug 2026 | 48,790 | 4,388 | 22 | 25,317 | 424 | 78,941 |
| Sep 2026 | 52,753 | 12,876 | 13 | 29,319 | 138 | 95,099 |

First day on record: CRAN 19 Mar 2016, r2u 7 May 2022, autoCRAN 2 Jul 2026, conda-forge 4 Jun 2019, c2d4u 5 Apr 2018 (no longer updated).

Every channel here counts downloads, so the channels can be stacked and summed for one period. Each channel counts in its own way and covers a different span of years, so read a sum as a rough total, and read a rise where a channel begins as that channel starting, not as growth.

Weeks start on Monday. A first or last week or month that the channel does not cover in full is left out, so every point is a whole period.

Days with no record add nothing to their week or month. For a little-used package that is usually a day with no downloads, but it can also be a gap in collection.

[Compare downloads](/downloads/compare/sitmo.md#add)

## Dependencies

[Method](/about/reverse-dependencies.md)

- Needs: 1
- Dependent packages: 7
- Suggested by: 0

**Needs (1)**

- [Rcpp](/cran/Rcpp.md)

- Installing it adds: 1 package, 1.8 MB of source
- Of those, need compilation: 1

**Optional extras (3)**

- [ggplot2](/cran/ggplot2.md)
- [knitr](/cran/knitr.md)
- [rmarkdown](/cran/rmarkdown.md)

**Dependent packages (7)**

| Package | Title | Downloads in 30 days |
| --- | --- | ---: |
| [dqrng](/cran/dqrng.md) | Fast Pseudo Random Number Generators | 56,558 |
| [rxode2](/cran/rxode2.md) | Facilities for Simulating from ODE-Based Models | 3,552 |
| [rnndescent](/cran/rnndescent.md) | Nearest Neighbor Descent Method for Approximate Nearest Neighbors | 2,246 |
| [bssm](/cran/bssm.md) | Bayesian Inference of Non-Linear and Non-Gaussian State Space Models | 2,096 |
| [desla](/cran/desla.md) | Desparsified Lasso Inference for Time Series | 407 |
| [mums2](/cran/mums2.md) | Microbial Ecology by Tandem Mass Spectrometry | 300 |
| [CautiousLearning](/cran/CautiousLearning.md) | Control Charts with Guaranteed In-Control Performance and Cautious Parameters Learning | 232 |

## Code

[Method](/about/code-metrics.md)

Selected function: `sitmo_two_seeds`

- Kind: Public R function
- File: R/RcppExports.R, line 74
- Lines: 3
- Complexity: 1

Called by 1: [`seeds`](/cran/sitmo.md?fn=seeds&view=focus#code)

Calls 3: [`o`](/cran/sitmo.md?fn=o&view=focus#code), [`seed`](/cran/sitmo.md?fn=seed&view=focus#code), [`seeds`](/cran/sitmo.md?fn=seeds&view=focus#code)

Paths: 2 steps each way.

Called by 1:

- [`seeds`](/cran/sitmo.md?fn=seeds&view=focus#code), called by 1
  - [`sitmo_two_seeds`](/cran/sitmo.md?fn=sitmo_two_seeds&view=focus#code), called by 1

Calls 3:

- [`o`](/cran/sitmo.md?fn=o&view=focus#code), calls 1
  - [`eng`](/cran/sitmo.md?fn=eng&view=focus#code), calls 3
- [`seed`](/cran/sitmo.md?fn=seed&view=focus#code)
- [`seeds`](/cran/sitmo.md?fn=seeds&view=focus#code), calls 1
  - [`sitmo_two_seeds`](/cran/sitmo.md?fn=sitmo_two_seeds&view=focus#code), calls 3

The open file in the files map is `R/RcppExports.R`.

- Functions: 7
- Lines: 21
- Calls that stay inside it: 0
- Calls to other files: 3, to 2
- Calls from other files: 1, from 1

It calls: `src/RcppExports.cpp` (2 calls), `src/sitmo_demo.cpp` (1 call)

Called from: `src/RcppExports.cpp` (1 call)

| Function in RcppExports.R | Calls in other files |
| --- | --- |
| [`sitmo_two_seeds`](/cran/sitmo.md?fn=sitmo_two_seeds&view=focus#code) selected | [`o`](/cran/sitmo.md?fn=o&view=focus#code), [`seed`](/cran/sitmo.md?fn=seed&view=focus#code), [`seeds`](/cran/sitmo.md?fn=seeds&view=focus#code) |
| [`runif_r`](/cran/sitmo.md?fn=runif_r&view=focus#code) | nothing outside this file |
| [`runif_sitmo`](/cran/sitmo.md?fn=runif_sitmo&view=focus#code) | nothing outside this file |
| [`sitmo_draws`](/cran/sitmo.md?fn=sitmo_draws&view=focus#code) | nothing outside this file |
| [`sitmo_engine_reset`](/cran/sitmo.md?fn=sitmo_engine_reset&view=focus#code) | nothing outside this file |

**More functions (2)**

| Function in RcppExports.R | Calls in other files |
| --- | --- |
| [`sitmo_engine_seed`](/cran/sitmo.md?fn=sitmo_engine_seed&view=focus#code) | nothing outside this file |
| [`sitmo_parallel`](/cran/sitmo.md?fn=sitmo_parallel&view=focus#code) | nothing outside this file |


The whole package has 14 function names in 3 files and 8 calls between them. Most calls between files: `R/RcppExports.R` and `src/RcppExports.cpp` (3 calls), `src/RcppExports.cpp` and `src/sitmo_demo.cpp` (2 calls), `R/RcppExports.R` and `src/sitmo_demo.cpp` (1 call).

Graph: the whole call graph has 6 function names that take part in a call and 8 calls between them, set out in 2 layers with callers before what they call. Of these calls, 2 close a loop and run the other way. 8 function names have no calls and are left out. Called by the most functions: `o` (2), `seed` (2), `max` (1), `eng` (1), `sitmo_two_seeds` (1). Calling the most functions: `eng` (3), `sitmo_two_seeds` (3), `o` (1), `seeds` (1), `max` (0).

Most connected functions: [`sitmo_two_seeds`](/cran/sitmo.md?fn=sitmo_two_seeds&view=focus#code) 4

To select another function, add ?fn=NAME to this address.

The call graph also has an address of its own: /cran/sitmo/graph.md?fn=sitmo_two_seeds&view=focus

- Functions: 22
- Public exports: 7
- Lines of R code: 144
- Median complexity: 1

**Functions (22)**

| Function (sorted, low to high) | Kind | File | Lines | Complexity |
| --- | --- | --- | ---: | ---: |
| [`runif_r`](/cran/sitmo.md?fn=runif_r#code) | Public | R/RcppExports.R | 3 | 1 |
| [`runif_sitmo`](/cran/sitmo.md?fn=runif_sitmo#code) | Public | R/RcppExports.R | 3 | 1 |
| [`sitmo_draws`](/cran/sitmo.md?fn=sitmo_draws#code) | Public | R/RcppExports.R | 3 | 1 |
| [`sitmo_engine_reset`](/cran/sitmo.md?fn=sitmo_engine_reset#code) | Public | R/RcppExports.R | 3 | 1 |
| [`sitmo_engine_seed`](/cran/sitmo.md?fn=sitmo_engine_seed#code) | Public | R/RcppExports.R | 3 | 1 |
| [`sitmo_parallel`](/cran/sitmo.md?fn=sitmo_parallel#code) | Public | R/RcppExports.R | 3 | 1 |
| [`sitmo_two_seeds`](/cran/sitmo.md?fn=sitmo_two_seeds#code) | Public | R/RcppExports.R | 3 | 1 |
| [`R_init_sitmo`](/cran/sitmo.md?fn=R_init_sitmo#code) |  | src/RcppExports.cpp | 4 |  |
| [`eng`](/cran/sitmo.md?fn=eng#code) |  | src/sitmo_demo.cpp | 15 |  |
| [`eng`](/cran/sitmo.md?fn=eng#code) |  | src/sitmo_demo.cpp | 23 |  |
| [`eng`](/cran/sitmo.md?fn=eng#code) |  | src/sitmo_parallel.cpp | 37 |  |
| [`eng`](/cran/sitmo.md?fn=eng#code) |  | src/sitmo_runif.cpp | 16 |  |

This page lists 1 to 12 of 22 functions. [Next](/cran/sitmo.md?sort=name&order=asc&fpage=2#functions)

**Size and composition**

#### Lines by kind (5,197)

| Kind | Lines | Share |
| --- | ---: | ---: |
| R code | 144 | 3% |
| Documentation | 238 | 5% |
| Guides | 4,427 | 85% |
| Compiled code | 388 | 7% |

#### Lines by language

| Language | Lines | Share |
| --- | ---: | ---: |
| Vignettes | 4,427 | 85% |
| C++ | 388 | 8% |
| Rd | 238 | 5% |
| R | 144 | 3% |

Languages are counted from file extensions.

- Files: 37
- R functions: 7
- Compiled functions: 15

**Complexity**

- Median: 1
- Mean: 1
- Highest: 1
- Median lines per function: 3

_About complexity: Cyclomatic complexity counts the independent paths through a function: 1 is a straight line, higher is harder to test. R functions only._

**Call graph figures**

- R functions: 7
- Calls: 0
- Unconnected: 7
- Groups: 0

**Growth (8 releases)**

Total lines by release: from 5,082 (on 19 Mar 2016) to 5,197 (on 13 Oct 2021). The lowest is 5,082 and the highest is 5,197.

**Release changes**

[Both releases side by side](/cran/sitmo/compare/2.0.1...2.0.2.md)

**2.0.1 to 2.0.2**, 7 Jan 2019 to 13 Oct 2021

- Files changed: 17
- Lines added: 4,895
- Lines deleted: 4,816
- Exports: No change

**Changed measures (3)**

| Measure | Subject | Before | After |
| --- | --- | ---: | ---: |
| Total lines | Structure | 5,192 | 5,197 |
| Lines of compiled code | Structure | 383 | 388 |
| Compiled share | Languages | 7% | 7% |

**Most changed files (12 of 17)**

| File | Lines added | Lines deleted |
| --- | ---: | ---: |
| `inst/doc/big_crush_test.html` | 3,825 | 3,981 |
| `inst/doc/sitmo_internals.html` | 338 | 493 |
| `inst/doc/sitmo_internals.R` | 535 | 0 |
| `inst/doc/uniform_rng_with_sitmo.html` | 138 | 294 |
| `MD5` | 15 | 16 |
| `README.md` | 12 | 13 |
| `NEWS.md` | 11 | 0 |
| `DESCRIPTION` | 4 | 5 |
| `inst/doc/uniform_rng_with_sitmo.R` | 3 | 3 |
| `src/RcppExports.cpp` | 5 | 0 |
| `inst/doc/big_crush_test.Rmd` | 2 | 2 |
| `inst/doc/sitmo_internals.Rmd` | 2 | 2 |

## Tests

[Method](/about/coverage.md)

The package was built and has no tests to run.

- Lines of tests: 0
- Exports named in tests: 0%

**Test suite**

- Has tests: No
- Test frameworks: No tests in this release
- Test lines per line of code: 0

## Documentation

[Method](/about/code-metrics.md)

- Exports documented: 100%
- Arguments documented: 100%
- Return value documented: 85.7%
- Help pages with examples: 87.5%
- Examples run in checks: 100%

**Guides (3)**

- [`sitmo`'s BigCrush Results](https://cran.r-project.org/web/packages/sitmo/vignettes/big_crush_test.html)
- [Deployment of `sitmo` within C++ Code](https://cran.r-project.org/web/packages/sitmo/vignettes/sitmo_internals.html)
- [Making a Uniform PRNG with `sitmo`](https://cran.r-project.org/web/packages/sitmo/vignettes/uniform_rng_with_sitmo.html)

**Other documentation**

- README: Yes, 419 words
- Release notes file: Yes
- Help pages: 8
- Lines of documentation: 238

## People

[Method](/about/author-identity.md)

- [James Balamuta](/people/James+Balamuta.md): Maintainer since 1.0.0 (2016), author, copyright holder. ORCID https://orcid.org/0000-0003-2826-8458
- [Ralf Stubner](/people/Ralf+Stubner.md): Contributor
- [Thijs van den Berg](/people/Thijs+van+den+Berg.md): Author, copyright holder

## Repository

[Method](/about/repo-signals.md#figures)

[coatless-rpkg](/repos/coatless-rpkg.md) / [sitmo](https://github.com/coatless-rpkg/sitmo) on github.com

- Stars: 8 (no change on 30 days ago)
- Forks: 5
- Open issues: 0
- Last commit: 26 Oct 2026

**Activity**

- Commits: 75
- Open pull requests: 0
- Tagged releases: 8
- Latest tagged release: v2.0.2, 13 Oct 2021
- Issues closed in: 0 days (median)
- Pull requests closed in: 0 days (median)
- Pull requests merged: 100%
- Created: 3 Mar 2016
- Licence file reads as: –

**Development practices (11)**

| Kind | Found |
| --- | --- |
| Continuous integration | GitHub Actions, R CMD check workflow The `R CMD check` workflow runs on Linux, macOS and Windows, and on R-devel |
| Governance and community | PR template (inherited from coatless) Funding links: GitHub Sponsors, Patreon, Buy Me a Coffee, thanks.dev |
| Docs source | README.Rmd, pkgdown GitHub Pages site last deployed 2023-11-14 The repository has a site deploy workflow |
| CRAN release process | cran-comments.md, revdep/ |
| Lint, format, editor | RStudio project |

[Across coatless-rpkg](/repos/coatless-rpkg.md#practices)

## History

[Method](/about/archive.md)

The line runs from the first release of sitmo on 19 Mar 2016 to 30 Oct 2026 and marks all 8 of its releases.

| Version | Released | R |
| --- | --- | ---: |
| [2.0.2](/cran/sitmo/v/2.0.2.md) current | 13 Oct 2021 | 4.1.1 |
| [2.0.1](/cran/sitmo/v/2.0.1.md) | 7 Jan 2019 | 3.5.2 |
| [2.0.0](/cran/sitmo/v/2.0.0.md) | 1 Jul 2018 | 3.5.0 |
| [1.2.2](/cran/sitmo/v/1.2.2.md) | 18 Nov 2017 | 3.4.2 |
| [1.2.1](/cran/sitmo/v/1.2.1.md) | 31 Jul 2017 | 3.4.1 |
| [1.2.0](/cran/sitmo/v/1.2.0.md) | 26 Jun 2017 | 3.4.0 |
| [1.1.0](/cran/sitmo/v/1.1.0.md) | 28 Apr 2017 | 3.4.0 |
| [1.0.0](/cran/sitmo/v/1.0.0.md) | 19 Mar 2016 | 3.2.4 |

**Release notes (2.0.2)**

**DEPLOYMENT**

- Switched from using TravisCI to using GitHub Actions.

**BUGFIXES**

- Addressed unbalanced chunk delimiters in vignette. (thanks [yihui/knitr#2057](https://github.com/yihui/knitr/issues/2057)!)
- Addressed compilation with Rcpp 1.0.7 introducing new stream handling.

---

R Observatory is independent of the R Project, CRAN and Bioconductor. The same page for people is at /cran/sitmo, and every address is listed at /llms.txt.
