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 20422-b487f4d) Lines: 1245 1341 92.8 %
Date: 2017-03-22 05:51:54 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 60
F2xq_log_from_rel 66
F2xq_log_Coppersmith_d 92
F2m_to_mod 112
gener_F2xq 154
FlxXC_to_F2xXC 161
F2xXC_to_ZXXC 224
F2x_eval 224
get_F2xq_field 238
RgM_to_F2m 287
_F2xq_inv 371
F2xq_order 378
_F2xq_s 574
F2x_halfgcd 636
F2x_halfgcd_i 636
_F2xq_neg 700
_F2xq_equal0 826
F2x_shiftneg 1063
RgX_to_F2x 1218
FlxX_to_F2xX 1736
F2xX_to_ZXX 1813
F2xq_log_Coppersmith_worker 2037
F2xC_to_ZXC 2051
ZXX_to_F2xX 2275
_F2xq_rmul 2436
F2xqXQV_auttrace 2660
random_F2xqX 2702
F2c_to_mod 3045
F2xqXQ_auttrace_sqr 4662
F2xqXQ_auttrace_mul 6895
F2xqX_F2xq_mul 6895
F2xqXQ_powers 6923
F2xq_sqrtn 7210
RgV_to_F2v 7686
_F2xq_rand 9324
F2xq_autpow_mul 12587
F2x_addshift 13242
F2xqX_F2xqXQV_eval 13867
FlxC_to_F2xC 14910
F2x_factorel 14985
F2x_is_x 15033
F2xq_autpow 15033
F2x_addspec 17729
mkF2 22704
F2xq_autpow_sqr 23289
F2xq_sqrt 29503
_F2xqXQ_sqr 32837
F2xqXQ_autpow_mul 33306
F2x_issquare 35652
F2x_F2xq_eval 35905
F2xq_log 40775
F2x_even_odd 40981
F2xq_sqrt_fast 40983
F2x_valrem 53089
F2xqXQV_autpow 70518
F2xq_easylog 75116
F2x_sqrt 78669
F2xX_deriv 80332
F2xqXQ_autpow_sqr 88816
F2m_to_ZM 89856
F2x_to_Flx 90899
F2xqXQ_sqr 103362
F2xqX_sqr 103523
F2xqXQ_mul 114296
F2xqX_mul 114296
Kronecker_to_F2xqX 114296
_F2xqXQ_mul 114296
F2xqX_F2xqXQ_eval 122122
ZX_to_F2x 133369
F2xY_F2xqV_evalx 135912
F2x_to_ZX 146385
rel_Coppersmith 147985
Z_to_F2x 159502
F2xqX_gcd 166985
ZM_to_F2m 174397
F2x_pow2n 175505
F2x_1_add 186354
Flx_to_F2x 186824
F2xqX_F2xq_mul_to_monic 203119
F2xqX_normalize 203119
F2xY_degreex 205093
F2xq_Artin_Schreier 212681
F2xX_to_Kronecker 228592
F2xV_to_F2m 229861
F2x_matFrobenius 229861
F2xq_matrix_pow 229861
F2x_is_smooth 236690
_F2xq_zero 259861
F2x_is_smooth_squarefree 272217
F2x_shiftpos 275160
F2x_shift 276230
const_F2v 309183
F2x_Frobenius 326671
_F2xq_pow 341928
_F2xqXQ_add 343763
_F2xqXQ_red 351561
F2xq_powers 358878
F2c_to_ZC 368559
_F2xqXQ_one 373891
F2xq_pow 390441
F2xX_add 421393
pol1_F2xX 445137
F2xq_trace 459541
F2xX_F2x_mul 479731
_F2xqXQ_cmul 479731
_F2xq_red 519090
F2xq_div 527380
F2xqX_divrem 538545
F2x_F2xqV_eval 608468
F2xqX_red 661381
F2xqX_rem 745059
F2x_deriv 847112
_F2xq_one 858915
ZV_to_F2v 1005151
F2x_slice 1012830
_F2xq_sqr 1117043
Rg_to_F2xq 1204534
_F2xq_add 1292082
F2x_extgcd 1300745
F2xq_inv 1300745
F2xq_invsafe 1300745
_F2xq_mul 1334875
F2x_to_F2v 1340708
_F2xq_cmul 1674669
F2xX_renormalize 2225979
F2x_gcd 3013643
F2x_mulspec_basecase 5013615
F2xq_sqr 8244442
F2x_sqr 8593521
F2xq_mul 8709738
F2x_divrem 13044525
F2x_mul1 26540082
F2v_add_inplace 31183978
F2x_shiftip 31563966
F2x_mul 35821747
F2x_mulspec 35842586
F2x_add 38920898
F2x_rem 52750966
F2x_degree 75218195
F2x_addshiftip 145624477
F2x_addshiftipspec 174610645
F2x_degree_lg 276550354

Generated by: LCOV version 1.11