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 20459-9710128) Lines: 1241 1341 92.5 %
Date: 2017-04-29 05:33:44 Functions: 154 162 95.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2c_to_ZC 315810
F2c_to_mod 2610
F2m_rowslice 12
F2m_to_Flm 0
F2m_to_ZM 77016
F2m_to_mod 96
F2v_add_inplace 28465026
F2v_slice 24
F2v_to_Flv 0
F2xC_to_FlxC 0
F2xC_to_ZXC 1758
F2xV_to_F2m 197022
F2xXC_to_ZXXC 192
F2xX_F2x_mul 411198
F2xX_add 361194
F2xX_deriv 68856
F2xX_renormalize 1907982
F2xX_to_Kronecker 195936
F2xX_to_ZXX 1554
F2xY_F2xqV_evalx 116496
F2xY_F2xq_evalx 0
F2xY_degreex 175794
F2x_1_add 159716
F2x_F2xqV_eval 521544
F2x_F2xq_eval 31193
F2x_Frobenius 280054
F2x_add 33386232
F2x_addshift 11316
F2x_addshiftip 124429839
F2x_addshiftipspec 149070687
F2x_addspec 15366
F2x_deflate 0
F2x_degree 64121129
F2x_degree_lg 234970358
F2x_deriv 725820
F2x_divrem 11174963
F2x_eval 192
F2x_even_odd 37324
F2x_extgcd 1114997
F2x_factorel 12877
F2x_gcd 2576600
F2x_halfgcd 519
F2x_halfgcd_i 519
F2x_is_smooth 202339
F2x_is_smooth_squarefree 232947
F2x_is_x 12921
F2x_issquare 30738
F2x_matFrobenius 197022
F2x_mul 30712452
F2x_mul1 22916438
F2x_mulspec 30730218
F2x_mulspec_basecase 4137216
F2x_pow2n 147676
F2x_rem 44933843
F2x_shift 234466
F2x_shiftip 27062437
F2x_shiftneg 835
F2x_shiftpos 233627
F2x_slice 868140
F2x_sqr 7355999
F2x_sqrt 67626
F2x_to_F2v 1149097
F2x_to_Flx 80142
F2x_to_ZX 125544
F2x_valrem 45504
F2xqXQV_autpow 60444
F2xqXQV_auttrace 2280
F2xqXQ_autpow_mul 28548
F2xqXQ_autpow_sqr 76128
F2xqXQ_auttrace_mul 5910
F2xqXQ_auttrace_sqr 3996
F2xqXQ_mul 97968
F2xqXQ_pow 6
F2xqXQ_powers 5934
F2xqXQ_sqr 88596
F2xqX_F2xqXQV_eval 11886
F2xqX_F2xqXQ_eval 104676
F2xqX_F2xq_mul 5910
F2xqX_F2xq_mul_to_monic 174102
F2xqX_divrem 461610
F2xqX_gcd 143130
F2xqX_mul 97968
F2xqX_normalize 174102
F2xqX_red 566898
F2xqX_rem 638622
F2xqX_sqr 88734
F2xq_Artin_Schreier 182298
F2xq_autpow 12921
F2xq_autpow_mul 10998
F2xq_autpow_sqr 20172
F2xq_conjvec 6
F2xq_div 452040
F2xq_easylog 64386
F2xq_inv 1114997
F2xq_invsafe 1114997
F2xq_log 34950
F2xq_log_Coppersmith 12
F2xq_log_Coppersmith_d 72
F2xq_log_Coppersmith_rec 24
F2xq_log_Coppersmith_worker 1766
F2xq_log_find_rel 52
F2xq_log_from_rel 50
F2xq_log_index 12
F2xq_matrix_pow 197022
F2xq_mul 7474636
F2xq_order 324
F2xq_pow 334670
F2xq_powers 307608
F2xq_powu 0
F2xq_sqr 7062320
F2xq_sqrt 25323
F2xq_sqrt_fast 37326
F2xq_sqrtn 6180
F2xq_trace 393927
Flm_to_F2m 0
Flv_to_F2v 12
FlxC_to_F2xC 12780
FlxXC_to_F2xXC 138
FlxX_to_F2xX 1488
Flx_to_F2x 162324
Kronecker_to_F2xqX 97968
RgM_to_F2m 246
RgV_to_F2v 6588
RgX_to_F2x 1044
Rg_to_F2xq 1033066
ZM_to_F2m 149478
ZV_to_F2v 861342
ZXX_to_F2xX 1950
ZX_to_F2x 114350
Z_to_F2x 136716
_F2xqXQ_add 294654
_F2xqXQ_cmul 411198
_F2xqXQ_mul 97968
_F2xqXQ_one 320478
_F2xqXQ_red 301338
_F2xqXQ_sqr 28146
_F2xqXQ_zero 18
_F2xq_add 1144953
_F2xq_cmul 1473608
_F2xq_equal0 708
_F2xq_inv 318
_F2xq_mul 1149667
_F2xq_neg 600
_F2xq_one 740550
_F2xq_pow 293094
_F2xq_rand 7992
_F2xq_red 449251
_F2xq_rmul 2088
_F2xq_s 492
_F2xq_sqr 958117
_F2xq_zero 222738
check_kernel 12
const_F2v 265008
gener_F2xq 132
get_F2xq_field 204
mkF2 19527
monomial_F2x 30
pol1_F2xX 381546
polx_F2xX 0
random_F2xqX 2316
rel_Coppersmith 127736
smallirred_F2x 12

Generated by: LCOV version 1.11