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 - modules - algebras.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.16.2 lcov report (development 29454-e7b6e21fb9) Lines: 3499 3525 99.3 %
Date: 2024-07-18 09:03:47 Functions: 305 306 99.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
alg_complete 0
randcol 7
QM_invimZ 14
mk_C 14
mk_H 14
mk_R 14
algmatid 21
C_charpoly 35
C_trace 35
R_charpoly 35
R_trace 35
localcomplete 35
nextgen 35
C_norm 42
R_norm 42
R_tomatrix 42
algaut 42
algmakeintegral 42
CM_to_HM 49
algdisc 49
algrelmultable 49
dividesmod 49
alg_get_splittingdata 56
algb 56
algsplittingdata 56
change_Rgmultable 56
alginvbasis 63
HM_to_CM 70
alg_get_splitpol 70
algsubalg 70
H_poleval 77
genefrob 77
subcycloindep 77
C_tomatrix 84
alg_matrix 84
algtensor 84
extraprime 84
algbasis 91
CC_to_HC 98
H_charpoly 98
H_neg 98
algramifiedplaces 105
C_divl_i 112
alg_get_aut 112
algchar 112
algbasistoalg_mat 119
algsplittingfield 119
alM_sub 126
algisdivl 126
alg_maximal 133
localextdegell 133
C_inv 140
HC_to_CC 140
normfact_is_partial 140
computesplitting 147
findmaximalsubfield 147
frobeniusform 147
bnfgwgeneric 154
algdisc_i 161
alg_csa_table 175
check_relmt 175
C_random 182
algalgtobasis_mat 182
algisinv 189
H_divl_i 203
algisramified 203
alC_sub_i 210
nfgwkummer 210
algisdivision 224
algtype 224
alghassei 231
algreal_dim 238
algmultable 245
algneg 245
alghasse 252
H_inv 259
alg_complete0 273
clean_factor 273
computecnd 273
rnfcycaut 273
algissimple 280
algbasis2mat 294
alghasse_emb 294
groupelts_algebra 294
list_to_regular_rep 294
algdegree 322
H_sqr 329
alg_hilbert 329
alggroup 329
alggroupcenter 329
is_place_emb 329
uispow2 329
alghassef 336
algiscommutative 371
algissemisimple 371
hassecoprime 371
algredcharpoly_i 378
bnrgwsearch 378
get_phi0 378
alg_hasse 385
algredcharpoly 385
cyclicrelfrob0 385
alM_add 406
algissplit 406
alghasse_pr 413
ismaximalsubfield 427
H_norm 434
nfgrunwaldwang 462
algdivr 469
algtrace_mat 469
Rgmultable 476
algisassociative 511
algcomputehasse 546
colconcat 546
alg_cyclic 560
H_trace 567
hassereduce 574
localhasse 623
algalgmul_csa 686
algmat_tomatrix 728
alC_add_i 756
alghasse_0 777
algsimpledec 784
alg_maximal_primes 805
algindex 819
allauts 819
indexfromhasse 819
testsplits 828
factoredextchinese 833
get_vecsmall 833
conjclasses_algcenter 847
algdivl 875
algpdecompose_i 881
algleftmultable_mat 910
algmtK2Z_csa 945
algnatmultable 966
H_random 980
algdivl_i2 1001
hasseconvert 1064
nfmakecoprime 1092
backtrackfacto 1106
factoredextchinesetest 1106
algsub 1120
alg_get_hasse_i 1204
alginit 1239
algnorm 1253
algnattoalg_csa 1309
alginv 1323
algredtrace 1372
algalgmultable_csa 1393
elementmultable 1393
checkhasse 1421
alginv_i 1512
localextdeg 1554
algalgmul_cyc 1659
algdivl_i 1715
alglatrighttransporter 1771
alglatlefttransporter 1778
alg_change_overorder_shallow 1815
alg_get_hasse_f 1988
alg_pmaximal 2050
algcenter_precompute 2050
H_tomatrix 2331
algalgmul 2345
algdim 2450
cyclicrelfrob 2471
algtrace 2632
alg_get_basis 2744
algbasistoalg 2926
algpdecompose0 2931
alg_idempotent 3038
RgM_contract 3437
descend 3437
descend_i 3437
alg_quotient 3523
QM_invimZ_mod 3535
alglattransporter_i 3535
alglatinter 3605
alg_finite_csa_split 3752
algsplit 3766
matrix_perm 3857
try_descend 3857
algcenter_p_projs 3865
algcenter_prad 3865
algfromcenterhnf 3865
algpradical_i 3865
alg_get_splittingbasis 4102
alg_get_splittingbasisinv 4102
algbasissplittingmatrix_csa 4102
algtableinit 4200
Flm_invimage_init 4454
R_random 4466
algleftordermodp 4775
algcenter 4886
algprimesubalg 4995
algsimpledec_ss 5100
alglatindex 5271
algradical 6349
algtracematrix 6419
try_split 6482
alg_ordermodp 6796
algleftmultable 6951
alglatadd 7098
alg_decompose_from_facto 7580
alg_centralproj 8738
alglatelement 8778
algmtK2Z_cyc 9380
algtomatrix 9667
algZmultable 10325
algmtK2Z 10325
prepare_lat 10689
prepare_multipliers 10689
alglataddinter 10703
algalgtonat_csa 11375
alg_subalg 11381
algnattoalg_cyc 11669
algalgmultable_cyc 11998
random_pm1 12095
cmp_algebra 12200
algfromcenter 12209
algnattoalg 12978
algalgmultable 13097
try_fact 14168
alg_get_auts 14308
alg_get_b 14329
algpow 14490
Z_easyfactor 14682
out_decompose 15083
RgC_contract 15568
alg_decompose_total 17119
algpoleval 17429
alglatcontains 17528
H_add 17745
algrandom 19698
algtablecenter 19777
alg_decompose 20717
algbasischarpoly 21399
algcharpoly 21595
alg_quotient0 21673
algmatbasis_ei 23884
algmat2basis 23961
algbasismultable_Flm 24902
algtracei 24902
alM_mul 25627
mat2col 28322
image_keep_first 28397
Fq_mat2col 29939
alglatsubset 31556
algbasisrightmultable 36575
algtableinit_i 38374
check_mt 38416
check_mt_noid 38920
algtracebasis 41141
_mul 41315
ZM_trace 44248
alglatmul 45612
algalgtonat_cyc 50443
alglathnf 51072
mattocol 51461
alM_alC_mul_i 54502
algadd 54845
algalgtonat 61818
alg_get_invbasis 61881
algalgtobasis 62280
primlat 63343
alg_get_abssplitting 72038
_tablemul_ej 99904
_sqr 105025
algsqr 107265
H_mul 108101
elementabsmultable_Fp 110870
elementabsmultable 116175
alMrow_alC_mul_i 119651
FpM_trace 131162
checklat 180992
checklat_i 180992
H_compo 205583
_tablemul 212751
alg_get_relmultable 216475
alg_get_dim 226119
algbasismultable 227045
elementabsmultable_Z 227045
_tablemul_ej_Fp 242039
alglat_get_primbasis 244314
Flm_invimage_pre 245283
_tablemul_ej_Fl 245283
alg_get_tracebasis 248527
algabstrace 248681
_tablemul_Fp 263319
alglat_get_scalar 289905
alg_get_center 302961
H_model 462630
H_model0 462630
algbasismul 475384
algmul 497528
checkalg_i 911713
checkalg 1041066
checkalgx 1141892
alg_model 1142032
alg_model0 1142032
alg_get_degree 1217074
alg_get_absdim 1703827
alg_get_multable 2536343
alg_type 5948557
alg_get_char 6139647
alg_get_splittingfield 14996078

Generated by: LCOV version 1.16