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-bordeaux1.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 16912-212c0f0) Lines: 864 938 92.1 %
Date: 2014-10-20 Functions: 104 107 97.2 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 467 603 77.4 %

Function Name Sort by function name Hit count Sort by hit count
F2c_to_Flc 3374
F2c_to_ZC 866299
F2c_to_mod 3010
F2m_rowslice 14
F2m_to_Flm 1232
F2m_to_ZM 151739
F2m_to_mod 98
F2v_add_inplace 21444982
F2v_slice 28
F2xC_to_ZXC 1624
F2xV_to_F2m 51005
F2x_1_add 661
F2x_F2xqV_eval 0
F2x_F2xq_eval 15097
F2x_add 12478906
F2x_addshift 11587545
F2x_addshiftip 63351746
F2x_addspec 9225571
F2x_deflate 36189
F2x_degree 23415613
F2x_degree_lg 106565229
F2x_deriv 253396
F2x_divrem 9145084
F2x_even_odd 12238
F2x_extgcd 355013
F2x_factorel 7280
F2x_gcd 1106648
F2x_halfgcd 126
F2x_halfgcd_i 126
F2x_is_smooth 81634
F2x_is_smooth_squarefree 95991
F2x_is_x 4806
F2x_issquare 14357
F2x_mul 10054103
F2x_mul1 20963770
F2x_mulspec 32087155
F2x_pow2n 54838
F2x_rem 12587187
F2x_shift 89180
F2x_shiftip 31980296
F2x_shiftneg 175
F2x_shiftpos 89005
F2x_sqr 1760016
F2x_sqrt 17493
F2x_to_F2v 332881
F2x_to_Flx 15708
F2x_to_ZX 90967
F2x_valrem 44000
F2xq_Artin_Schreier 30852
F2xq_autpow 4806
F2xq_autpow_mul 6349
F2xq_autpow_sqr 8734
F2xq_conjvec 7
F2xq_div 325732
F2xq_easylog 63
F2xq_inv 355013
F2xq_invsafe 355013
F2xq_log 21
F2xq_log_Coppersmith 7
F2xq_log_Coppersmith_d 14
F2xq_log_Coppersmith_rec 14
F2xq_log_find_rel 28
F2xq_log_from_rel 7
F2xq_log_index 7
F2xq_matrix_pow 51005
F2xq_mul 1222555
F2xq_order 388
F2xq_pow 6426
F2xq_powers 51005
F2xq_powu 3668
F2xq_sqr 1650340
F2xq_sqrt 5012
F2xq_sqrt_fast 12238
F2xq_sqrtn 56
F2xq_trace 65225
Flm_to_F2m 1232
Flv_to_F2v 6034
Flx_to_F2x 87029
RgM_to_F2m 259
RgV_to_F2v 7623
RgX_to_F2x 0
Rg_to_F2xq 97720
ZM_to_F2m 294266
ZV_to_F2v 1798552
ZXX_to_F2xX 1624
ZX_to_F2x 5347
Z_to_F2x 1720
_F2xq_add 75891
_F2xq_cmul 90589
_F2xq_equal0 147
_F2xq_inv 77
_F2xq_mul 252004
_F2xq_neg 140
_F2xq_one 101745
_F2xq_pow 1049
_F2xq_rand 70
_F2xq_red 51293
_F2xq_rmul 665
_F2xq_s 98
_F2xq_sqr 222247
_F2xq_zero 0
check_kernel 7
gener_F2xq 84
get_F2xq_field 56
mkF2 7585
rel_Coppersmith 54019
smallirred_F2x 7

Generated by: LCOV version 1.9