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.10.0 lcov report (development 21343-6216058) Lines: 2730 2893 94.4 %
Date: 2017-11-19 06:21:17 Functions: 262 273 96.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
alg_complete 0
alldegmultiple 0
dividesmod 0
hassedown 0
hassedown0 0
hdown 0
localcomplete 0
nextgen 0
searchprimedeg 0
solvablecrt 0
sortedp 0
randcol 7
QM_invimZ 14
algalgtobasis_mat 14
algaut 21
algisdivl 21
algmatid 21
algrelmultable 21
alC_sub_i 28
algbasistoalg_mat 28
alM_sub 35
algb 35
algisinv 42
algmakeintegral 42
alg_get_splittingdata 49
algbasis 49
alginvbasis 49
algramifiedplaces 49
algsplittingdata 49
algsubalg 49
change_Rgmultable 49
alM_add 56
alg_complete0 63
algmultable 63
algneg 63
algtensor 63
bnfgwgeneric 63
clean_factor 63
computecnd 63
rnfcycaut 63
alC_add_i 70
alg_get_splitpol 70
genefrob 70
linindep 70
nfgwkummer 70
subcycloindep 70
testsplits 70
alg_decomposition 77
alg_matrix 77
algsplittingfield 77
alg_maximal 84
uispow2 84
alg_get_aut 91
algchar 91
algdisc 91
computesplitting 91
findmaximalsubfield 91
frobeniusform 91
bnrgwsearch 105
get_phi0 105
alg_csa_table 112
algtrace_mat 112
colconcat 126
algdegree 133
localextdeg 133
hassereduce 140
alg_hasse 147
hassecoprime 147
algbasis2mat 154
algisramified 182
algissplit 182
alg_hilbert 196
algisdivision 203
algtype 203
alghasse 210
alghassei 210
nfgrunwaldwang 217
algtableinit 231
algissimple 245
algredcharpoly_i 245
algredcharpoly 252
alghasse_emb 294
groupelts_algebra 294
list_to_regular_rep 294
ismaximalsubfield 322
alggroup 329
alggroupcenter 329
alghassef 329
algissemisimple 336
get_vecsmall 343
algiscommutative 350
algdivr 378
cyclicrelfrob0 385
pr_primes 385
hasseconvert 392
algcomputehasse 399
alghasse_pr 399
algleftmultable_mat 399
linear_prime_search 399
alg_cyclic 406
algalgmul_csa 420
Rgmultable 427
algpdecompose_i 441
algsub 448
factoredextchinese 448
localhasse 448
rnfrealdec 455
allauts 462
alg_maximal_primes 469
algisassociative 469
algnorm 476
backtrackfacto 511
factoredextchinesetest 511
nfmakecoprime 525
algmtK2Z_csa 539
algnatmultable 553
algdivl 616
algdivl_i2 637
checkhasse 651
alginit 721
algindex 728
is_place_prid 728
is_place_prid_i 728
alghasse_0 742
alg_pmaximal 749
alg_pmaximal_i 749
algcenter_precompute 749
algtrace 756
cyclicrelfrob 770
algredtrace 777
algalgmultable_csa 791
elementmultable 791
algnattoalg_csa 798
conjclasses_algcenter 812
indexfromhasse 812
rnfprimedec 812
alg_change_overorder_shallow 833
algalgtonat_csa 840
algalgmul_cyc 917
alginv 980
alg_get_hasse_i 1015
alginv_i 1022
algcenter 1113
algpdecompose0 1190
alg_quotient 1309
algalgmul 1337
algdivl_i 1477
algdim 1505
algcenter_p_projs 1582
algcenter_prad 1582
algfromcenterhnf 1582
algpradical_i 1582
alg_get_basis 1687
alg_get_hasse_f 1687
algbasistoalg 1701
alglatlefttransporter 1764
alglatrighttransporter 1764
algleftordermodp 1897
Flm_invimage_init 2254
algprimesubalg 2611
algsimpledec 2681
algradical 2702
alg_ordermodp 2772
algtracematrix 2793
QM_invimZ_mod 3528
alglattransporter_i 3528
alg_get_splittingbasis 3556
alg_get_splittingbasisinv 3556
algbasissplittingmatrix_csa 3556
alglatinter 3570
matrix_perm 3857
algfromcenter 4697
algsplittingmatrix 4949
alglatindex 5264
algalgtonat_cyc 5796
algmtK2Z_cyc 6230
_FpX_mul 6251
algalgtonat 6636
algalgtobasis 6671
alg_get_invbasis 6685
alg_decompose_from_facto 6755
algmtK2Z 6769
algZmultable 6825
algpoleval 6958
random_pm1 7007
alg_subalg 7049
alglatadd 7063
alg_centralproj 7273
cmp_algebra_maps 7350
algnattoalg_cyc 7665
algmatbasis_ei 7924
algmat2basis 7938
algalgmultable_cyc 8085
algnattoalg 8463
try_fact 8568
algalgmultable 8764
alglatelement 8771
alM_mul 8799
algbasischarpoly 9107
algcharpoly 9128
alg_get_auts 9485
alg_get_b 9506
algpow 10458
alglataddinter 10633
prepare_lat 10633
prepare_multipliers 10633
algrandom 10815
cmp_algebra 11109
FpX_factorback 12138
out_decompose 13461
algbasismultable_Flm 14658
algtracei 14658
image_keep_first 14679
alg_decompose_total 15001
alg_decompose 15113
alg_quotient0 15974
algadd 16156
alM_alC_mul_i 17444
RgC_is_ZC 17521
alglatcontains 17521
_FpX_pow 18389
alg_get_abssplitting 20090
_mul 22820
mattocol 22981
algtablecenter 23807
algtableinit_i 24360
check_mt 24969
algtracebasis 25732
mat2col 28266
ZM_trace 28448
alglatsubset 31542
algbasisrightmultable 33488
alMrow_alC_mul_i 34853
alg_get_relmultable 36141
_sqr 43470
algsqr 44513
alglatmul 45591
alglathnf 51037
alg_get_dim 58569
alg_get_center 61516
primlat 63273
elementabsmultable_Fp 66395
FpM_trace 68761
algleftmultable 73339
_tablemul_ej 99512
elementabsmultable 102858
_tablemul 103257
_tablemul_Fp 142191
alg_get_tracebasis 154840
algabstrace 154903
algbasismultable 169253
elementabsmultable_Z 169253
checklat 180824
checklat_i 180824
Flm_invimage_pre 183225
_tablemul_ej_Fl 183225
algabsdim 188041
algmul 211365
_tablemul_ej_Fp 242039
alglat_get_primbasis 244090
algbasismul 245028
alglat_get_scalar 289674
alg_get_degree 623420
checkalgx 639940
alg_model 640059
alg_model0 640059
checkalg 784959
checkalg_i 785631
alg_get_absdim 1035356
alg_get_multable 1896132
alg_type 2548637
alg_get_char 2897839
alg_get_splittingfield 4987024

Generated by: LCOV version 1.11