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 - polarit3.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 22307-7f6745a) Lines: 1304 1493 87.3 %
Date: 2018-04-22 06:16:17 Functions: 141 157 89.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpX_compositum 0
FpX_translate 0
FqC_Fq_mul 0
FqC_add 0
FqC_sub 0
FqXQ_matrix_pow 0
FqXQ_powers 0
Fq_invsafe 0
Fq_neg_inv 0
QXQ_intnorm 0
QXQ_norm 0
QX_disc 0
RgM_is_FpM 0
RgV_is_FpV 0
ffinit_Artin_Shreier 0
ffinit_rand 0
FpX_FpXY_eval_resultant 4
fffrobenius 42
err_compo 84
ffextend 84
ffinvmap 126
ffnbirred0 140
ffembed 175
FpX_diamondsum 182
QXQ_div_ratlift 273
Z_init_CRT 315
ffinit 350
ZXM_incremental_CRT 404
ffcompomap 420
ffsumnbirred 434
RgX_to_FpXQX 448
FpX_direct_compositum 581
_FpX_direct_compositum 581
FqV_to_FlxV 591
f2init 593
char_update_prime 637
FqV_roots_to_pol 665
ZXM_init_CRT 686
QXQ_charpoly 819
FpXM_center 948
RgV_to_FpV 1022
ffmap 1022
FqX_Fq_sub 1048
ffpartmapimage 1092
RgX_to_FqX 1148
ZX_incremental_CRT 1298
char_update_int 1365
FqX_Fq_add 1386
Flx_resultant_set_dglist 1603
FpXC_center 1674
ZX_ZXY_resultant_LERS 1680
ZXQ_charpoly_sqf 1813
checkmap 1988
ZX_ZXY_rnfequation_lambda 2191
ZX_ZXY_resultant_all 2394
residual_characteristic 2415
ffeltmap_i 2695
ZX_ZXY_rnfequation 2716
RgX_is_FpXQX 2786
FpX_FpXY_resultant 3063
FlxX_resultant 3075
Flx_FlxY_resultant 3087
FlxY_to_FlyX 3092
ffnbirred 3178
get_Fq_field 3290
FpXQX_normalize 3766
ZX_ZXY_resultant 3920
ffmap_i 4424
fpinit 5467
FpXV_direct_compositum 5479
ffinit_fact 5479
_Fq_inv 6055
Z_incremental_CRT 7322
init_Fq 7502
Flx_resultant_all 7592
init_Fq_i 7852
ZX_ZXY_resultant_slice 8627
ZX_ZXY_resultant_worker 8627
characteristic 8995
swap_vars 9065
FlxY_evalx_drop 9195
FqM_to_FlxM 9287
FlxX_pseudorem 9386
QX_resultant 10441
QXQ_sqr 10710
ZXQ_charpoly 11535
ZX_ZXY_resultant_prime 11912
Flx_FlxY_resultant_polint 11925
Fq_halve 12360
FqXY_eval 13699
Fq_powu 13965
ZX_norml1 15085
ZM_incremental_CRT 17761
FpXY_Fq_evaly 19537
Fq_pow 19796
pol_x_powers 20041
fpinit_check 22510
QXQ_inv 25546
FqXY_evalx 31185
ZX_resultant 31290
_Fq_s 31822
charact_res 32340
FqX_translate 34167
Fq_inv 35734
QXQ_mul 37322
ZX_disc 47350
ZX_disc_all 48428
RgM_to_FqM 52318
Fq_Fp_mul 54900
Rg_is_FpXQ 56714
FqC_to_FlxC 58292
Fq_sqrtn 60454
ZX_ZXY_ResBound 74299
ZX_resultant_all 78998
gen_crt 93178
ZM_init_CRT 94213
RgM_to_FpM 113278
RgM_to_Flm 114236
_Fq_equal0 114387
FqV_red 123410
FqX_eval 126287
FqX_Fq_mul_to_monic 144564
trivial_case 154420
ZX_incremental_CRT_raw 177855
_Fq_neg 207669
gen_inccrt 215896
RgC_to_FqC 218862
Flx_FlxY_eval_resultant 246037
Fq_sqr 268155
RgV_to_Flv 281602
get_nbprimes 295284
monomial 338177
Fq_neg 471745
Fq_div 507899
ZX_resultant_slice 539446
ZX_resultant_worker 539460
charact 580720
_Fq_red 632656
Fq_sqrt 709301
primelist_disc 730713
Fq_mulu 768662
RgC_to_FpC 816138
FpXV_FpC_mul 849765
_Fq_add 1225798
Rg_to_FpXQ 1256453
ZX_resultant_prime 1293073
_Fq_mul 1309546
Fl_chinese_coprime 1824196
RgX_to_FpX 3106682
ZX_init_CRT 3169789
Fq_sub 4910510
Fq_add 7026196
monomialcopy 7600551
RgX_is_FpX 19076138
Rg_to_Fp 27878000
Fq_mul 42924447
Rg_is_Fp 54483260

Generated by: LCOV version 1.11