# MATLAB / Octave binding The MATLAB/Octave binding lives in `bindings/matlab` and exposes the `+pls4all` namespace over the public `libn4m` C ABI. Current public surface: - `pls4all.version` - `pls4all.pls_fit` - `pls4all.snv_transform` - `pls4all.savgol_transform` - `pls4all.kennard_stone_split` - generated method/model wrappers backed by `n4m_method_fit_mex` and `n4m_model_fit_mex` The Octave path is CI-gated by `.github/workflows/cross-binding-parity.yml`, which builds `libn4m`, compiles the MEX shims with `bindings/matlab/build_mex.m`, and runs `bindings/matlab/test/test_parity.m`. MATLAB uses the same source package and is checked manually for release because GitHub-hosted runners do not provide a MATLAB license. See `bindings/matlab/README.md` for build commands and examples.