Coverage report: 100%

Files Functions Classes

coverage.py v7.15.4, created at 2026-08-15 07:01 +0000

File function   statements missing excluded   coverage
src/nncg/__init__.py (no function)   12 0 0   100%
src/nncg/_active_set.py _init_active_set   3 0 0   100%
src/nncg/_active_set.py _violators   3 0 0   100%
src/nncg/_active_set.py _pivot   12 0 0   100%
src/nncg/_active_set.py _init_run_state   4 0 0   100%
src/nncg/_active_set.py _solve_free_set   8 0 0   100%
src/nncg/_active_set.py _drive   19 0 0   100%
src/nncg/_active_set.py (no function)   16 0 0   100%
src/nncg/_equality.py _saddle_solve   12 0 0   100%
src/nncg/_equality.py (no function)   6 0 2   100%
src/nncg/api.py _resolve_inner   8 0 0   100%
src/nncg/api.py _as_operator   3 0 0   100%
src/nncg/api.py solve_nnqp   3 0 0   100%
src/nncg/api.py solve_nnqp_eq   3 0 0   100%
src/nncg/api.py solve_nnqp_mprgp   2 0 0   100%
src/nncg/api.py (no function)   17 0 0   100%
src/nncg/certificate.py _require_operator   5 0 0   100%
src/nncg/certificate.py kkt_violation   3 0 0   100%
src/nncg/certificate.py (no function)   6 0 0   100%
src/nncg/inner.py _default_krylov   1 0 0   100%
src/nncg/inner.py _pcg_block   1 0 0   100%
src/nncg/inner.py _same_free_block   1 0 0   100%
src/nncg/inner.py _raise_if_singular   4 0 0   100%
src/nncg/inner.py Exact.solve   5 0 0   100%
src/nncg/inner.py CG.solve   1 0 0   100%
src/nncg/inner.py Jacobi.solve   1 0 0   100%
src/nncg/inner.py Nystrom.solve   2 0 0   100%
src/nncg/inner.py GlobalNystrom._ensure_sketch   6 0 0   100%
src/nncg/inner.py GlobalNystrom.solve   2 0 0   100%
src/nncg/inner.py (no function)   40 0 0   100%
src/nncg/krylov.py _resolve_precond   1 0 0   100%
src/nncg/krylov.py _pcg_start   4 0 0   100%
src/nncg/krylov.py pcg   23 0 0   100%
src/nncg/krylov.py (no function)   18 0 0   100%
src/nncg/mprgp.py _free_gradient   1 0 0   100%
src/nncg/mprgp.py _chopped_gradient   1 0 0   100%
src/nncg/mprgp.py _reduced_free_gradient   1 0 0   100%
src/nncg/mprgp.py _max_feasible_step   4 0 0   100%
src/nncg/mprgp.py _initial_iterate   3 0 0   100%
src/nncg/mprgp.py _stopping_threshold   1 0 0   100%
src/nncg/mprgp.py _cg_step   5 0 0   100%
src/nncg/mprgp.py _expansion_step   6 0 0   100%
src/nncg/mprgp.py _proportioning_step   5 0 0   100%
src/nncg/mprgp.py _proportional_step   8 0 0   100%
src/nncg/mprgp.py _resolve_alpha_bar   7 0 0   100%
src/nncg/mprgp.py MPRGPConfig.__post_init__   3 0 0   100%
src/nncg/mprgp.py MPRGP.solve   4 0 0   100%
src/nncg/mprgp.py _mprgp   22 0 0   100%
src/nncg/mprgp.py (no function)   46 0 0   100%
src/nncg/preconditioners.py NystromConfig.__post_init__   3 0 0   100%
src/nncg/preconditioners.py _free_matvec   1 0 0   100%
src/nncg/preconditioners.py _jacobi   10 0 0   100%
src/nncg/preconditioners.py _nystrom_sketch   10 0 0   100%
src/nncg/preconditioners.py _check_captured   4 0 0   100%
src/nncg/preconditioners.py _nystrom_shift   9 0 0   100%
src/nncg/preconditioners.py _nystrom   15 0 0   100%
src/nncg/preconditioners.py _nystrom.apply   2 0 0   100%
src/nncg/preconditioners.py _global_nystrom_sketch   10 0 0   100%
src/nncg/preconditioners.py _masked_nystrom   7 0 0   100%
src/nncg/preconditioners.py _masked_nystrom.apply   3 0 0   100%
src/nncg/preconditioners.py (no function)   28 0 0   100%
src/nncg/solver.py InnerSolver.solve   0 0 1   100%
src/nncg/solver.py ActiveSetSolver.solve   4 0 0   100%
src/nncg/solver.py ActiveSetSolver.solve.sub_solve   2 0 0   100%
src/nncg/solver.py ActiveSetSolver.solve.reduced_gradient   1 0 0   100%
src/nncg/solver.py ActiveSetSolver.solve_eq   4 0 0   100%
src/nncg/solver.py ActiveSetSolver.solve_eq.sub_solve   1 0 0   100%
src/nncg/solver.py ActiveSetSolver.solve_eq.reduced_gradient   2 0 0   100%
src/nncg/solver.py ActiveSetSolver._run   3 0 0   100%
src/nncg/solver.py (no function)   34 0 2   100%
Total     525 0 5   100%

No items found using the specified filter.