Repository navigation
v0.4.0
Fourth release. Closes the per-family performance gap: every lmrob-supported psi family now goes through the same Cython resampling kernel.
Added
- Cython fast path for all five lmrob-supported psi families.
hampel,optimal,lqq, andggwnow share the same nogil C kernel as bisquare. ggw brings the six polynomial chi coefficient tables and the_GGW_ABC(a, b, c) lookup over from_psi.pyxso the iteration body stays nogil. Uniform per-iteration runtime at n=500/p=10/nR=500: ~110-180 ms across families (down from 200-280 ms on the v0.3.0 NumPy path for the non-bisquare families). Stackloss element-wise parity vs R is preserved for all families. - Read the Docs config (
.readthedocs.yaml). Builds the Sphinx site on every push and PR. Ubuntu 22.04 + Python 3.11 with libopenblas/liblapack apt packages.fail_on_warning: truekeeps doc breakage visible in CI.
Known limitations
- The survivor-refinement loop (
_refine_to_convergence) and the subset-draw RNG are still pure Python. Closing them would shrink the remaining n=100 gap (~5x R) but requires a Cython-callable PCG64. - PyPI publishing is deferred.