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 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.10.0 lcov report (development 21501-1931cb9) Lines: 1030 1086 94.8 %
Date: 2017-12-16 06:20:36 Functions: 124 129 96.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2xq_ell_to_a4a6 45366
F3x_equalm1 0
F3xq_ell_to_a4a6 23534
FFC_to_raw 14112
FFM_FFC_gauss 56
FFM_FFC_invimage 63
FFM_FFC_mul 77
FFM_FFC_wrap 196
FFM_FFM_wrap 336
FFM_deplin 70
FFM_det 63
FFM_gauss 56
FFM_image 49
FFM_indexrank 21
FFM_inv 147
FFM_invimage 35
FFM_ker 147
FFM_mul 245
FFM_rank 63
FFM_suppl 21
FFM_to_raw 1414
FFM_wrap 364
FFXQ_inv 14
FFX_factor 420
FFX_ispower 168
FFX_mul 101900
FFX_preimage 966
FFX_rem 2429
FFX_roots 103649
FFX_sqr 2261
FFX_to_raw 316059
FFX_wrap2 104343
FFX_zero 2468
FF_1 16065
FF_Frobenius 42
FF_Q_add 1344
FF_Z_Z_muldiv 4823
FF_Z_add 1654726
FF_Z_mul 1846690
FF_add 8855206
FF_charpoly 28
FF_conjvec 28
FF_div 121961
FF_ellcard 94247
FF_ellcard_SEA 14
FF_elldata 119
FF_ellgens 16772
FF_ellgroup 18081
FF_ellinit 112552
FF_elllog 91
FF_ellmul 247450
FF_ellorder 1750
FF_ellrandom 244034
FF_elltatepairing 91
FF_elltwist 27188
FF_ellweilpairing 4984
FF_equal 39683
FF_equal0 8812909
FF_equal1 14826
FF_equalm1 42
FF_f 364
FF_gen 462
FF_inv 7923
FF_ispower 203
FF_issquare 7
FF_issquareall 182
FF_log 175
FF_map 1687
FF_minpoly 154
FF_mod 165200
FF_mul 9478249
FF_mul2n 215725
FF_neg 38445
FF_neg_i 85036
FF_norm 28
FF_order 28
FF_p 56
FF_p_i 2033701
FF_pow 79
FF_primroot 385
FF_q 54474
FF_samechar 21412099
FF_samefield 21412099
FF_sqr 2777195
FF_sqrt 70
FF_sqrtn 217
FF_sub 287544
FF_to_F2xq 961653
FF_to_F2xq_i 0
FF_to_Flxq 786758
FF_to_Flxq_i 0
FF_to_FpXQ 19663
FF_to_FpXQ_i 170135
FF_trace 28
FF_zero 5961
Flxq_ell_to_a4a6 65595
FpXQ_ell_to_a4a6 1710
Fp_cmp_1 0
FqC_to_FpXQC 1821
FqM_to_FpXQM 201
FqV_to_FpXQV 1743
FqX_to_FFX 0
Fq_to_FF 161
RgC_is_FFC 9619142
RgM_is_FFM 9614892
Rg_is_FF 9699712
Rg_to_raw 1758966
Tp_to_FF 357
Z_FF_div 259
Z_to_raw 431074
_checkFF 18743136
_getFF 27011194
_initFF 25550670
_mkFF 25465481
_mkFF_i 2979048
ffgen 2250
fflog 175
fforder 28
ffprimroot 385
ffrandom 144466
mkFF_i 2893851
p_to_FF 2891
rawFq_to_FF 633053
raw_to_FFC 108864
raw_to_FFM 630
raw_to_FFX 105907
raw_to_FFX_fact 420
to_FFE 510755
to_FFE_vec 16772

Generated by: LCOV version 1.11