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 - hyperell.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.0 lcov report (development 29806-4d001396c7) Lines: 866 912 95.0 %
Date: 2024-12-22 09:08:28 Functions: 74 75 98.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2x_genus2charpoly_naive 84
Fl2V_next 44590
FlxV_Fl2_eval_pre 1561
Flx_difftable 252
Flx_genus2charpoly_naive 252
FpXXQ_mul 16863
FpXXQ_red 20265
FpXXQ_sqr 3402
FpXXX_Fp_mul 441
FpXXX_red 441
FpXXX_renormalize 2247
Fq_diff_red 469
Fq_get_UV 154
RgX_RgM2_eval 301955
ZC_to_padic 10094
ZM_to_padic 1309
ZXC_to_padic 469
ZXM_to_padic 147
ZXX_to_FpXC 469
ZX_apolar 84
ZX_hyperellred 8193
ZX_to_padic 1743
ZlXQX_hyperellpadicfrobenius 154
ZlX_hyperellpadicfrobenius 1309
ZpXQXXQ_frob 469
ZpXQXXQ_invsqrt 154
ZpXQXXQ_mul 1358
ZpXQXXQ_red 1806
ZpXQXXQ_sqr 448
ZpXXQ_frob 10094
ZpXXQ_invsqrt 1309
algo51 50798
algo52 103343
algo56 50784
algo56bis 14
algo57 52135
algo57bis 42
charpoly_funceq 679
check_hyperell 287368
check_hyperell_Q 52191
check_hyperell_Rg 65296
check_hyperell_vc 65282
diff_red 10094
frac_to_Fp 133847
frac_to_Fq 6573
get_UV 1309
get_basis 1764
get_ep 126502
get_extremal 0
hyperell_Weil_bound 686
hyperell_redQ 104284
hyperell_reverse 50798
hyperellchangecurve 65296
hyperellcharpoly 1029
hyperelldisc 118068
hyperellextremalmodels 63
hyperellisoncurve 3493
hyperellminimaldisc 14
hyperellminimalmodel 52149
hyperellordinate 35
hyperellpadicfrobenius 1309
hyperellpadicfrobenius0 595
hyperellred 42
is_sing 14
minimalmodel_getH 50735
minimalmodel_merge 52149
next_model 56
nfhyperellpadicfrobenius 154
polreduce 16386
red_Cremona_Stoll 8193
redqfbsplit 35
revdigits 12026
test53 146791
test55 189382
to_ZX 1029007

Generated by: LCOV version 1.16