This week, I worked on debugging the wrapped code and refactored the code responsible for generating the R6 fields (private, public and active) in a proper syntactical manner. Most of the bugs were mainly syntax related like missing “;” between two function declarations in the public section, missing declaration of R6 fields, etc.
Continuing with the previous week’s work, I wrapped the methods using nested data structures like dict & list, overloaded methods and LibCppTest attributes containing raw pointers. I wrote additional tests to check the wrappers associated with above cases.
Unit tests for libcpp_test file
Automated Generation of R wrapper for libcpp_test
Strategy to automate R wrapper generation
The wrapper script is available here
This week features an attempt to provide reticulate wrappers for the C++ constructs provided by the libcpp_test script of autowrap tool which automates generation of python bindings by making use of pxd files which contain cython declarations of c++ classes and methods.
This week features an attempt aimed towards addressing the issue of using 64 bit integers in R. As, OpenMS utilizes 64 bit integers as an example to store unique feature IDs. This issue can also be solved by storing these IDs as “integer64” objects (of bit64 package) but many tidyverse packages like ggplot2 don’t support the integer64 type. Moreover, bit64 package cannot be used for representing 64 bit integers.