dss-extensions / dss_matlab

MATLAB interface to our alternative implementation of OpenDSS, based on the DSS C-API library aiming for full COM compatibility on Windows, Linux and MacOS.
BSD 3-Clause "New" or "Revised" License
10 stars 2 forks source link

MEX, Octave and Context API #13

Open PMeira opened 2 years ago

PMeira commented 2 years ago

Since building MEX through GitHub Actions should now be possible, the next major release is planned to add a new MEX version of the bindings.

Much like what the current CallLib-based version, the functions from the C header are grouped by type. Enumerations, also generated from the header, complement that, so we can generate "driver" functions that include most of the boilerplate, copying the numeric arrays, and, additionally, the mapping from DSS.Error to MATLAB exceptions.

As a bonus, supporting MEX should enable Octave users to use DSS_MATLAB, as Octave doesn't support CallLib yet.

This new version will support the DSSContext API from DSS C-API, which should allow users to employ parfor (testing still required).

PMeira commented 1 year ago

I updated https://github.com/dss-extensions/dss_matlab/issues/11#issuecomment-720536625 to include some new performance notes.