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 21501-1931cb9) Lines: 1437 1549 92.8 %
Date: 2017-12-16 06:20:36 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 77
F2xq_log_find_rel 90
F2xqX_invBarrett_Newton 101
F2xq_log_from_rel 126
F2xq_log_Coppersmith_d 152
gener_F2xq 154
F2x_eval 224
RgM_to_F2m 224
get_F2xq_field 252
FlxXC_to_F2xXC 315
F2x_to_F2xX 322
polx_F2xX 357
F2xq_order 378
_F2xq_inv 399
F2xqX_invBarrett_basecase 408
Flv_to_F2v 518
_F2xq_s 672
F2xXC_to_ZXXC 714
_F2xq_neg 728
F2x_halfgcd 775
F2x_halfgcd_i 775
F2xqX_invBarrett 813
F2x_get_red 847
_F2xq_equal0 910
RgX_to_F2x 1141
F2c_to_mod 1596
F2x_shiftneg 1742
F2xq_log_Coppersmith_worker 2037
FlxX_to_F2xX 2184
F2xC_to_ZXC 2226
F2xX_to_ZXX 2408
_F2xq_rmul 2506
F2xqX_get_red 2555
F2xqXQ_auttrace 2639
random_F2xqX 2758
ZXX_to_F2xX 2940
F2xqX_divrem_Barrett_noGC 3383
F2xqXQ_auttrace_sqr 4613
RgV_to_F2v 4760
F2xqXQ_auttrace_mul 6874
F2xqXQ_powers 7315
F2xqX_F2xq_mul 7558
F2xq_sqrtn 9205
_F2xq_rand 9324
F2xq_autpow_mul 12692
F2xX_addspec 13395
F2xqX_divrem_Barrettspec 13395
F2xqX_F2xqXQV_eval 13797
FlxC_to_F2xC 15141
F2x_factorel 15166
F2x_is_x 18038
F2xq_autpow 18045
mkF2 25941
F2xq_autpow_sqr 26356
F2xX_recipspec 26891
F2x_addshift 27035
F2xqX_mulspec 28058
F2xX_lgrenormalizespec 28692
F2xq_sqrt 32668
_F2xqXQ_sqr 32928
F2xqX_divrem 33180
F2xqXQ_autpow_mul 33453
F2x_issquare 35798
F2x_F2xq_eval 39748
F2x_addspec 43337
F2x_even_odd 44253
F2xq_sqrt_fast 44255
F2xq_log 46718
F2xX_to_Kronecker_spec 56116
F2x_valrem 57225
F2xqXQ_autpow 70658
F2xX_deriv 80633
F2x_sqrt 80971
F2xq_easylog 81402
F2xqXQ_autpow_sqr 89033
F2x_to_Flx 94058
F2xqXQ_sqr 104146
F2xqX_sqr 105098
F2xqXQ_mul 114492
_F2xqXQ_mul 114492
F2m_to_ZM 121167
F2xqX_F2xqXQ_eval 122486
F2xY_F2xqV_evalx 136234
rel_Coppersmith 147588
F2xqX_mul 154472
ZX_to_F2x 156330
F2xqX_gcd 168945
Kronecker_to_F2xqX 182530
F2x_1_add 189671
F2x_to_ZX 190839
F2xqX_F2xq_mul_to_monic 204379
F2xqX_normalize 204393
F2xY_degreex 205450
Z_to_F2x 205674
F2xq_Artin_Schreier 212583
F2x_pow2n 220856
Flx_to_F2x 226680
F2xV_to_F2m 232038
F2x_matFrobenius 232038
F2xq_matrix_pow 232038
ZM_to_F2m 238069
F2x_is_smooth 259171
_F2xq_zero 259868
F2x_is_smooth_squarefree 294871
F2xX_to_Kronecker 308944
F2x_shiftpos 321065
F2x_shift 322803
F2x_Frobenius 329790
const_F2v 335780
_F2xqXQ_add 344183
_F2xqXQ_red 352184
F2xq_powers 361398
_F2xq_pow 365448
_F2xqXQ_one 375081
F2xq_pow 413951
F2xX_add 422254
pol1_F2xX 446614
F2xq_trace 459500
F2xX_F2x_mul 480410
_F2xqXQ_cmul 480410
F2xq_div 530194
_F2xq_red 533713
F2xqX_divrem_basecase 542739
F2c_to_ZC 553562
F2x_F2xqV_eval 609546
F2xqX_red 662984
F2xqX_rem 749672
get_F2xqX_red 782852
_F2xq_one 875467
F2x_deriv 876765
_F2xq_sqr 1127466
Rg_to_F2xq 1204290
F2xq_inv 1315976
F2x_extgcd 1315983
F2xq_invsafe 1315983
_F2xq_add 1326805
F2x_to_F2v 1362394
_F2xq_mul 1362548
ZV_to_F2v 1551067
_F2xq_cmul 1714515
F2x_slice 1789134
F2xX_renormalize 2425782
F2x_gcd 3273871
F2x_mulspec_basecase 5045133
F2xq_sqr 8517614
F2xq_mul 8669020
F2x_sqr 8957731
F2x_divrem 13338707
F2x_mul1 17546589
F2x_shiftip 22609803
F2x_mul 26895537
F2x_mulspec 26931998
F2x_add 30430681
F2v_add_inplace 33229272
F2x_rem 57519978
F2x_degree 80721010
F2x_addshiftip 158078627
F2x_addshiftipspec 189793206
F2x_degree_lg 297636652

Generated by: LCOV version 1.11