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 - FpE.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.14.0 lcov report (development 27920-e0b3650d81) Lines: 985 1074 91.7 %
Date: 2022-08-07 07:33:29 Functions: 106 114 93.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpE_neg_i 0
FpE_sub 0
FpJ_neg 0
FpXQE_log 0
FpXQE_neg_i 0
FpXQE_sub 0
Fp_ellpoint 0
Fp_elltwist 0
FpE_Miller_add 2
FpE_chord_update 2
FpXQE_tatepairing 7
FpXQ_ellgens 8
get_FpXQE_group 8
FpXQE_order 14
FpXQ_ellgroup 15
_FpXQE_pairorder 28
FpXQE_weilpairing 35
FpE_Miller_line 42
FpE_Miller 46
FpE_log 49
FpXQE_Miller 77
Fp_ellcard_Shanks 78
get_table_size 78
FpE_Miller_dbl 98
FpE_tangent_update 98
Fp_ellj 98
ap_j8000 126
ap_j287496 140
FpE_vert 146
_FpXQE_rand 159
FpE_tatepairing 203
nonsquare_Fp 420
Fp_ellgens 574
FpE_order 736
FpXQE_neg 749
FpXQE_Miller_add 833
FpXQE_chord_update 833
FpXQ_elltwist 840
nonsquare_FpXQ 840
FpXQE_mul 854
FpXQE_changepointinv 896
RgE_to_FpXQE 896
get_FpE_group 903
random_FpXQE 1013
Fp_elljissupersingular 1057
FpE_to_mod 1098
ap_cm 1344
FpE_mul 1391
FpXQ_ellcardj 1687
FpXQ_ellj 1695
FpXQE_changepoint 1716
FpE_changepoint 1770
path_extends_to_floor 2590
FpE_changepointinv 2809
RgE_to_FpE 2810
_FpXQE_mul 2861
FpXQ_ellcard 4299
FpXQE_Miller_dbl 5026
FpXQE_tangent_update 5026
FqX_quad_root 5684
FpXQE_Miller_line 5761
FpJ_mul 5838
_FpJ_mul 5838
FpXQE_vert 5936
Fl_ellpoint 7204
ec_ap_cm 8701
_FpE_pairorder 10149
FpE_weilpairing 10394
Fp_ffellcard 13587
u2_is_CMj 13797
jissupersingular 13860
elltrace_extension 14168
_fix 19038
Fp_ellgroup 21917
_FpE_rand 28765
random_FpE 31208
FpXQE_add 35142
_FpXQE_add 35142
FpXQE_add_slope 35954
FpE_dbl 37182
_FpE_dbl 37182
FpE_dbl_slope 37775
Fp_ellj_nodiv 49136
Fp_ellj_get_CM 49979
FpJ_to_FpE 53018
FpE_to_FpJ 53583
ap_j0 75968
FpXQ_elljissupersingular 164227
FpXQE_dbl 184311
_FpXQE_dbl 184311
FpXQE_dbl_slope 189267
Fle_dbl_inplace 226403
Fl_ellcard_Shanks 253944
closest_lift 254093
uclosest_lift 261137
FpE_add_ip 305694
Fl_elltrace_naive 360490
FpE_neg 376027
Fl_elltrace 377330
Fl_elltrace_CM 408236
_FpE_mul 491051
is_CMj 622987
_FpE_add 932757
FpE_add 951948
FpE_add_slope 951950
_FpJ_add 993267
FpJ_add 993329
ap_j1728 2065861
Fp_ellcard_CM 2183728
Fp_ellcard 2349962
Fle_add_inplace 5671395
_FpJ_dbl 6358959
FpJ_dbl 6359950
compare_multiples 14981473

Generated by: LCOV version 1.13