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 21355-49ee849) Lines: 1027 1083 94.8 %
Date: 2017-11-25 06:21:19 Functions: 124 129 96.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F3x_equalm1 0
FF_to_F2xq_i 0
FF_to_Flxq_i 0
Fp_cmp_1 0
FqX_to_FFX 0
FF_issquare 7
FFXQ_inv 14
FF_ellcard_SEA 14
FFM_indexrank 21
FFM_suppl 21
FF_Frobenius 21
FF_charpoly 28
FF_conjvec 28
FF_norm 28
FF_order 28
FF_trace 28
fforder 28
FFM_invimage 35
FF_equalm1 42
FFM_det 49
FFM_image 49
FFM_FFC_gauss 56
FFM_gauss 56
FF_p 56
FFM_FFC_invimage 63
FFM_rank 63
FFM_deplin 70
FF_sqrt 70
FFM_FFC_mul 77
FF_pow 79
FF_elllog 91
FF_elltatepairing 91
FF_minpoly 91
FF_elldata 119
FFM_inv 147
FFM_ker 147
FFX_ispower 147
Fq_to_FF 154
FF_issquareall 175
FF_log 175
fflog 175
FFM_FFC_wrap 196
FF_ispower 196
FqM_to_FpXQM 201
FF_sqrtn 217
FF_gen 231
FFM_mul 245
Z_FF_div 259
FF_f 280
FFM_FFM_wrap 336
FFX_factor 336
raw_to_FFX_fact 336
Tp_to_FF 350
FFM_wrap 364
FF_primroot 385
ffprimroot 385
FFX_preimage 504
raw_to_FFM 630
FF_map 868
FF_Q_add 1344
FFM_to_raw 1400
FpXQ_ell_to_a4a6 1710
FqV_to_FpXQV 1743
FF_ellorder 1750
FqC_to_FpXQC 1821
FFX_sqr 2254
FFX_rem 2303
FFX_zero 2335
ffgen 2467
p_to_FF 2891
FF_Z_Z_muldiv 4655
FF_ellweilpairing 4984
FF_zero 5737
FF_inv 6769
FFC_to_raw 13804
FF_equal1 15239
FF_1 16044
FF_ellgens 16772
to_FFE_vec 16772
FF_ellgroup 18081
FF_to_FpXQ 19586
F3xq_ell_to_a4a6 23534
FF_elltwist 27188
FF_neg 35827
FF_equal 39165
F2xq_ell_to_a4a6 45667
FF_q 54474
Flxq_ell_to_a4a6 65595
FF_neg_i 84861
FF_ellcard 94549
FFX_mul 100808
FFX_wrap2 103125
FFX_roots 103544
raw_to_FFX 104661
raw_to_FFC 108759
FF_ellinit 112853
FF_div 124061
ffrandom 144466
FF_mod 164885
FF_to_FpXQ_i 169848
FF_mul2n 216040
FF_ellrandom 244034
FF_ellmul 247450
FF_sub 281496
FFX_to_raw 313035
Z_to_raw 424501
to_FFE 510762
rawFq_to_FF 623155
FF_to_Flxq 786758
FF_to_F2xq 963765
FF_Z_add 1653678
Rg_to_raw 1737462
FF_Z_mul 1846396
FF_p_i 2011966
FF_sqr 2778758
mkFF_i 2887703
_mkFF_i 2972717
FF_equal0 8804062
FF_add 8835929
RgM_is_FFM 9376034
RgC_is_FFC 9380283
FF_mul 9452886
Rg_is_FF 9460839
_checkFF 18694550
FF_samefield 21333161
FF_samechar 21333162
_mkFF 25411844
_initFF 25496810
_getFF 26949847

Generated by: LCOV version 1.11