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 to exceed 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.12.0 lcov report (development 23008-54b2e2f01) Lines: 1429 1544 92.6 %
Date: 2018-09-20 05:37:46 Functions: 176 187 94.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
F2xX_F2x_add 0
F2xY_F2xq_evalx 0
F2x_deflate 0
F2xqX_powu 0
F2xq_powu 0
Flm_to_F2m 0
_F2xqX_mul 0
_F2xqX_sqr 0
F2xqXQ_inv 7
F2xqXQ_invsafe 7
F2xqXQ_pow 7
F2xqX_extgcd 7
F2xq_conjvec 7
F2m_rowslice 14
F2xq_log_Coppersmith 14
F2xq_log_index 14
F2xq_pow_init 14
check_kernel 14
smallirred_F2x 14
F2v_slice 28
F2xq_log_Coppersmith_rec 28
F2xq_log_from_rel 45
F2xq_log_find_rel 52
_F2xqXQ_zero 56
F2xq_log_Coppersmith_d 57
F2xqXQV_red 63
monomial_F2x 63
F2m_to_mod 84
F2xqX_invBarrett_Newton 101
gener_F2xq 154
RgM_to_F2m 238
F2x_eval 245
FlxXC_to_F2xXC 252
F2x_to_F2xX 322
F2xq_order 378
F2xqX_invBarrett_basecase 408
_F2xq_inv 413
polx_F2xX 448
F2x_halfgcd 486
F2x_halfgcd_i 486
FlxX_to_F2xX 553
Flv_to_F2v 595
F2x_shiftneg 660
_F2xq_s 679
F2xXC_to_ZXXC 763
_F2xq_neg 798
F2xqX_invBarrett 813
F2xX_to_ZXX 889
F2x_get_red 945
_F2xq_equal0 973
RgX_to_F2x 1183
F2c_to_mod 1610
get_F2xq_field 1659
F2xq_log_Coppersmith_worker 2113
F2xqXQ_auttrace 2639
F2xqX_get_red 2639
random_F2xqX 2744
F2xqX_divrem_Barrett_noGC 3383
F2xC_to_ZXC 3682
ZXX_to_F2xX 4445
F2xqXQ_auttrace_sqr 4613
RgV_to_F2v 4788
F2xq_pow_table 5246
F2xqXQ_auttrace_mul 6874
F2xqXQ_powers 7385
F2xqX_F2xq_mul 7551
F2xq_sqrtn 9233
_F2xq_rand 9247
F2x_valrem 11683
F2xq_autpow_mul 13250
F2xX_addspec 13395
F2xqX_divrem_Barrettspec 13395
_F2xq_rmul 13748
F2xqX_F2xqXQV_eval 13797
F2x_factorel 15150
FlxC_to_F2xC 16625
F2x_is_x 18159
F2xq_autpow 18166
mkF2 25836
F2xX_recipspec 26891
F2xq_autpow_sqr 26942
F2xqX_mulspec 28058
F2xX_lgrenormalizespec 28692
F2x_addshift 30514
_F2xqXQ_sqr 32928
F2xq_sqrt 32999
F2xqX_divrem 33292
F2xqXQ_autpow_mul 33439
F2x_issquare 36906
F2x_F2xq_eval 40892
F2xq_log 45444
F2x_addspec 46088
F2x_even_odd 50142
F2xq_sqrt_fast 50142
F2xX_to_Kronecker_spec 56116
F2xqXQ_autpow 70812
F2xq_easylog 80090
F2xX_deriv 80815
F2xqXQ_autpow_sqr 89327
Flx_to_F2x 94079
F2x_sqrt 95877
F2xqXQ_sqr 104230
F2x_to_Flx 104374
F2xqX_sqr 105182
_F2xqXQ_mul 114555
F2xqXQ_mul 114562
F2xqX_F2xqXQ_eval 122766
F2x_pow2n 136106
F2xY_F2xqV_evalx 136514
F2xqX_mul 153394
rel_Coppersmith 154075
F2m_to_ZM 164206
F2xqX_gcd 169309
Kronecker_to_F2xqX 181452
F2x_1_add 189736
F2x_to_ZX 197412
F2xqX_F2xq_mul_to_monic 206472
F2xqX_normalize 206486
F2xY_degreex 207151
Z_to_F2x 208292
F2xq_Artin_Schreier 212534
F2x_is_smooth 222896
F2xq_matrix_pow 223126
F2xV_to_F2m 223127
F2x_matFrobenius 223127
F2x_shiftpos 239598
F2x_shift 240168
F2x_is_smooth_squarefree 259498
_F2xq_zero 260043
F2xX_to_Kronecker 306788
ZM_to_F2m 321208
const_F2v 342312
_F2xqXQ_add 344477
ZX_to_F2x 347402
_F2xqXQ_red 352590
F2xq_powers 352766
_F2xq_pow 361578
F2x_Frobenius 374586
_F2xqXQ_one 375774
F2xq_pow 404914
F2xX_add 422632
pol1_F2xX 447489
F2xq_trace 460537
F2xX_F2x_mul 480984
_F2xqXQ_cmul 480984
F2xqX_divrem_basecase 543229
_F2xq_red 551832
F2xq_div 575737
F2x_F2xqV_eval 610400
F2xqX_red 665147
F2c_to_ZC 716813
F2xqX_rem 750253
get_F2xqX_red 783545
_F2xq_sqr 853120
F2x_deriv 855526
_F2xq_one 884418
Rg_to_F2xq 1164635
F2xq_inv 1363222
F2x_extgcd 1363229
F2xq_invsafe 1363229
_F2xq_add 1433152
F2x_to_F2v 1501908
_F2xq_mul 1546245
F2x_slice 1788224
_F2xq_cmul 1816171
ZV_to_F2v 2049211
F2xX_renormalize 2430332
F2x_gcd 2843540
F2x_mulspec_basecase 5077116
F2xq_sqr 7831927
F2x_sqr 8097313
F2xq_mul 8962913
F2x_divrem 13106538
F2x_mul1 17863359
F2x_shiftip 22961831
F2x_mul 27325176
F2x_mulspec 27368877
F2x_add 30114043
F2v_add_inplace 30980391
F2x_rem 47429077
F2x_degree 70207562
F2x_addshiftip 128743368
F2x_addshiftipspec 161087582
F2x_degree_lg 248425878

Generated by: LCOV version 1.13