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 20076-e66e249) Lines: 919 969 94.8 %
Date: 2017-01-17 05:50:07 Functions: 110 114 96.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2xq_ell_to_a4a6 45368
F3x_equalm1 0
F3xq_ell_to_a4a6 23590
FFC_to_raw 4116
FFM_FFC_gauss 56
FFM_FFC_invimage 63
FFM_FFC_mul 63
FFM_FFC_wrap 182
FFM_FFM_wrap 210
FFM_det 21
FFM_gauss 28
FFM_image 21
FFM_inv 105
FFM_invimage 21
FFM_ker 35
FFM_mul 161
FFM_rank 21
FFM_to_raw 770
FFM_wrap 161
FFX_factor 98
FFX_roots 103439
FFX_to_raw 103537
FF_1 24675
FF_Q_add 1442
FF_Z_Z_muldiv 5397
FF_Z_add 1574092
FF_Z_mul 2210075
FF_add 10340184
FF_charpoly 28
FF_conjvec 28
FF_div 112287
FF_ellcard 94290
FF_ellcard_SEA 14
FF_elldata 119
FF_ellgens 16744
FF_ellgroup 18053
FF_ellinit 112596
FF_elllog 84
FF_ellmul 227647
FF_ellorder 1722
FF_ellrandom 244020
FF_elltatepairing 91
FF_elltwist 27188
FF_ellweilpairing 28
FF_equal 17105
FF_equal0 8913688
FF_equal1 9975
FF_equalm1 42
FF_f 196
FF_inv 4775
FF_ispower 280
FF_issquare 7
FF_issquareall 175
FF_log 175
FF_minpoly 28
FF_mod 164479
FF_mul 10656730
FF_mul2n 232359
FF_neg 21600
FF_neg_i 83618
FF_norm 28
FF_order 28
FF_p 56
FF_p_i 1116344
FF_pow 79
FF_primroot 385
FF_q 54474
FF_samefield 22618815
FF_sqr 2778561
FF_sqrt 70
FF_sqrtn 105
FF_sub 474093
FF_to_F2xq 903027
FF_to_F2xq_i 0
FF_to_Flxq 786506
FF_to_Flxq_i 0
FF_to_FpXQ 22211
FF_to_FpXQ_i 168259
FF_trace 28
FF_zero 3360
Flxq_ell_to_a4a6 65637
FpXQ_ell_to_a4a6 1710
Fp_cmp_1 0
FqC_to_FpXQC 260
FqM_to_FpXQM 68
FqV_to_FpXQV 1743
FqX_to_FFX 70
Fq_to_FF 812
RgC_is_FFC 9586976
RgM_is_FFM 9583938
Rg_is_FF 9611336
Rg_to_raw 763609
Tp_to_FF 399
Z_FF_div 322
Z_to_raw 301658
_checkFF 21583469
_getFF 29861035
_initFF 28657622
_mkFF 28573264
_mkFF_i 2251584
ffgen 1946
fflog 175
fforder 28
ffprimroot 385
ffrandom 132482
mkFF_i 2167152
p_to_FF 2919
rawFq_to_FF 882
raw_to_FFC 105483
raw_to_FFM 343
raw_to_FFX 385
raw_to_FFX_fact 98
to_FFE 490896
to_FFE_vec 16744

Generated by: LCOV version 1.11