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 - FF.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 17932-6fdb233) Lines: 843 917 91.9 %
Date: 2015-07-30 Functions: 99 104 95.2 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 340 427 79.6 %

Function Name Sort by function name Hit count Sort by hit count
F2xq_ell_to_a4a6 7591
F3x_equalm1 0
F3xq_ell_to_a4a6 23219
FFC_to_raw 3087
FFM_FFC_mul 21
FFM_det 21
FFM_image 21
FFM_inv 42
FFM_ker 21
FFM_mul 161
FFM_rank 21
FFM_to_raw 441
FFM_wrap 84
FFX_factor 70
FFX_init_fix_varn 182
FFX_roots 112
FF_1 37597
FF_Q_add 1442
FF_Z_Z_muldiv 6594
FF_Z_add 381627
FF_Z_mul 700382
FF_add 727154
FF_charpoly 28
FF_conjvec 28
FF_div 83307
FF_ellcard 56122
FF_elldata 119
FF_ellgens 16744
FF_ellgroup 18053
FF_ellinit 74343
FF_elllog 84
FF_ellmul 77259
FF_ellorder 1722
FF_ellrandom 93583
FF_elltatepairing 7
FF_elltwist 27188
FF_ellweilpairing 7
FF_equal 8904
FF_equal0 486644
FF_equal1 12502
FF_equalm1 42
FF_f 126
FF_inv 4658
FF_ispower 210
FF_issquare 7
FF_issquareall 189
FF_log 168
FF_minpoly 28
FF_mod 164318
FF_mul 1742347
FF_mul2n 147362
FF_neg 25574
FF_neg_i 74186
FF_norm 28
FF_order 28
FF_p 56
FF_p_i 308477
FF_pow 71
FF_primroot 301
FF_q 54390
FF_samefield 2922747
FF_sqr 2282358
FF_sqrt 70
FF_sqrtn 98
FF_sub 227139
FF_to_F2xq 113197
FF_to_F2xq_i 0
FF_to_Flxq 784707
FF_to_Flxq_i 0
FF_to_FpXQ 19747
FF_to_FpXQ_i 167027
FF_trace 28
FF_zero 3241
Flxq_ell_to_a4a6 65161
FpXQ_ell_to_a4a6 1710
Fp_cmp_1 0
FqC_to_FpXQC 63
FqM_to_FpXQM 28
FqV_to_FpXQV 1729
RgC_is_FFC 2797663
RgM_is_FFM 2795808
Rg_is_FF 2821267
Tp_to_FF 0
Z_FF_div 308
_checkFF 2780115
_getFF 6882278
_initFF 6461586
_mkFF 6386677
_mkFF_i 1336528
ffgen 1634
fflog 168
fforder 28
ffprimroot 301
ffrandom 14917
mkFF_i 1261501
p_to_FF 2541
raw_to_FFC 1673
raw_to_FFM 245
to_FF 840
to_FFC 112
to_FFE 190127
to_FFE_vec 16744
to_FFX 322
to_FF_fact 70

Generated by: LCOV version 1.9