Coverage report: 83%

Files Functions Classes

coverage.py v7.11.0, created at 2026-01-12 23:47 +0100

File function statements missing excluded coverage
src/pqlattice/__init__.py (no function) 4 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/_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/_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/_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/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   949 162 100 83%

No items found using the specified filter.