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 - F2x.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 19350-bd5f220) Lines: 1229 1318 93.2 %
Date: 2016-08-24 06:11:24 Functions: 154 159 96.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2xC_to_FlxC 0
F2xX_to_ZXX 0
F2xY_F2xq_evalx 0
FlxX_to_F2xX 0
polx_F2xX 0
F2xqXQ_pow 7
F2xq_conjvec 7
F2xq_log_Coppersmith 7
F2xq_log_index 7
F2xq_powu 7
check_kernel 7
smallirred_F2x 7
F2m_rowslice 14
F2xq_log_Coppersmith_rec 14
_F2xqXQ_zero 21
F2v_slice 28
F2xq_log_from_rel 28
monomial_F2x 35
F2xq_log_Coppersmith_d 42
_F2xq_rand 91
gener_F2xq 91
get_F2xq_field 91
F2m_to_mod 112
_F2xq_inv 112
F2xq_log_find_rel 119
_F2xq_s 168
_F2xq_neg 182
F2x_eval 224
_F2xq_equal0 231
RgM_to_F2m 287
F2x_halfgcd 315
F2x_halfgcd_i 315
F2xq_order 350
F2x_shiftneg 490
_F2xq_rmul 777
F2xq_sqrtn 910
RgX_to_F2x 1218
F2m_to_Flm 1386
Flm_to_F2m 1386
F2xqXQV_auttrace 2499
random_F2xqX 2499
F2xC_to_ZXC 2632
ZXX_to_F2xX 2632
F2c_to_mod 3045
F2v_to_Flv 3682
F2xqXQ_auttrace_sqr 4487
Flv_to_F2v 6496
F2xqXQ_auttrace_mul 6615
F2xqXQ_powers 6615
F2xqX_F2xq_mul 6888
F2x_factorel 7504
RgV_to_F2v 7686
F2xq_autpow_mul 12728
F2xqX_F2xqXQV_eval 13230
F2x_addshift 13386
FlxC_to_F2xC 14063
F2x_issquare 14567
F2x_is_x 15104
F2xq_autpow 15104
F2x_matFrobenius 17543
F2x_addspec 17997
mkF2 18156
F2x_sqrt 18641
F2xq_autpow_sqr 23431
F2xqXQ_autpow_mul 28518
F2xq_sqrt 29419
_F2xqXQ_sqr 32480
F2x_F2xq_eval 36173
F2x_deflate 36687
F2xq_Artin_Schreier 39956
F2x_even_odd 41920
F2xq_sqrt_fast 41922
F2xq_log 53291
rel_Coppersmith 54019
F2x_valrem 54578
F2xqXQV_autpow 56462
F2xqXQ_autpow_sqr 56462
F2xV_to_F2m 57499
F2xq_matrix_pow 57499
F2xX_deriv 66227
F2x_pow2n 81760
F2xqX_F2xqXQ_eval 84980
F2xq_trace 85531
F2xq_easylog 86177
F2x_to_Flx 87973
F2xqXQ_sqr 88949
F2xqX_sqr 88949
F2x_Frobenius 89531
F2xqXQ_mul 95347
F2xqX_mul 95347
Kronecker_to_F2xqX 95347
_F2xqXQ_mul 95347
F2x_is_smooth 95417
F2xY_F2xqV_evalx 98210
F2x_is_smooth_squarefree 109956
F2x_shiftpos 116326
F2x_shift 116816
F2xqX_gcd 138558
F2xq_powers 149094
const_F2v 150124
F2x_to_ZX 152538
Z_to_F2x 157423
F2xqX_F2xq_mul_to_monic 161140
F2xqX_normalize 161140
F2xY_degreex 163275
Rg_to_F2xq 168535
F2x_1_add 173669
ZX_to_F2x 174270
Flx_to_F2x 183574
F2xX_to_Kronecker 190694
F2m_to_ZM 201546
_F2xq_zero 225750
_F2xqXQ_red 276080
_F2xqXQ_one 279853
_F2xqXQ_add 286272
_F2xq_pow 289674
F2xq_pow 295031
F2x_deriv 302355
pol1_F2xX 337029
F2xq_div 343462
F2xX_add 349356
F2x_to_F2v 356591
F2xX_F2x_mul 384461
_F2xqXQ_cmul 384461
_F2xq_red 387970
ZM_to_F2m 393278
F2x_F2xqV_eval 476056
F2xqX_divrem 490637
_F2xq_sqr 505172
_F2xq_one 536365
F2xqX_red 543928
_F2xq_mul 548021
F2xqX_rem 668829
F2x_extgcd 837791
F2xq_inv 837791
F2xq_invsafe 837791
F2x_slice 918687
_F2xq_add 1003875
F2c_to_ZC 1024623
_F2xq_cmul 1290301
F2x_gcd 1295755
F2xX_renormalize 1755523
ZV_to_F2v 2164995
F2xq_sqr 2680577
F2x_sqr 2844301
F2xq_mul 3253646
F2x_mulspec_basecase 4992451
F2x_divrem 10316142
F2x_mul1 20067678
F2x_shiftip 25070514
F2x_rem 25196047
F2x_mul 28460209
F2x_mulspec 28481216
F2x_add 29111844
F2v_add_inplace 29922015
F2x_degree 40999988
F2x_addshiftip 91932908
F2x_addshiftipspec 119190735
F2x_degree_lg 164776850

Generated by: LCOV version 1.11