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 20777-d2a9243) Lines: 1245 1341 92.8 %
Date: 2017-06-25 05:59:24 Functions: 154 162 95.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2c_to_ZC 552512
F2c_to_mod 3045
F2m_rowslice 14
F2m_to_Flm 0
F2m_to_ZM 119718
F2m_to_mod 112
F2v_add_inplace 56633503
F2v_slice 28
F2v_to_Flv 0
F2xC_to_FlxC 0
F2xC_to_ZXC 2058
F2xV_to_F2m 232150
F2xXC_to_ZXXC 637
F2xX_F2x_mul 480172
F2xX_add 422093
F2xX_deriv 80563
F2xX_renormalize 2230270
F2xX_to_Kronecker 228802
F2xX_to_ZXX 2331
F2xY_F2xqV_evalx 136038
F2xY_F2xq_evalx 0
F2xY_degreex 205513
F2x_1_add 186652
F2x_F2xqV_eval 608951
F2x_F2xq_eval 39556
F2x_Frobenius 329294
F2x_add 39282932
F2x_addshift 13242
F2x_addshiftip 147502830
F2x_addshiftipspec 177674477
F2x_addspec 17729
F2x_deflate 0
F2x_degree 75595792
F2x_degree_lg 277965427
F2x_deriv 853357
F2x_divrem 13067204
F2x_eval 224
F2x_even_odd 59880
F2x_extgcd 1309141
F2x_factorel 15007
F2x_gcd 3018956
F2x_halfgcd 663
F2x_halfgcd_i 663
F2x_is_smooth 236126
F2x_is_smooth_squarefree 271709
F2x_is_x 15396
F2x_issquare 35678
F2x_matFrobenius 232150
F2x_mul 35941828
F2x_mul1 26601958
F2x_mulspec 35962627
F2x_mulspec_basecase 5066995
F2x_pow2n 174010
F2x_rem 53064166
F2x_shift 274826
F2x_shiftip 31679235
F2x_shiftneg 1064
F2x_shiftpos 273766
F2x_slice 1013355
F2x_sqr 8610598
F2x_sqrt 80697
F2x_to_F2v 1361513
F2x_to_Flx 110969
F2x_to_ZX 191726
F2x_valrem 57295
F2xqXQV_autpow 70560
F2xqXQV_auttrace 2660
F2xqXQ_autpow_mul 33348
F2xqXQ_autpow_sqr 88900
F2xqXQ_auttrace_mul 6895
F2xqXQ_auttrace_sqr 4662
F2xqXQ_mul 114401
F2xqXQ_pow 7
F2xqXQ_powers 6965
F2xqXQ_sqr 103446
F2xqX_F2xqXQV_eval 13909
F2xqX_F2xqXQ_eval 122248
F2xqX_F2xq_mul 6923
F2xqX_F2xq_mul_to_monic 204057
F2xqX_divrem 540708
F2xqX_gcd 167720
F2xqX_mul 114401
F2xqX_normalize 204057
F2xqX_red 662004
F2xqX_rem 746613
F2xqX_sqr 103992
F2xq_Artin_Schreier 212674
F2xq_autpow 15395
F2xq_autpow_mul 14381
F2xq_autpow_sqr 25147
F2xq_conjvec 7
F2xq_div 527373
F2xq_easylog 81346
F2xq_inv 1309141
F2xq_invsafe 1309141
F2xq_log 46648
F2xq_log_Coppersmith 14
F2xq_log_Coppersmith_d 92
F2xq_log_Coppersmith_rec 28
F2xq_log_Coppersmith_worker 2043
F2xq_log_find_rel 59
F2xq_log_from_rel 67
F2xq_log_index 14
F2xq_matrix_pow 232150
F2xq_mul 8803130
F2xq_order 378
F2xq_pow 413527
F2xq_powers 361293
F2xq_powu 0
F2xq_sqr 8264182
F2xq_sqrt 29919
F2xq_sqrt_fast 59881
F2xq_sqrtn 9352
F2xq_trace 459826
Flm_to_F2m 0
Flv_to_F2v 14
FlxC_to_F2xC 14917
FlxXC_to_F2xXC 378
FlxX_to_F2xX 1967
Flx_to_F2x 241421
Kronecker_to_F2xqX 114401
RgM_to_F2m 287
RgV_to_F2v 7686
RgX_to_F2x 1141
Rg_to_F2xq 1209524
ZM_to_F2m 235101
ZV_to_F2v 1551886
ZXX_to_F2xX 2695
ZX_to_F2x 157208
Z_to_F2x 160097
_F2xqXQ_add 344036
_F2xqXQ_cmul 480172
_F2xqXQ_mul 114401
_F2xqXQ_one 374332
_F2xqXQ_red 351939
_F2xqXQ_sqr 32879
_F2xqXQ_zero 21
_F2xq_add 1614570
_F2xq_cmul 2001713
_F2xq_equal0 826
_F2xq_inv 371
_F2xq_mul 1403812
_F2xq_neg 700
_F2xq_one 899040
_F2xq_pow 365028
_F2xq_rand 9324
_F2xq_red 556789
_F2xq_rmul 2436
_F2xq_s 574
_F2xq_sqr 1134450
_F2xq_zero 259952
check_kernel 14
const_F2v 335130
gener_F2xq 154
get_F2xq_field 238
mkF2 23066
monomial_F2x 35
pol1_F2xX 445767
polx_F2xX 0
random_F2xqX 2779
rel_Coppersmith 148120
smallirred_F2x 14

Generated by: LCOV version 1.11