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 21188-db834f2) Lines: 1456 1575 92.4 %
Date: 2017-10-20 06:23:07 Functions: 174 185 94.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2c_to_ZC 552750
F2c_to_mod 3045
F2m_rowslice 14
F2m_to_Flm 0
F2m_to_ZM 121069
F2m_to_mod 112
F2v_add_inplace 56633261
F2v_slice 28
F2v_to_Flv 0
F2xC_to_FlxC 0
F2xC_to_ZXC 2331
F2xV_to_F2m 232094
F2xXC_to_ZXXC 707
F2xX_F2x_add 0
F2xX_F2x_mul 480746
F2xX_add 422590
F2xX_addspec 13395
F2xX_deriv 80738
F2xX_lgrenormalizespec 28692
F2xX_recipspec 26891
F2xX_renormalize 2424613
F2xX_to_Kronecker 307320
F2xX_to_Kronecker_spec 56116
F2xX_to_ZXX 2401
F2xY_F2xqV_evalx 136346
F2xY_F2xq_evalx 0
F2xY_degreex 205681
F2x_1_add 189946
F2x_F2xqV_eval 609994
F2x_F2xq_eval 42880
F2x_Frobenius 329892
F2x_add 30769348
F2x_addshift 27035
F2x_addshiftip 160154111
F2x_addshiftipspec 193383270
F2x_addspec 43337
F2x_deflate 0
F2x_degree 81027780
F2x_degree_lg 300332218
F2x_deriv 877094
F2x_divrem 13349823
F2x_eval 224
F2x_even_odd 62877
F2x_extgcd 1317492
F2x_factorel 15167
F2x_gcd 3275570
F2x_get_red 812
F2x_halfgcd 775
F2x_halfgcd_i 775
F2x_is_smooth 259268
F2x_is_smooth_squarefree 294994
F2x_is_x 18292
F2x_issquare 35805
F2x_matFrobenius 232094
F2x_mul 26966912
F2x_mul1 17566880
F2x_mulspec 27003338
F2x_mulspec_basecase 5097917
F2x_pow2n 220922
F2x_rem 57727897
F2x_shift 322908
F2x_shiftip 22682938
F2x_shiftneg 1742
F2x_shiftpos 321171
F2x_slice 1781658
F2x_sqr 8970288
F2x_sqrt 80965
F2x_to_F2v 1362548
F2x_to_F2xX 168
F2x_to_Flx 112851
F2x_to_ZX 191121
F2x_valrem 57211
F2xqXQV_red 63
F2xqXQ_autpow 70770
F2xqXQ_autpow_mul 33453
F2xqXQ_autpow_sqr 89145
F2xqXQ_auttrace 2639
F2xqXQ_auttrace_mul 6874
F2xqXQ_auttrace_sqr 4613
F2xqXQ_inv 7
F2xqXQ_invsafe 7
F2xqXQ_mul 114604
F2xqXQ_pow 7
F2xqXQ_powers 7315
F2xqXQ_sqr 104258
F2xqX_F2xqXQV_eval 13797
F2xqX_F2xqXQ_eval 122598
F2xqX_F2xq_mul 7558
F2xqX_F2xq_mul_to_monic 204596
F2xqX_divrem 33138
F2xqX_divrem_Barrett_noGC 3383
F2xqX_divrem_Barrettspec 13395
F2xqX_divrem_basecase 543005
F2xqX_extgcd 7
F2xqX_gcd 169141
F2xqX_get_red 2555
F2xqX_invBarrett 813
F2xqX_invBarrett_Newton 101
F2xqX_invBarrett_basecase 408
F2xqX_mul 153660
F2xqX_mulspec 28058
F2xqX_normalize 204610
F2xqX_powu 0
F2xqX_red 663439
F2xqX_rem 750029
F2xqX_sqr 105210
F2xq_Artin_Schreier 212653
F2xq_autpow 18299
F2xq_autpow_mul 14426
F2xq_autpow_sqr 28090
F2xq_conjvec 7
F2xq_div 531867
F2xq_easylog 81388
F2xq_inv 1317485
F2xq_invsafe 1317492
F2xq_log 46648
F2xq_log_Coppersmith 14
F2xq_log_Coppersmith_d 152
F2xq_log_Coppersmith_rec 28
F2xq_log_Coppersmith_worker 2044
F2xq_log_find_rel 90
F2xq_log_from_rel 126
F2xq_log_index 14
F2xq_matrix_pow 232094
F2xq_mul 8732493
F2xq_order 378
F2xq_pow 413760
F2xq_powers 361566
F2xq_powu 0
F2xq_sqr 8530172
F2xq_sqrt 32936
F2xq_sqrt_fast 62877
F2xq_sqrtn 9198
F2xq_trace 459824
Flm_to_F2m 0
Flv_to_F2v 511
FlxC_to_F2xC 15134
FlxXC_to_F2xXC 287
FlxX_to_F2xX 2128
Flx_to_F2x 244886
Kronecker_to_F2xqX 181718
RgM_to_F2m 287
RgV_to_F2v 7686
RgX_to_F2x 1141
Rg_to_F2xq 1209616
ZM_to_F2m 237824
ZV_to_F2v 1548904
ZXX_to_F2xX 3038
ZX_to_F2x 157025
Z_to_F2x 204673
_F2xqXQ_add 344407
_F2xqXQ_cmul 480746
_F2xqXQ_mul 114604
_F2xqXQ_one 375417
_F2xqXQ_red 352520
_F2xqXQ_sqr 32928
_F2xqXQ_zero 56
_F2xqX_mul 0
_F2xqX_sqr 0
_F2xq_add 1644521
_F2xq_cmul 2035844
_F2xq_equal0 826
_F2xq_inv 371
_F2xq_mul 1409847
_F2xq_neg 700
_F2xq_one 911691
_F2xq_pow 365259
_F2xq_rand 9324
_F2xq_red 569907
_F2xq_rmul 2436
_F2xq_s 574
_F2xq_sqr 1135420
_F2xq_zero 260050
check_kernel 14
const_F2v 335792
gener_F2xq 154
get_F2xqX_red 783167
get_F2xq_field 238
mkF2 26200
monomial_F2x 35
pol1_F2xX 447048
polx_F2xX 357
random_F2xqX 2758
rel_Coppersmith 147663
smallirred_F2x 14

Generated by: LCOV version 1.11