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-bordeaux1.fr machine (x86_64 architecture), and agregate them in the final report:

The target is 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.8.0 lcov report (development 16804-345a01c) Lines: 895 992 90.2 %
Date: 2014-09-20 Functions: 104 119 87.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 420 545 77.1 %

Function Name Sort by function name Hit count Sort by hit count
CM_ellap 2668158
Fl_ellcard_Shanks 104947
Fl_ellcard_naive 37565
Fl_ellpoint 3549
Fl_elltrace 111659
Fl_elltrace_CM 22997
Fle_add 1754755
Fle_add_inplace 3412172
Fle_add_slope 1754755
Fle_dbl 4762237
Fle_dbl_inplace 92462
Fle_dbl_slope 4762756
Fle_mul 0
Fle_mulu 312983
Fle_neg 0
Fle_order 108482
Fle_sub 0
FpE_Miller 7982
FpE_Miller_add 1757
FpE_Miller_dbl 15838
FpE_add 681586
FpE_add_ip 305362
FpE_add_slope 682699
FpE_changepoint 791
FpE_changepointinv 2065
FpE_chord_update 1757
FpE_dbl 433130
FpE_dbl_slope 440236
FpE_log 42
FpE_mul 342
FpE_neg 361676
FpE_neg_i 0
FpE_order 812
FpE_sub 0
FpE_tangent_update 15838
FpE_tatepairing 196
FpE_to_mod 126
FpE_vert 25745
FpE_weilpairing 6365
FpXQE_Miller 70
FpXQE_Miller_add 630
FpXQE_Miller_dbl 4620
FpXQE_add 37279
FpXQE_add_slope 37902
FpXQE_changepoint 1715
FpXQE_changepointinv 868
FpXQE_chord_update 630
FpXQE_dbl 192334
FpXQE_dbl_slope 196863
FpXQE_log 0
FpXQE_mul 854
FpXQE_neg 749
FpXQE_neg_i 0
FpXQE_order 14
FpXQE_sub 0
FpXQE_tangent_update 4620
FpXQE_tatepairing 0
FpXQE_vert 5320
FpXQE_weilpairing 36
FpXQ_ellcard 854
FpXQ_ellcardj 840
FpXQ_elldivpol 0
FpXQ_ellgens 7
FpXQ_ellgroup 14
FpXQ_ellj 847
Fp_ellcard 2694198
Fp_ellcard_CM 2668158
Fp_ellcard_Shanks 77
Fp_elldivpol 0
Fp_ellgens 567
Fp_ellgroup 19208
Fp_ellj 0
Fp_ellj_nodiv 2668158
Fp_ellpoint 0
Fp_ffellcard 6058
Fq_elldivpolmod 1400
Mod16 3948756
RgE_to_FpE 931
RgE_to_FpXQE 868
_Fle_add 1754755
_Fle_dbl 4672191
_Fle_mul 416090
_Fle_mulu 312983
_Fle_rand 0
_FpE_add 660366
_FpE_dbl 432864
_FpE_mul 443106
_FpE_pairorder 6127
_FpE_rand 19740
_FpXQE_add 37279
_FpXQE_dbl 192334
_FpXQE_mul 3144
_FpXQE_pairorder 36
_FpXQE_rand 144
_fix 18872
_red 3535
_rmul 3969
_rsqr 2576
ap_cm 971
ap_j0 49588
ap_j1728 2634971
ap_j287496 112
ap_j8000 112
closest_lift 105087
compare_multiples 12421791
divpol 5369
divpol_f2 2352
divpol_ff 2352
ec_ap_cm 19213
elltrace_extension 6345
get_FpE_group 518
get_FpXQE_group 7
get_table_size 77
is_CMj 17456
random_Fle 0
random_FpE 19768
random_FpXQE 998
u2_is_CMj 464
uclosest_lift 108482

Generated by: LCOV version 1.9