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 23348-5caea72e3) Lines: 1463 1575 92.9 %
Date: 2018-12-14 05:41:32 Functions: 179 189 94.7 %
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
Flm_to_F2m 0
_F2xqX_mul 0
_F2xqX_sqr 0
F2xqXQ_inv 7
F2xqXQ_invsafe 7
F2xqXQ_pow 7
F2xq_conjvec 7
F2m_rowslice 14
F2xqX_disc 14
F2xqX_extgcd 14
F2xq_log_Coppersmith 14
F2xq_log_index 14
F2xq_pow_init 14
check_kernel 14
smallirred_F2x 14
F2xqX_resultant 21
F2v_slice 28
F2xq_log_Coppersmith_rec 28
F2xq_log_from_rel 45
F2xq_powu 49
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
_F2xq_neg 798
F2xqX_invBarrett 813
F2xXC_to_ZXXC 819
F2xX_to_ZXX 945
_F2xq_equal0 973
F2x_get_red 1001
RgX_to_F2x 1190
F2c_to_mod 1610
get_F2xq_field 1659
F2xq_log_Coppersmith_worker 2116
F2xqXQ_auttrace 2639
F2xqX_get_red 2639
random_F2xqX 2744
F2xqX_divrem_Barrett 3383
F2xC_to_ZXC 3682
ZXX_to_F2xX 4501
F2xqXQ_auttrace_sqr 4613
RgV_to_F2v 4788
F2xq_pow_table 5246
F2xqXQ_auttrace_mul 6874
F2xqXQ_powers 7385
F2xqX_F2xq_mul 7558
F2xq_sqrtn 9233
_F2xq_rand 9247
F2x_valrem 11757
F2xq_autpow_mul 13190
F2xX_addspec 13255
F2xqX_divrem_Barrettspec 13395
_F2xq_rmul 13748
F2xqX_F2xqXQV_eval 13797
F2x_factorel 15164
FlxC_to_F2xC 16625
F2x_is_x 18149
F2xq_autpow 18156
mkF2 25830
F2xq_autpow_sqr 26882
F2xX_recipspec 26891
F2xqX_mulspec 27918
F2xX_lgrenormalizespec 28692
F2x_addshift 30470
_F2xqXQ_sqr 32928
F2xq_sqrt 33045
F2xqX_divrem 33334
F2xqXQ_autpow_mul 33439
F2x_issquare 36995
F2x_F2xq_eval 40772
F2x_addspec 46004
F2x_even_odd 49504
F2xq_sqrt_fast 49504
F2xq_log 49532
F2xX_to_Kronecker_spec 55836
F2xqXQ_autpow 70812
F2xX_deriv 80829
F2xq_easylog 84726
F2xqXQ_autpow_sqr 89327
Flx_to_F2x 96496
F2x_sqrt 96715
F2x_to_Flx 103823
F2xqXQ_sqr 104230
F2xqX_sqr 105196
_F2xqXQ_mul 114555
F2xqXQ_mul 114562
F2xqX_F2xqXQ_eval 122766
F2x_pow2n 136251
F2xY_F2xqV_evalx 136514
F2xqX_mul 154136
rel_Coppersmith 154258
F2m_to_ZM 167405
F2xqX_gcd 170289
Kronecker_to_F2xqX 182054
F2x_1_add 189733
F2xqX_F2xq_mul_to_monic 206528
F2xqX_normalize 206542
F2xY_degreex 207151
Z_to_F2x 209132
F2xq_Artin_Schreier 212534
F2x_to_ZX 215954
F2x_is_smooth 223063
F2xV_to_F2m 223176
F2xq_matrix_pow 223177
F2x_matFrobenius 223178
F2x_shiftpos 239866
F2x_shift 240438
F2x_is_smooth_squarefree 259770
_F2xq_zero 260043
F2xX_to_Kronecker 308272
ZM_to_F2m 327760
_F2xqXQ_add 344477
const_F2v 344855
_F2xqXQ_red 352590
F2xq_powers 352817
ZX_to_F2x 373158
_F2xq_pow 373318
_F2xqXQ_one 375774
F2x_Frobenius 376132
F2xq_pow 416654
F2xX_add 422674
pol1_F2xX 447496
F2xq_trace 460528
F2xX_F2x_mul 480984
_F2xqXQ_cmul 480984
F2xqX_divrem_basecase 544104
_F2xq_red 550418
F2xq_div 576413
F2x_F2xqV_eval 610400
F2xqX_red 669041
F2c_to_ZC 725472
F2xqX_rem 751597
get_F2xqX_red 784931
_F2xq_sqr 856144
F2x_deriv 857872
_F2xq_one 883105
Rg_to_F2xq 1164465
F2xq_inv 1369540
F2x_extgcd 1369547
F2xq_invsafe 1369547
_F2xq_add 1415312
F2x_to_F2v 1502180
_F2xq_mul 1549462
F2x_slice 1792464
_F2xq_cmul 1795452
ZV_to_F2v 2073823
F2xX_renormalize 2437012
F2x_gcd 2841131
F2x_mulspec_basecase 5074723
F2xq_sqr 7838954
F2x_sqr 8103511
F2xq_mul 8968062
F2x_divrem 13121837
F2x_mul1 17889698
F2x_shiftip 22985459
F2x_mul 27350643
F2x_mulspec 27394760
F2x_add 30115259
F2v_add_inplace 30996574
F2x_rem 47675883
F2x_degree 70563527
F2x_addshiftip 128884490
F2x_addshiftipspec 160996511
F2x_degree_lg 249292970

Generated by: LCOV version 1.13