Dear all,
I wanted to quickly advertise a new-ish (<1 year) R interface to FLINT, namely the R package 'flint', which can be installed from CRAN with install.packages("flint").
The package extends R with classes (ulong, slong, fmpz, fmpq, mag, arf, acf, arb, acb) suitable for representing vectors, matrices, and more general arrays of the underlying C type. A basic design goal has been complete interoperability with basic R vectors, meaning that operators automatically promote arguments when classes are mixed. And by providing methods for R's many generic functions, the package ensures that users are able to write entirely idiomatic R code.
The interface is hardly complete, and it is intended that R functions mirroring entry points in the C library will be added mainly "by request" of interested users.
I also write to politely request a bit of notice about major ABI-breaking changes in the C library, such as the recent change from 'rows' to 'stride' in the matrix types. I am able to adapt on my end with additional configure tests, but ideally those changes would occur ahead of the ABI-breaking FLINT release, so that CRAN does not see a disruption. (CRAN removes packages that fail to compile and pass all tests on any of its platforms.)
That's all for now. Once I've expanded the documentation a bit, I may ping to ask that some usage examples are included at
https://flintlib.org/doc/.
Thanks for all of your work on this project.
Mikael Jagan