Compatibility with changes in Stan RNG type
Nobody has claimed this yet.
- Dominant language
- R
- Stars
- 1.1k
- Forks
- 266
- Avg merge
- 2h 56m
- Merged PRs (30d)
- 1
Description
For the 2.32 -> 2.36+ transition, we need to account for the changes in Stan's rng otherwise CRAN rstan won't build against the next StanHeaders:
Module.cpp:106:21: error: no viable conversion from 'rng_t' (aka 'mixmax_engine<17, 36, 0>') to 'boost::ecuyer1988' (aka 'additive_combine_engine<linear_congruential_engine<unsigned int, 40014, 0, 2147483563>, linear_congruential_engine<unsigned int, 40692, 0, 2147483399>>')
106 | boost::ecuyer1988 rng = stan::services::util::create_rng(random_seed, id);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We could workaround this with some very minor changes: diff against CRAN rstan
@bgoodri @hsbadr do those seem reasonable to add as an update to CRAN?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at Module.cpp:106 and compare the linked CRAN rstan diff for the Stan 2.32 to 2.36+ transition. Check the workaround against the reported rng_t and boost::ecuyer1988 conversion error, then build rstan against the next StanHeaders release to confirm the compatibility issue is resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, r
- Domain
- build-system, data
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100