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.10.0 lcov report (development 20924-e159ed0) Lines: 1245 1341 92.8 %
Date: 2017-08-21 06:23:16 Functions: 154 162 95.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2m_to_Flm 0
F2v_to_Flv 0
F2xC_to_FlxC 0
F2xY_F2xq_evalx 0
F2x_deflate 0
F2xq_powu 0
Flm_to_F2m 0
polx_F2xX 0
F2xqXQ_pow 7
F2xq_conjvec 7
F2m_rowslice 14
F2xq_log_Coppersmith 14
F2xq_log_index 14
Flv_to_F2v 14
check_kernel 14
smallirred_F2x 14
_F2xqXQ_zero 21
F2v_slice 28
F2xq_log_Coppersmith_rec 28
monomial_F2x 35
F2xq_log_find_rel 90
F2m_to_mod 112
F2xq_log_from_rel 126
F2xq_log_Coppersmith_d 152
gener_F2xq 154
F2x_eval 224
get_F2xq_field 238
RgM_to_F2m 287
_F2xq_inv 371
F2xq_order 378
FlxXC_to_F2xXC 385
_F2xq_s 574
F2xXC_to_ZXXC 658
_F2xq_neg 700
F2x_halfgcd 775
F2x_halfgcd_i 775
_F2xq_equal0 826
RgX_to_F2x 1141
F2x_shiftneg 1742
FlxX_to_F2xX 1974
F2xq_log_Coppersmith_worker 2043
F2xC_to_ZXC 2331
F2xX_to_ZXX 2352
_F2xq_rmul 2436
F2xqXQ_auttrace 2660
random_F2xqX 2779
ZXX_to_F2xX 2989
F2c_to_mod 3045
F2xqXQ_auttrace_sqr 4662
F2xqXQ_auttrace_mul 6895
F2xqX_F2xq_mul 6923
F2xqXQ_powers 6965
RgV_to_F2v 7686
_F2xq_rand 9324
F2xq_sqrtn 9387
F2x_addshift 13326
F2xqX_F2xqXQV_eval 13909
F2xq_autpow_mul 14423
F2x_factorel 15171
FlxC_to_F2xC 15190
F2x_is_x 15403
F2xq_autpow 15403
F2x_addspec 17897
mkF2 23311
F2xq_autpow_sqr 25190
F2xq_sqrt 29942
_F2xqXQ_sqr 32879
F2xqXQ_autpow_mul 33348
F2x_issquare 35893
F2x_F2xq_eval 39642
F2xq_log 46648
F2x_valrem 57295
F2x_even_odd 60334
F2xq_sqrt_fast 60335
F2xqXQ_autpow 70560
F2xX_deriv 80563
F2x_sqrt 81171
F2xq_easylog 81346
F2xqXQ_autpow_sqr 88900
F2xqXQ_sqr 103446
F2xqX_sqr 104909
F2x_to_Flx 113342
F2xqXQ_mul 114401
_F2xqXQ_mul 114401
F2m_to_ZM 121139
F2xqX_F2xqXQ_eval 122248
F2xY_F2xqV_evalx 136038
rel_Coppersmith 147872
F2xqX_mul 150552
Kronecker_to_F2xqX 150552
ZX_to_F2x 157531
F2xqX_gcd 167720
F2x_1_add 189360
F2x_to_ZX 192224
Z_to_F2x 192871
F2xqX_F2xq_mul_to_monic 204351
F2xqX_normalize 204351
F2xY_degreex 205807
F2xq_Artin_Schreier 212674
F2x_pow2n 221050
F2xV_to_F2m 232150
F2x_matFrobenius 232150
F2xq_matrix_pow 232150
ZM_to_F2m 238013
Flx_to_F2x 243485
F2x_is_smooth 259536
_F2xq_zero 259952
F2x_is_smooth_squarefree 295325
F2xX_to_Kronecker 301104
F2x_shiftpos 321422
F2x_shift 323171
F2x_Frobenius 329666
const_F2v 335953
_F2xqXQ_add 344036
_F2xqXQ_red 351939
F2xq_powers 361293
_F2xq_pow 365028
_F2xqXQ_one 374332
F2xq_pow 413531
F2xX_add 422093
pol1_F2xX 445767
F2xq_trace 459833
F2xX_F2x_mul 480172
_F2xqXQ_cmul 480172
F2xq_div 529130
F2xqX_divrem 540708
F2c_to_ZC 556803
_F2xq_red 557625
F2x_F2xqV_eval 608951
F2xqX_red 662277
F2xqX_rem 746613
F2x_deriv 877555
_F2xq_one 899910
_F2xq_sqr 1134809
F2x_slice 1186185
Rg_to_F2xq 1209654
F2x_extgcd 1310976
F2xq_inv 1310976
F2xq_invsafe 1310976
F2x_to_F2v 1362191
_F2xq_mul 1404972
ZV_to_F2v 1564073
_F2xq_add 1621772
_F2xq_cmul 2008876
F2xX_renormalize 2340508
F2x_gcd 3278786
F2x_mulspec_basecase 5071657
F2xq_sqr 8527116
F2xq_mul 8690550
F2x_sqr 8967278
F2x_divrem 13330968
F2x_mul1 26578576
F2x_shiftip 31660571
F2x_mul 35895495
F2x_mulspec 35916375
F2x_add 39552493
F2v_add_inplace 56638532
F2x_rem 57146479
F2x_degree 80285442
F2x_addshiftip 157945997
F2x_addshiftipspec 188471399
F2x_degree_lg 297564215

Generated by: LCOV version 1.11