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 - ellisog.c (source / functions) Coverage Total Hit
Test: PARI/GP v2.19.0 lcov report (development 31057-89c4d54ba6) Lines: 98.9 % 1043 1032
Test Date: 2026-07-25 17:02:42 Functions: 100.0 % 89 89
Legend: Lines:     hit not hit

Function Name Sort by function name Hit count Sort by function hit count
contrib_full_tors 14
ellnf_prime_degree_hard 42
non_two_torsion_ordinate_char2 49
ellisogenyapply 70
derivhasse 98
ellnf_modpoly 105
ellnf_goodl_l 112
ellnf_isomat 112
ellnf_prime_degree 112
ellnf_prime_degree_easy 112
ellisograph_dummy 154
ellQ_goodl_l 182
isog_identity 252
invisogeny_a4a6 280
isogeny_a4a6 280
corr 336
elkies98 336
isogeny_from_kernel_point 427
divy 476
update_isogeny_polys 532
isomat_perm 539
twistisogeny 616
ellnf_isocrv 644
isomatdbl 714
mkisomatdbl 714
non_two_torsion_abscissa 812
ellisweierstrasspoint 903
ellisogeny 1134
non_two_torsion_ordinate_char_not2 1365
ellcompisog 1379
isog_abscissa 1414
isog_ordinate 1414
ellnfcompisog 1834
get_isog_vars 1876
QXQH_eval 1904
ellisog_by_j 1932
idealgen_minpoly 2016
stariter_hard 2016
ellisog_by_jt 2086
ellisotree 2184
ellweilcurve 2191
path_to_manin 2198
shortest_path 2198
stariter_easy 2240
ellQ_goodl 2492
mkisomat 2534
ellQ_exceptional_iso 2646
ellQ_isomat 2646
list_to_crv 2863
ellisomat 2961
ellisograph_p 3206
fill_LM 3276
ellisograph_r 3472
nfispower_quo 3654
_degree 4116
get_polmodular 4130
ellisograph_a4a6 4193
isomat_find 4340
get_isomat 4382
ellisograph_iso 4571
to_RgX 4760
RgH_eval 5488
distmat_pow 5922
etree_distmat 5922
etree_list 5922
nfmkisomat 5922
ellnf_charpoly 5978
stariter 6048
isograph_p 6482
startor 7994
contrib_weierstrass_pt 8015
RgXY_eval 9660
ellisog_by_roots 10801
ellisog_by_Kohel 10969
trivial_isogeny 11844
to_crv 11949
isogeny_from_kernel_poly 12250
two_torsion_part 12250
first_three_power_sums 12257
make_velu_curve 12621
ellisograph_Kohel_r 14644
a4a6_divpol 15589
ellisograph_Kohel_iso 15589
etree_distmatr 16996
etree_listr 16996
starlaw 18004
isomat_eq 22134
etree_nbnodes 44219
ellmaninconstant 457450

Generated by: LCOV version 2.0-1