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 20459-9710128) Lines: 916 989 92.6 %
Date: 2017-04-29 05:33:44 Functions: 113 117 96.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2xq_ell_to_a4a6 38931
F3x_equalm1 0
F3xq_ell_to_a4a6 20220
FFC_to_raw 7788
FFM_FFC_gauss 48
FFM_FFC_invimage 54
FFM_FFC_mul 66
FFM_FFC_wrap 168
FFM_FFM_wrap 240
FFM_deplin 54
FFM_det 30
FFM_gauss 36
FFM_image 30
FFM_indexrank 18
FFM_inv 108
FFM_invimage 36
FFM_ker 48
FFM_mul 168
FFM_rank 36
FFM_suppl 18
FFM_to_raw 960
FFM_wrap 204
FFX_factor 84
FFX_roots 88662
FFX_to_raw 88746
FF_1 22014
FF_Q_add 1236
FF_Z_Z_muldiv 4626
FF_Z_add 1349946
FF_Z_mul 1896875
FF_add 8895857
FF_charpoly 24
FF_conjvec 24
FF_div 101490
FF_ellcard 80877
FF_ellcard_SEA 12
FF_elldata 102
FF_ellgens 14376
FF_ellgroup 15498
FF_ellinit 96567
FF_elllog 78
FF_ellmul 212100
FF_ellorder 1500
FF_ellrandom 209172
FF_elltatepairing 78
FF_elltwist 23304
FF_ellweilpairing 4272
FF_equal 30234
FF_equal0 7626155
FF_equal1 8622
FF_equalm1 36
FF_f 168
FF_inv 5816
FF_ispower 240
FF_issquare 6
FF_issquareall 150
FF_log 150
FF_minpoly 24
FF_mod 140982
FF_mul 9180400
FF_mul2n 199227
FF_neg 23742
FF_neg_i 71646
FF_norm 24
FF_order 24
FF_p 48
FF_p_i 956967
FF_pow 60
FF_primroot 330
FF_q 46692
FF_samefield 19579224
FF_sqr 2388523
FF_sqrt 60
FF_sqrtn 90
FF_sub 412964
FF_to_F2xq 824469
FF_to_F2xq_i 0
FF_to_Flxq 674376
FF_to_Flxq_i 0
FF_to_FpXQ 19026
FF_to_FpXQ_i 144252
FF_trace 24
FF_zero 2880
Flxq_ell_to_a4a6 56274
FpXQ_ell_to_a4a6 1464
Fp_cmp_1 0
FqC_to_FpXQC 198
FqM_to_FpXQM 60
FqV_to_FpXQV 1494
FqX_to_FFX 60
Fq_to_FF 696
RgC_is_FFC 8153275
RgM_is_FFM 8146771
Rg_is_FF 8255245
Rg_to_raw 654522
Tp_to_FF 342
Z_FF_div 288
Z_to_raw 258564
_checkFF 18590864
_getFF 25730723
_initFF 24681808
_mkFF 24609520
_mkFF_i 1980253
ffgen 1721
fflog 150
fforder 24
ffprimroot 330
ffrandom 118692
mkFF_i 1907908
p_to_FF 2502
rawFq_to_FF 756
raw_to_FFC 91632
raw_to_FFM 396
raw_to_FFX 330
raw_to_FFX_fact 84
to_FFE 437796
to_FFE_vec 14376

Generated by: LCOV version 1.11