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.8.0 lcov report (development 19081-e84bc4a) Lines: 915 961 95.2 %
Date: 2016-07-01 Functions: 104 108 96.3 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 360 443 81.3 %

Function Name Sort by function name Hit count Sort by hit count
_getFF 28129162
_initFF 27302977
_mkFF 27218554
FF_samefield 22098831
_checkFF 21145826
FF_mul 10550276
FF_add 10102675
Rg_is_FF 9175379
RgC_is_FFC 9151803
RgM_is_FFM 9150025
FF_equal0 8828515
FF_sqr 2623044
FF_Z_mul 1729822
FF_Z_add 1491670
_mkFF_i 1455522
mkFF_i 1370917
FF_p_i 1077149
FF_to_Flxq 786457
Rg_to_raw 762923
FF_sub 417792
Z_to_raw 301455
to_FFE 190169
FF_to_FpXQ_i 167391
FF_mod 164479
FF_mul2n 153277
FF_to_F2xq 113484
raw_to_FFC 105112
FFX_to_raw 103439
FFX_roots 103439
FF_ellrandom 93604
FF_neg_i 83107
FF_ellmul 77280
FF_div 74914
FF_ellinit 74632
Flxq_ell_to_a4a6 65385
FF_ellcard 56333
FF_q 54460
FF_elltwist 27188
FF_1 24423
F3xq_ell_to_a4a6 23345
FF_to_FpXQ 22673
FF_neg 20241
FF_ellgroup 18053
FF_ellgens 16744
to_FFE_vec 16744
FF_equal 16580
ffrandom 15204
FF_equal1 8848
F2xq_ell_to_a4a6 7656
FF_Z_Z_muldiv 4704
FF_inv 4624
FF_zero 3248
FFC_to_raw 3087
p_to_FF 2611
ffgen 1839
FqV_to_FpXQV 1743
FF_ellorder 1722
FpXQ_ell_to_a4a6 1710
Fq_to_FF 1498
FF_Q_add 1442
FFM_to_raw 441
to_FFX 364
Z_FF_div 322
FF_primroot 322
ffprimroot 322
FF_ispower 287
raw_to_FFM 245
FF_f 196
FF_issquareall 182
fflog 168
FF_log 168
FFM_mul 161
FF_elldata 119
FF_sqrtn 105
FF_elltatepairing 91
FF_elllog 84
FFM_wrap 84
Tp_to_FF 84
FF_pow 78
FFX_init_fix_varn 77
FFX_factor 77
to_FF_fact 77
FqX_to_FFX 70
FF_sqrt 70
FqC_to_FpXQC 63
FF_p 56
FFM_inv 42
FF_equalm1 42
FF_norm 28
FF_conjvec 28
FF_order 28
FF_charpoly 28
fforder 28
FF_minpoly 28
FqM_to_FpXQM 28
FF_trace 28
FF_ellweilpairing 28
FFM_rank 21
FFM_ker 21
FFM_det 21
FFM_FFC_mul 21
FFM_image 21
FF_ellcard_SEA 14
FF_issquare 7
Fp_cmp_1 0
F3x_equalm1 0
FF_to_Flxq_i 0
FF_to_F2xq_i 0

Generated by: LCOV version 1.9