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 21913-852521c) Lines: 1437 1549 92.8 %
Date: 2018-02-19 06:15:51 Functions: 174 185 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
check_kernel 14
smallirred_F2x 14
F2v_slice 28
F2xq_log_Coppersmith_rec 28
monomial_F2x 35
_F2xqXQ_zero 56
F2xqXQV_red 63
F2m_to_mod 84
F2xq_log_find_rel 90
F2xqX_invBarrett_Newton 101
F2xq_log_from_rel 126
F2xq_log_Coppersmith_d 152
gener_F2xq 154
RgM_to_F2m 238
F2x_eval 245
get_F2xq_field 259
F2x_to_F2xX 322
FlxXC_to_F2xXC 322
polx_F2xX 371
F2xq_order 378
F2xqX_invBarrett_basecase 408
_F2xq_inv 413
Flv_to_F2v 546
_F2xq_s 679
F2xXC_to_ZXXC 735
F2x_halfgcd 775
F2x_halfgcd_i 775
_F2xq_neg 798
F2xqX_invBarrett 813
F2x_get_red 868
_F2xq_equal0 973
RgX_to_F2x 1155
F2c_to_mod 1610
F2x_shiftneg 1742
F2xq_log_Coppersmith_worker 2046
FlxX_to_F2xX 2191
F2xC_to_ZXC 2226
F2xX_to_ZXX 2429
_F2xq_rmul 2548
F2xqX_get_red 2569
F2xqXQ_auttrace 2639
random_F2xqX 2737
ZXX_to_F2xX 2961
F2xqX_divrem_Barrett_noGC 3383
F2xqXQ_auttrace_sqr 4613
RgV_to_F2v 4788
F2xqXQ_auttrace_mul 6874
F2xqXQ_powers 7336
F2xqX_F2xq_mul 7565
F2xq_sqrtn 9233
_F2xq_rand 9324
F2xX_addspec 13395
F2xqX_divrem_Barrettspec 13395
F2xqX_F2xqXQV_eval 13797
F2xq_autpow_mul 14490
FlxC_to_F2xC 15141
F2x_factorel 15179
F2x_is_x 18337
F2xq_autpow 18345
mkF2 26247
F2xX_recipspec 26891
F2x_addshift 27035
F2xqX_mulspec 28058
F2xq_autpow_sqr 28156
F2xX_lgrenormalizespec 28692
_F2xqXQ_sqr 32928
F2xq_sqrt 32996
F2xqX_divrem 33194
F2xqXQ_autpow_mul 33453
F2x_issquare 35879
F2x_addspec 43337
F2x_F2xq_eval 43347
F2xq_log 46711
F2xX_to_Kronecker_spec 56116
F2x_valrem 57983
F2x_even_odd 63157
F2xq_sqrt_fast 63157
F2xqXQ_autpow 70665
F2xX_deriv 80647
F2xq_easylog 81238
F2x_sqrt 81887
F2xqXQ_autpow_sqr 89040
F2xqXQ_sqr 104048
F2xqX_sqr 105000
F2x_to_Flx 113397
_F2xqXQ_mul 114492
F2xqXQ_mul 114499
F2m_to_ZM 122189
F2xqX_F2xqXQ_eval 122493
F2xY_F2xqV_evalx 136241
rel_Coppersmith 147949
F2xqX_mul 154472
ZX_to_F2x 156742
F2xqX_gcd 168952
Kronecker_to_F2xqX 182530
F2x_1_add 189971
F2x_to_ZX 192949
F2xqX_F2xq_mul_to_monic 204414
F2xqX_normalize 204428
F2xY_degreex 205464
Z_to_F2x 205765
F2xq_Artin_Schreier 212583
F2x_pow2n 221093
F2xV_to_F2m 232101
F2x_matFrobenius 232101
F2xq_matrix_pow 232101
ZM_to_F2m 240183
Flx_to_F2x 247312
F2x_is_smooth 259647
_F2xq_zero 259868
F2x_is_smooth_squarefree 295422
F2xX_to_Kronecker 308944
F2x_shiftpos 321547
F2x_shift 323281
F2x_Frobenius 329927
const_F2v 336660
_F2xqXQ_add 344190
_F2xqXQ_red 352191
F2xq_powers 361468
_F2xq_pow 364875
_F2xqXQ_one 375116
F2xq_pow 413378
F2xX_add 422170
pol1_F2xX 446663
F2xq_trace 459800
F2xX_F2x_mul 480424
_F2xqXQ_cmul 480424
F2xq_div 530194
F2xqX_divrem_basecase 542669
F2c_to_ZC 557636
_F2xq_red 570993
F2x_F2xqV_eval 609567
F2xqX_red 662956
F2xqX_rem 749553
get_F2xqX_red 782747
F2x_deriv 879281
_F2xq_one 912741
_F2xq_sqr 1135477
Rg_to_F2xq 1209690
F2xq_inv 1316538
F2x_extgcd 1316545
F2xq_invsafe 1316545
F2x_to_F2v 1362632
_F2xq_mul 1409857
ZV_to_F2v 1561357
_F2xq_add 1648100
F2x_slice 1789134
_F2xq_cmul 2038804
F2xX_renormalize 2425768
F2x_gcd 3279621
F2x_mulspec_basecase 5098664
F2xq_sqr 8535746
F2xq_mul 8738629
F2x_sqr 8976690
F2x_divrem 13350290
F2x_mul1 17564652
F2x_shiftip 22681306
F2x_mul 26970285
F2x_mulspec 27006769
F2x_add 30783952
F2x_rem 57700921
F2v_add_inplace 57834628
F2x_degree 80952775
F2x_addshiftip 160414397
F2x_addshiftipspec 193503060
F2x_degree_lg 300009469

Generated by: LCOV version 1.11