Code coverage tests

This page documents the degree to which the PARI/GP source code is tested by our public test suite, distributed with the source distribution in directory src/test/. This is measured by the gcov utility; we then process gcov output using the lcov frond-end.

We test a few variants depending on Configure flags on the pari.math.u-bordeaux.fr machine (x86_64 architecture), and agregate them in the final report:

The target is to exceed 90% coverage for all mathematical modules (given that branches depending on DEBUGLEVEL or DEBUGMEM are not covered). This script is run to produce the results below.

LCOV - code coverage report
Current view: top level - basemath - ellrank.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.0 lcov report (development 29806-4d001396c7) Lines: 1153 1236 93.3 %
Date: 2024-12-21 09:08:57 Functions: 108 115 93.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
hyperell_locally_soluble 0
lemma6 0
lemma6nf 0
lemma7 0
lemma7_aux 0
psquarenf 0
zpsol 0
nfhilbert 21
check_oncurve 42
ell2selmer_basis 49
ell2cover 56
ellrankinit 63
ellrank_get_nudur 98
quad_char 140
Z_quad_char 161
randS 189
elltwistpoint 224
repres 252
get_kerval 259
hilb2nf 259
locally_soluble 259
nf2selmer_quad 259
nf_hyperell_locally_soluble 259
matcassels 315
bestS 441
bnfselmer 441
nfV_factorbackmod 441
nfV_zm_factorback 441
prV_ZM_factorback 441
Q2_hyperell_lift 490
get_row 490
psquare2nf 511
den_remove 518
nfhilbertp 567
randu 567
nfhilbert0 581
cassels_oo_solve 602
cassels_oo_solve_i 602
gtoset_inplace 784
vecellabs 784
bnfselmerQ 826
ellrank 826
elltwistequation 840
makevbnf 868
ellrank_flag 882
nfC_prV_val 882
ell2selmer 889
ellLS2image 889
ellsearchtrivialpoints 889
kernorm 889
vbnf_discfactors 889
vecsmallbasis 889
first_core_prime 972
Z_factor_addprimes 1337
hyperell_lift 1432
elltwistpoints 1673
ell2pol 1757
matselmersign 1778
projratpointxz2 1784
Q2_hyperell_solve 2366
casselspairing 2366
enfsqrt 2366
quartic_H 2366
quartic_hessiandd 2366
vecnfsqrtmod 2366
Q2_hyperell_regpoint 2947
Q2_hyperell_solve_affine 2947
ZC_add_coeff 3206
liftselmer 3373
liftselmer_cover 3640
ellabs 3913
projratpointxz 4504
quartic_disc 4606
quartic_findunit 4606
to_ZX 4732
RgXV_homogenous_evaldeg 5425
_factorbackmod 5614
lemma7nf 5642
zpsolnf 5642
ZV_iseven 5908
nfsqrt 6230
nfsqrt_safe 6230
quarticinv_pol 6972
liftselmerinit 7013
qf_disc_fact 7202
quartic_minim_all 7202
redquadric 7202
RgVV_nb 8540
dim_selmer 8540
elllocalimage 8540
polrootsmodpn 8540
setlgall 8540
quartic_cubic 13090
veckpmodsquares 17080
ZC_shifti 17652
selmerbasis 17652
quartic_IJ 18780
basis 19178
tracematrix 19829
RgX_homogenous_evaldeg 19915
RgXV_cxeval 21630
Qp_hyperell_solve_odd 59290
affine_apply 59290
cassels_Qp_solve 61656
hyperell_local_solve 61656
selmersign 72933
ZV_isneg 91182
Qp_issquare 107604
hyperell_red 118580
_trace 118974
FpX_issquare 119336
hyperell_reg_point 121659
to_principal_unit 165718
kpmodsquares 794248
kpmodsquares1 1626751

Generated by: LCOV version 1.16