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 18890-99e9e62) Lines: 1184 1283 92.3 %
Date: 2016-05-02 Functions: 151 157 96.2 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 591 763 77.5 %

Function Name Sort by function name Hit count Sort by hit count
F2c_to_ZC 1024701
F2c_to_mod 3045
F2m_rowslice 14
F2m_to_Flm 1386
F2m_to_ZM 201266
F2m_to_mod 112
F2v_add_inplace 28418766
F2v_slice 28
F2v_to_Flv 3682
F2xC_to_FlxC 0
F2xC_to_ZXC 2597
F2xV_to_F2m 60199
F2xX_F2x_mul 321804
F2xX_add 290479
F2xX_deriv 66080
F2xX_renormalize 1725213
F2xX_to_Kronecker 169470
F2xX_to_ZXX 0
F2xY_F2xqV_evalx 90524
F2xY_F2xq_evalx 0
F2xY_degreex 161147
F2x_1_add 172988
F2x_F2xqV_eval 409486
F2x_F2xq_eval 36342
F2x_Frobenius 77854
F2x_add 18005509
F2x_addshift 11670042
F2x_addshiftip 75134837
F2x_addspec 9330256
F2x_deflate 36771
F2x_degree 37900814
F2x_degree_lg 142961057
F2x_deriv 292194
F2x_divrem 10486322
F2x_eval 224
F2x_even_odd 41542
F2x_extgcd 909882
F2x_factorel 7504
F2x_gcd 1273550
F2x_halfgcd 315
F2x_halfgcd_i 315
F2x_is_smooth 95417
F2x_is_smooth_squarefree 109956
F2x_is_x 15229
F2x_issquare 14567
F2x_matFrobenius 20825
F2x_mul 17594046
F2x_mul1 25789389
F2x_mulspec 39762262
F2x_pow2n 81760
F2x_rem 22782473
F2x_shift 116816
F2x_shiftip 36873054
F2x_shiftneg 490
F2x_shiftpos 116326
F2x_slice 525553
F2x_sqr 2762038
F2x_sqrt 18627
F2x_to_F2v 359156
F2x_to_Flx 87511
F2x_to_ZX 105970
F2x_valrem 45337
F2xqXQV_autpow 56322
F2xqXQV_auttrace 1624
F2xqXQ_autpow_mul 28518
F2xqXQ_autpow_sqr 56322
F2xqXQ_auttrace_mul 2842
F2xqXQ_auttrace_sqr 1624
F2xqXQ_mul 84735
F2xqXQ_pow 0
F2xqXQ_powers 2842
F2xqXQ_sqr 84574
F2xqX_F2xqXQV_eval 5684
F2xqX_F2xqXQ_eval 84840
F2xqX_F2xq_mul 86618
F2xqX_F2xq_mul_to_monic 159922
F2xqX_divrem 640318
F2xqX_gcd 192920
F2xqX_mul 84735
F2xqX_normalize 159922
F2xqX_red 576142
F2xqX_rem 757281
F2xqX_sqr 84574
F2xq_Artin_Schreier 39374
F2xq_autpow 15229
F2xq_autpow_mul 12813
F2xq_autpow_sqr 23515
F2xq_conjvec 7
F2xq_div 342629
F2xq_easylog 86163
F2xq_inv 909882
F2xq_invsafe 909882
F2xq_log 53298
F2xq_log_Coppersmith 7
F2xq_log_Coppersmith_d 42
F2xq_log_Coppersmith_rec 14
F2xq_log_find_rel 119
F2xq_log_from_rel 28
F2xq_log_index 7
F2xq_matrix_pow 60199
F2xq_mul 3376917
F2xq_order 352
F2xq_pow 294876
F2xq_powers 147881
F2xq_powu 3955
F2xq_sqr 2598316
F2xq_sqrt 29572
F2xq_sqrt_fast 41543
F2xq_sqrtn 868
F2xq_trace 84534
Flm_to_F2m 1386
Flv_to_F2v 6496
FlxC_to_F2xC 14091
FlxX_to_F2xX 0
Flx_to_F2x 146853
Kronecker_to_F2xqX 84735
RgM_to_F2m 287
RgV_to_F2v 7686
RgX_to_F2x 140
Rg_to_F2xq 165930
ZM_to_F2m 392508
ZV_to_F2v 2169217
ZXX_to_F2xX 2597
ZX_to_F2x 173646
Z_to_F2x 157304
_F2xqXQ_add 231315
_F2xqXQ_cmul 321804
_F2xqXQ_mul 84735
_F2xqXQ_one 262633
_F2xqXQ_red 259413
_F2xqXQ_sqr 28252
_F2xqXQ_zero 35
_F2xq_add 541336
_F2xq_cmul 768517
_F2xq_equal0 182
_F2xq_inv 91
_F2xq_mul 516586
_F2xq_neg 161
_F2xq_one 475765
_F2xq_pow 289540
_F2xq_rand 84
_F2xq_red 328492
_F2xq_rmul 728
_F2xq_s 119
_F2xq_sqr 490357
_F2xq_zero 218491
check_kernel 7
const_F2v 152728
gener_F2xq 84
get_F2xq_field 70
mkF2 18281
monomial_F2x 35
pol1_F2xX 319662
polx_F2xX 0
random_F2xqX 1624
rel_Coppersmith 54019
smallirred_F2x 7

Generated by: LCOV version 1.9