Skip to content

Unify initialisations into `coot_init()`

Ryan Curtin requested to merge rcurtin/bandicoot-code:coot_init into unstable

This MR adds a standalone coot_init() function and coot_synchronise() function, which isolates the coot_rt_t struct entirely from the user. Previously a user would have to call get_rt().init() to do a custom initialisation, and get_rt().synchronise() to synchronise. With these standalone functions, there is never any reason for get_rt() to appear in user code (which is how it should be, that's an internal detail).

In addition, the first get_rt() call (e.g. when a user creates a Bandicoot matrix) will automatically perform initialisation. This means user code does not even require any specific coot_init() call, unless they want to configure the way Bandicoot is initialised. For this support, it was necessary to add an initialised member to coot_rt_t.

Merge request reports