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 - modules - algebras.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.11.0 lcov report (development 22851-e834f1b2f) Lines: 2983 3070 97.2 %
Date: 2018-07-16 05:36:59 Functions: 269 273 98.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
alg_complete 0
dividesmod 0
localcomplete 0
nextgen 0
randcol 7
QM_invimZ 14
algaut 21
algmatid 21
algb 35
algmakeintegral 42
algrelmultable 42
alg_get_splittingdata 49
algbasis 49
alginvbasis 49
algisdivl 49
algsplittingdata 49
change_Rgmultable 49
algsubalg 63
alg_get_splitpol 70
algisinv 70
genefrob 70
linindep 70
subcycloindep 70
alg_matrix 77
algtensor 77
extraprime 84
alg_get_aut 91
algchar 91
algramifiedplaces 91
algsplittingfield 91
algbasistoalg_mat 119
alM_sub 126
alg_maximal 126
algdisc 133
bnfgwgeneric 133
computesplitting 133
findmaximalsubfield 133
frobeniusform 133
algneg 147
uispow2 154
alg_csa_table 161
check_relmt 161
nfgwkummer 161
bnrgwsearch 175
get_phi0 175
algalgtobasis_mat 182
algisramified 182
algissplit 182
algisdivision 203
algtype 203
alC_sub_i 210
alghasse 210
alghassei 210
algmultable 217
alg_complete0 224
clean_factor 224
computecnd 224
rnfcycaut 224
localextdeg 231
algissimple 259
testsplits 259
alg_hilbert 273
alM_add 280
algbasis2mat 294
alghasse_emb 294
groupelts_algebra 294
list_to_regular_rep 294
algdegree 301
algtrace_mat 308
hassecoprime 322
alggroup 329
alggroupcenter 329
alghassef 329
is_place_emb 329
alg_hasse 336
algiscommutative 350
algissemisimple 350
algredcharpoly_i 378
ismaximalsubfield 378
algredcharpoly 385
cyclicrelfrob0 385
nfgrunwaldwang 392
alghasse_pr 399
algdivr 406
Rgmultable 427
colconcat 448
algisassociative 469
algcomputehasse 476
hassereduce 476
alg_cyclic 483
alC_add_i 518
factoredextchinese 553
localhasse 553
pr_primes 623
algdivl 672
algalgmul_csa 686
get_vecsmall 693
allauts 700
algdivl_i2 721
rnfrealdec 721
algindex 728
alghasse_0 735
algpdecompose_i 742
alg_maximal_primes 749
algsimpledec 756
algleftmultable_mat 777
backtrackfacto 777
factoredextchinesetest 777
indexfromhasse 812
algnatmultable 833
conjclasses_algcenter 840
algmtK2Z_csa 861
hasseconvert 917
nfmakecoprime 924
algnorm 952
cyclicrelfrob 952
algsub 966
alginit 1043
rnfprimedec 1064
alginv 1078
alg_get_hasse_i 1134
alginv_i 1148
alg_pmaximal 1197
alg_pmaximal_i 1197
algcenter_precompute 1197
algnattoalg_csa 1225
checkhasse 1239
algalgmultable_csa 1309
elementmultable 1309
algredtrace 1372
algtrace 1519
algalgmul_cyc 1659
alg_change_overorder_shallow 1694
algdim 1715
algdivl_i 1715
alglatrighttransporter 1764
alglatlefttransporter 1771
alg_get_hasse_f 1883
algpdecompose0 1939
algalgmul 2345
alg_get_basis 2695
alg_quotient 2716
algcenter_p_projs 2891
algcenter_prad 2891
algfromcenterhnf 2891
algpradical_i 2891
algbasistoalg 2912
alg_idempotent 3038
RgM_contract 3437
descend 3437
descend_i 3437
QM_invimZ_mod 3535
alglattransporter_i 3535
alglatinter 3598
algleftordermodp 3745
alg_finite_csa_split 3752
algsplit 3766
matrix_perm 3857
try_descend 3857
algprimesubalg 3969
algsimpledec_ss 4046
alg_get_splittingbasis 4102
alg_get_splittingbasisinv 4102
algbasissplittingmatrix_csa 4102
algtableinit 4193
Flm_invimage_init 4298
alg_ordermodp 4830
algcenter 4865
alglatindex 5264
algradical 5271
algtracematrix 5404
try_split 6482
algleftmultable 6951
alglatadd 7091
alg_decompose_from_facto 7315
algtomatrix 7399
algmtK2Z_cyc 8099
alg_centralproj 8120
alglatelement 8771
algZmultable 8960
algmtK2Z 8960
_FpX_mul 9940
algfromcenter 10227
algnattoalg_cyc 10381
alglataddinter 10689
prepare_lat 10689
prepare_multipliers 10689
algalgmultable_cyc 10717
alg_subalg 11060
algalgtonat_csa 11256
algnattoalg 11606
algalgmultable 11732
random_pm1 11774
cmp_algebra 11802
algpow 12278
alg_get_auts 12936
alg_get_b 12957
try_fact 13762
out_decompose 14546
RgC_contract 15568
FpX_factorback 16233
alg_decompose_total 16408
algpoleval 17080
alglatcontains 17521
algrandom 18305
algtablecenter 18305
alg_quotient0 19915
alg_decompose 20013
algmatbasis_ei 20020
algmat2basis 20097
algbasischarpoly 20944
algcharpoly 21014
alM_mul 21336
algbasismultable_Flm 24528
algtracei 24528
_mul 25270
_FpX_pow 26173
image_keep_first 27279
mat2col 28322
Fq_mat2col 29939
alglatsubset 31549
algtableinit_i 36281
algbasisrightmultable 36561
check_mt 36785
algadd 36974
algtracebasis 38801
ZM_trace 40971
alM_alC_mul_i 42518
alglatmul 45605
_sqr 47894
algalgtonat_cyc 48356
algsqr 48986
alglathnf 51065
mattocol 52381
algalgtonat 59612
alg_get_invbasis 59661
algalgtobasis 60067
primlat 63343
alg_get_abssplitting 67312
alMrow_alC_mul_i 85001
_tablemul_ej 99512
elementabsmultable_Fp 105693
elementabsmultable 114786
FpM_trace 126714
checklat 180992
checklat_i 180992
_tablemul_Fp 189609
_tablemul 205261
alg_get_relmultable 215831
algbasismultable 220479
elementabsmultable_Z 220479
alg_get_dim 224420
alg_get_tracebasis 236481
algabstrace 236565
_tablemul_ej_Fp 242039
Flm_invimage_pre 244153
_tablemul_ej_Fl 244153
alglat_get_primbasis 244314
alglat_get_scalar 289905
alg_get_center 294749
algmul 366247
algbasismul 394184
checkalg 816494
checkalg_i 817166
checkalgx 1045331
alg_model 1045457
alg_model0 1045457
alg_get_degree 1228542
alg_get_absdim 1548953
alg_get_multable 2228933
alg_type 4828467
alg_get_char 5567912
alg_get_splittingfield 8556688

Generated by: LCOV version 1.13