DasBetterR
bachmeier
no at spam.net
Mon Jul 31 21:36:45 UTC 2023
On Friday, 7 July 2023 at 21:54:12 UTC, jmh530 wrote:
> Cool.
>
> The main thing I want to try is rstan. They have an interface
> called cmdstan that you can call from the command line that
> would be possible to use with D. The problem is that you have
> to write the data to a CSV file and then read it. So it would
> be kind of slow and I never got around to playing around with
> it in D. With your tool as it is, I would just have to copy the
> data in memory, which I would expect not to be as bad of an
> overhead as IO (but again haven't gotten around to do anything
> with it).
I just pushed an update with a minimal example of how to call
RStan with the following workflow:
- Allocate a double[] in D and fill it with data.
- Use a custom allocator to pass a pointer to the double[] to R.
- Call RStan functions using the data.
- Pull the results into D.
Note that:
- This is the first I've used RStan. My previous (limited) usage
of Stan was at the command line. In practice, you'd want to
create a better interface, so that it feels like D rather than
passing strings of code around. I'm not familiar enough with
RStan to do that.
- The custom allocator requires leaving 80 bits immediately
preceding the data free for R to store its metadata related to
the vector. There's no way around that as R would not know what
to do without the metadata.
https://github.com/bachmeil/betterr/blob/main/testing/teststan.d
More information about the Digitalmars-d-announce
mailing list