Coverage report: 71%

Files Functions Classes

coverage.py v7.11.0, created at 2026-01-10 12:32 +0100

File function statements missing excluded coverage
src\pqlattice\__init__.py (no function) 4 0 0 100%
src\pqlattice\_backends\__init__.py (no function) 0 0 0 100%
src\pqlattice\_backends\_fast.py FastBackend.__init__ 2 2 0 0%
src\pqlattice\_backends\_fast.py FastBackend._to_fpylll 1 1 0 0%
src\pqlattice\_backends\_fast.py FastBackend._from_fpylll 2 2 0 0%
src\pqlattice\_backends\_fast.py FastBackend._to_flint 1 1 0 0%
src\pqlattice\_backends\_fast.py FastBackend._from_flint 1 1 0 0%
src\pqlattice\_backends\_fast.py FastBackend.lll 3 3 0 0%
src\pqlattice\_backends\_fast.py FastBackend.bkz 3 3 0 0%
src\pqlattice\_backends\_fast.py FastBackend.hkz 1 1 0 0%
src\pqlattice\_backends\_fast.py FastBackend.shortest_vector 4 4 0 0%
src\pqlattice\_backends\_fast.py FastBackend.closest_vector 4 4 0 0%
src\pqlattice\_backends\_fast.py FastBackend.hnf 3 3 0 0%
src\pqlattice\_backends\_fast.py (no function) 32 2 0 94%
src\pqlattice\_backends\_native.py NativeBackend.lll 1 1 0 0%
src\pqlattice\_backends\_native.py NativeBackend.bkz 2 2 0 0%
src\pqlattice\_backends\_native.py NativeBackend.hkz 2 2 0 0%
src\pqlattice\_backends\_native.py NativeBackend.shortest_vector 1 1 0 0%
src\pqlattice\_backends\_native.py NativeBackend.hnf 1 1 0 0%
src\pqlattice\_backends\_native.py (no function) 19 0 0 100%
src\pqlattice\_backends\_protocol.py BackendInterface.lll 0 0 1 100%
src\pqlattice\_backends\_protocol.py BackendInterface.bkz 0 0 1 100%
src\pqlattice\_backends\_protocol.py BackendInterface.hkz 0 0 1 100%
src\pqlattice\_backends\_protocol.py BackendInterface.shortest_vector 0 0 1 100%
src\pqlattice\_backends\_protocol.py BackendInterface.hnf 0 0 1 100%
src\pqlattice\_backends\_protocol.py (no function) 3 0 4 100%
src\pqlattice\_utils.py as_integer 4 1 0 75%
src\pqlattice\_utils.py as_rational 4 1 0 75%
src\pqlattice\_utils.py zeros_vec 1 1 0 0%
src\pqlattice\_utils.py zeros_mat 3 0 0 100%
src\pqlattice\_utils.py show 65 65 0 0%
src\pqlattice\_utils.py show.format_val 6 6 0 0%
src\pqlattice\_utils.py (no function) 11 0 0 100%
src\pqlattice\integer\__init__.py (no function) 6 0 0 100%
src\pqlattice\integer\_integer.py eea 0 0 1 100%
src\pqlattice\integer\_integer.py eea 0 0 1 100%
src\pqlattice\integer\_integer.py eea 3 1 0 67%
src\pqlattice\integer\_integer.py _eea 16 0 0 100%
src\pqlattice\integer\_integer.py (no function) 5 0 6 100%
src\pqlattice\integer\_modintring.py ModIntRing.__init__ 3 0 0 100%
src\pqlattice\integer\_modintring.py ModIntRing.q 1 0 0 100%
src\pqlattice\integer\_modintring.py ModIntRing.is_zero 1 1 0 0%
src\pqlattice\integer\_modintring.py ModIntRing.mod 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.mod 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.mod 1 0 0 100%
src\pqlattice\integer\_modintring.py ModIntRing.pow 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.pow 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.pow 1 0 0 100%
src\pqlattice\integer\_modintring.py ModIntRing.inv 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.inv 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.inv 1 0 0 100%
src\pqlattice\integer\_modintring.py ModIntRing.neg 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.neg 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.neg 1 1 0 0%
src\pqlattice\integer\_modintring.py ModIntRing.add 1 0 0 100%
src\pqlattice\integer\_modintring.py ModIntRing.mul 1 0 0 100%
src\pqlattice\integer\_modintring.py ModIntRing.div 1 0 0 100%
src\pqlattice\integer\_modintring.py ModIntRing.sub 1 0 0 100%
src\pqlattice\integer\_modintring.py ModIntRing.cmodl 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.cmodl 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.cmodl 1 0 0 100%
src\pqlattice\integer\_modintring.py ModIntRing.cmodr 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.cmodr 0 0 1 100%
src\pqlattice\integer\_modintring.py ModIntRing.cmodr 1 0 0 100%
src\pqlattice\integer\_modintring.py (no function) 18 0 24 100%
src\pqlattice\integer\_modring.py mod 0 0 1 100%
src\pqlattice\integer\_modring.py mod 0 0 1 100%
src\pqlattice\integer\_modring.py mod 1 0 0 100%
src\pqlattice\integer\_modring.py cmodl 0 0 1 100%
src\pqlattice\integer\_modring.py cmodl 0 0 1 100%
src\pqlattice\integer\_modring.py cmodl 1 0 0 100%
src\pqlattice\integer\_modring.py cmodr 0 0 1 100%
src\pqlattice\integer\_modring.py cmodr 0 0 1 100%
src\pqlattice\integer\_modring.py cmodr 1 0 0 100%
src\pqlattice\integer\_modring.py modinv 0 0 1 100%
src\pqlattice\integer\_modring.py modinv 0 0 1 100%
src\pqlattice\integer\_modring.py modinv 12 5 0 58%
src\pqlattice\integer\_modring.py modpow 0 0 1 100%
src\pqlattice\integer\_modring.py modpow 0 0 1 100%
src\pqlattice\integer\_modring.py modpow 9 0 0 100%
src\pqlattice\integer\_modring.py (no function) 8 0 30 100%
src\pqlattice\integer\_primality.py fermat_primality_test 9 7 0 22%
src\pqlattice\integer\_primality.py miller_rabin_primality_test 18 1 0 94%
src\pqlattice\integer\_primality.py is_prime 8 0 0 100%
src\pqlattice\integer\_primality.py (no function) 9 0 0 100%
src\pqlattice\integer\_primes.py (no function) 1 0 0 100%
src\pqlattice\lattice\__init__.py lll 1 1 0 0%
src\pqlattice\lattice\__init__.py bkz 1 1 0 0%
src\pqlattice\lattice\__init__.py hkz 1 1 0 0%
src\pqlattice\lattice\__init__.py shortest_vector 1 1 0 0%
src\pqlattice\lattice\__init__.py (no function) 12 0 0 100%
src\pqlattice\lattice\_bkz.py update_block 10 1 0 90%
src\pqlattice\lattice\_bkz.py bkz 29 0 0 100%
src\pqlattice\lattice\_bkz.py (no function) 11 0 0 100%
src\pqlattice\lattice\_cvp.py schnorr_euchner_cvp 1 1 0 0%
src\pqlattice\lattice\_cvp.py closest_vector 1 1 0 0%
src\pqlattice\lattice\_cvp.py babai_nearest_plane 8 8 0 0%
src\pqlattice\lattice\_cvp.py babai_closest_vector 1 1 0 0%
src\pqlattice\lattice\_cvp.py (no function) 13 0 0 100%
src\pqlattice\lattice\_embeddings.py lwe_basis 5 5 0 0%
src\pqlattice\lattice\_embeddings.py sis_basis 4 4 0 0%
src\pqlattice\lattice\_embeddings.py kannan 1 1 0 0%
src\pqlattice\lattice\_embeddings.py bai_galbraith 10 10 0 0%
src\pqlattice\lattice\_embeddings.py subset_sum 6 6 0 0%
src\pqlattice\lattice\_embeddings.py ntru 1 1 0 0%
src\pqlattice\lattice\_embeddings.py (no function) 14 0 0 100%
src\pqlattice\lattice\_gso.py project_coeffs 3 0 0 100%
src\pqlattice\lattice\_gso.py gso 9 0 0 100%
src\pqlattice\lattice\_gso.py (no function) 8 0 0 100%
src\pqlattice\lattice\_hkz.py hkz 1 0 0 100%
src\pqlattice\lattice\_hkz.py (no function) 5 0 0 100%
src\pqlattice\lattice\_lattice.py volume 1 0 0 100%
src\pqlattice\lattice\_lattice.py rank 1 0 0 100%
src\pqlattice\lattice\_lattice.py discriminant 2 0 0 100%
src\pqlattice\lattice\_lattice.py hadamard_ratio 1 0 0 100%
src\pqlattice\lattice\_lattice.py gaussian_heuristic 2 0 0 100%
src\pqlattice\lattice\_lattice.py glr_2dim 16 2 0 88%
src\pqlattice\lattice\_lattice.py (no function) 19 0 0 100%
src\pqlattice\lattice\_lll.py lll 20 0 0 100%
src\pqlattice\lattice\_lll.py is_size_reduced 2 2 0 0%
src\pqlattice\lattice\_lll.py lovasz_condition 5 5 0 0%
src\pqlattice\lattice\_lll.py is_lll_reduced 1 1 0 0%
src\pqlattice\lattice\_lll.py (no function) 13 0 0 100%
src\pqlattice\lattice\_svp.py schnorr_euchner_svp 43 0 0 100%
src\pqlattice\lattice\_svp.py shortest_vector 6 0 0 100%
src\pqlattice\lattice\_svp.py (no function) 9 0 0 100%
src\pqlattice\lattice\embeddings.py (no function) 2 0 0 100%
src\pqlattice\linalg\__init__.py hnf 1 1 0 0%
src\pqlattice\linalg\__init__.py (no function) 7 0 0 100%
src\pqlattice\linalg\_linalg.py hnf 2 0 0 100%
src\pqlattice\linalg\_linalg.py _hnf 36 0 0 100%
src\pqlattice\linalg\_linalg.py right_image 1 1 0 0%
src\pqlattice\linalg\_linalg.py left_image 8 8 0 0%
src\pqlattice\linalg\_linalg.py left_kernel 7 0 0 100%
src\pqlattice\linalg\_linalg.py right_kernel 1 0 0 100%
src\pqlattice\linalg\_linalg.py left_nullity 2 0 0 100%
src\pqlattice\linalg\_linalg.py right_nullity 2 0 0 100%
src\pqlattice\linalg\_linalg.py rank 5 0 0 100%
src\pqlattice\linalg\_linalg.py det 2 0 0 100%
src\pqlattice\linalg\_linalg.py minor 1 1 0 0%
src\pqlattice\linalg\_linalg.py cofactor 1 1 0 0%
src\pqlattice\linalg\_linalg.py cofactor_matrix 6 6 0 0%
src\pqlattice\linalg\_linalg.py (no function) 30 0 0 100%
src\pqlattice\linalg\_modint.py mod_ref 26 26 0 0%
src\pqlattice\linalg\_modint.py mod_rref 15 15 0 0%
src\pqlattice\linalg\_modint.py mod_left_kernel 1 1 0 0%
src\pqlattice\linalg\_modint.py mod_right_kernel 7 7 0 0%
src\pqlattice\linalg\_modint.py mod_left_image 1 1 0 0%
src\pqlattice\linalg\_modint.py mod_right_image 1 1 0 0%
src\pqlattice\linalg\_modint.py mod_left_nullity 2 2 0 0%
src\pqlattice\linalg\_modint.py mod_right_nullity 2 2 0 0%
src\pqlattice\linalg\_modint.py mod_matinv 4 4 0 0%
src\pqlattice\linalg\_modint.py (no function) 20 0 0 100%
src\pqlattice\linalg\_utils.py row_swap 1 0 0 100%
src\pqlattice\linalg\_utils.py row_scale 1 0 0 100%
src\pqlattice\linalg\_utils.py row_add 1 0 0 100%
src\pqlattice\linalg\_utils.py col_swap 1 0 0 100%
src\pqlattice\linalg\_utils.py col_scale 1 0 0 100%
src\pqlattice\linalg\_utils.py col_add 1 0 0 100%
src\pqlattice\linalg\_utils.py norm2 1 0 0 100%
src\pqlattice\linalg\_utils.py norm 1 1 0 0%
src\pqlattice\linalg\_utils.py per_row_norm2 1 0 0 100%
src\pqlattice\linalg\_utils.py per_row_norm 1 0 0 100%
src\pqlattice\linalg\_utils.py (no function) 18 0 0 100%
src\pqlattice\polynomial\__init__.py (no function) 4 0 0 100%
src\pqlattice\polynomial\_modpolyqring.py ModIntPolyQuotientRing.__init__ 3 0 0 100%
src\pqlattice\polynomial\_modpolyqring.py ModIntPolyQuotientRing.quotient 1 1 0 0%
src\pqlattice\polynomial\_modpolyqring.py ModIntPolyQuotientRing.reduce 1 0 0 100%
src\pqlattice\polynomial\_modpolyqring.py ModIntPolyQuotientRing.center_lift 1 1 0 0%
src\pqlattice\polynomial\_modpolyqring.py ModIntPolyQuotientRing.add 1 1 0 0%
src\pqlattice\polynomial\_modpolyqring.py ModIntPolyQuotientRing.sub 1 0 0 100%
src\pqlattice\polynomial\_modpolyqring.py ModIntPolyQuotientRing.mul 1 1 0 0%
src\pqlattice\polynomial\_modpolyqring.py ModIntPolyQuotientRing.inv 5 5 0 0%
src\pqlattice\polynomial\_modpolyqring.py construct_ring 13 4 0 69%
src\pqlattice\polynomial\_modpolyqring.py (no function) 22 0 0 100%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.__init__ 3 1 0 67%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.reduce 1 0 0 100%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.is_zero 1 0 0 100%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.deg 1 0 0 100%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.add 1 1 0 0%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.sub 1 0 0 100%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.mul 1 1 0 0%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.euclidean_div 11 4 0 64%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.rem 2 0 0 100%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.to_monic 2 2 0 0%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.gcd 7 7 0 0%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.eea 9 9 0 0%
src\pqlattice\polynomial\_modpolyring.py ModIntPolyRing.coprime 1 1 0 0%
src\pqlattice\polynomial\_modpolyring.py (no function) 25 0 0 100%
src\pqlattice\polynomial\_poly.py make_poly 4 1 0 75%
src\pqlattice\polynomial\_poly.py is_zero_poly 3 1 0 67%
src\pqlattice\polynomial\_poly.py deg 6 1 0 83%
src\pqlattice\polynomial\_poly.py pad 6 2 0 67%
src\pqlattice\polynomial\_poly.py trim 3 0 0 100%
src\pqlattice\polynomial\_poly.py add 2 2 0 0%
src\pqlattice\polynomial\_poly.py sub 2 0 0 100%
src\pqlattice\polynomial\_poly.py mul 1 1 0 0%
src\pqlattice\polynomial\_poly.py monomial 5 5 0 0%
src\pqlattice\polynomial\_poly.py zero_poly 3 1 0 67%
src\pqlattice\polynomial\_poly.py (no function) 24 0 0 100%
src\pqlattice\polynomial\poly.py (no function) 2 0 0 100%
src\pqlattice\random\__init__.py (no function) 6 0 0 100%
src\pqlattice\random\_distribution.py Distribution.__init__ 1 0 0 100%
src\pqlattice\random\_distribution.py Distribution.set_seed 2 1 0 50%
src\pqlattice\random\_distribution.py Distribution.sample_int 0 0 1 100%
src\pqlattice\random\_distribution.py Distribution.sample_vector 0 0 1 100%
src\pqlattice\random\_distribution.py Distribution.sample_matrix 0 0 1 100%
src\pqlattice\random\_distribution.py Distribution.set_params 0 0 1 100%
src\pqlattice\random\_distribution.py Distribution.get_params 0 0 1 100%
src\pqlattice\random\_distribution.py Uniform.__init__ 3 0 0 100%
src\pqlattice\random\_distribution.py Uniform.sample_int 2 0 0 100%
src\pqlattice\random\_distribution.py Uniform.sample_vector 2 0 0 100%
src\pqlattice\random\_distribution.py Uniform.sample_matrix 4 0 0 100%
src\pqlattice\random\_distribution.py Uniform.set_params 6 6 0 0%
src\pqlattice\random\_distribution.py Uniform.get_params 1 1 0 0%
src\pqlattice\random\_distribution.py DiscreteGaussian.__init__ 6 0 0 100%
src\pqlattice\random\_distribution.py DiscreteGaussian._recompute_table 4 0 0 100%
src\pqlattice\random\_distribution.py DiscreteGaussian.sample_int 4 1 0 75%
src\pqlattice\random\_distribution.py DiscreteGaussian.sample_vector 2 0 0 100%
src\pqlattice\random\_distribution.py DiscreteGaussian.sample_matrix 4 0 0 100%
src\pqlattice\random\_distribution.py DiscreteGaussian.set_params 10 10 0 0%
src\pqlattice\random\_distribution.py DiscreteGaussian.get_params 1 1 0 0%
src\pqlattice\random\_distribution.py DiscreteGaussian._sample_centered_fast 7 1 0 86%
src\pqlattice\random\_distribution.py DiscreteGaussian._sample_dynamic_rejection 10 10 0 0%
src\pqlattice\random\_distribution.py (no function) 35 0 11 100%
src\pqlattice\random\_lattice.py _gen_unimodular 6 0 0 100%
src\pqlattice\random\_lattice.py randlattice 12 0 0 100%
src\pqlattice\random\_lattice.py (no function) 6 0 0 100%
src\pqlattice\random\_lwe.py LWE.__init__ 12 12 0 0%
src\pqlattice\random\_lwe.py LWE.secret 1 1 0 0%
src\pqlattice\random\_lwe.py LWE.set_secret 3 3 0 0%
src\pqlattice\random\_lwe.py LWE.sample_matrix 4 4 0 0%
src\pqlattice\random\_lwe.py LWE.next_sample 5 5 0 0%
src\pqlattice\random\_lwe.py (no function) 11 0 0 100%
src\pqlattice\random\_lwr.py LWR.__init__ 1 1 0 0%
src\pqlattice\random\_lwr.py LWR.__call__ 0 0 1 100%
src\pqlattice\random\_lwr.py LWR.__call__ 0 0 1 100%
src\pqlattice\random\_lwr.py LWR.__call__ 1 1 0 0%
src\pqlattice\random\_lwr.py (no function) 5 0 4 100%
src\pqlattice\random\_prime.py _randprime 19 1 0 95%
src\pqlattice\random\_prime.py _randprime.ilog 1 0 0 100%
src\pqlattice\random\_prime.py randprime 3 0 0 100%
src\pqlattice\random\_prime.py (no function) 5 0 0 100%
src\pqlattice\random\distribution.py (no function) 2 0 0 100%
src\pqlattice\settings.py _Settings.__init__ 3 0 0 100%
src\pqlattice\settings.py _Settings.backend_name 1 1 0 0%
src\pqlattice\settings.py _Settings.backend 7 7 0 0%
src\pqlattice\settings.py _Settings.set_backend 1 1 0 0%
src\pqlattice\settings.py get_backend_name 1 1 0 0%
src\pqlattice\settings.py get_backend 1 1 0 0%
src\pqlattice\settings.py set_backend 1 1 0 0%
src\pqlattice\settings.py backend 5 5 0 0%
src\pqlattice\settings.py (no function) 20 0 0 100%
src\pqlattice\typing\__init__.py (no function) 3 0 0 100%
src\pqlattice\typing\_types.py is_rational 1 1 0 0%
src\pqlattice\typing\_types.py is_integer 1 1 0 0%
src\pqlattice\typing\_types.py (no function) 9 0 0 100%
src\pqlattice\typing\_types_validator.py _is_nparray 1 0 0 100%
src\pqlattice\typing\_types_validator.py is_Vector 1 0 0 100%
src\pqlattice\typing\_types_validator.py is_Matrix 1 0 0 100%
src\pqlattice\typing\_types_validator.py is_SquareMatrix 1 0 0 100%
src\pqlattice\typing\_types_validator.py _get_predicate_for_alias 7 0 0 100%
src\pqlattice\typing\_types_validator.py validate_aliases 2 0 0 100%
src\pqlattice\typing\_types_validator.py validate_aliases.wrapper 9 0 0 100%
src\pqlattice\typing\_types_validator.py (no function) 14 0 0 100%
Total   1320 386 115 71%

No items found using the specified filter.