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 - headers - pariinl.h (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 21353-12523aa) Lines: 1229 1394 88.2 %
Date: 2017-11-24 06:20:58 Functions: 546 617 88.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2m_clear 0
F2v_copy 0
Flxq_add 0
Flxq_sub 0
FpV_FpC_mul 0
FpXQ_add 0
FpXQ_sub 0
Fp_muls 0
FqXQ_add 0
FqXQ_div 0
FqXQ_inv 0
FqXQ_invsafe 0
FqXQ_pow 0
FqXQ_sqr 0
FqXQ_sub 0
FqX_divrem 0
FqX_halfgcd 0
R_abs 0
RgX_isscalar 0
bid_get_gen_nocheck 0
bid_get_no 0
cbrtr 0
cbrtr_abs 0
closure_get_code 0
gabsz 0
gdiventz 0
gdivz 0
get_F2x_mod 0
gmaxsg 0
gminsg 0
gmodz 0
gmul2nz 0
gnegz 0
gshiftz 0
gsubz 0
mkcol3s 0
mkcol4 0
mkcol4s 0
mkcol5 0
mkerr 0
mkmat4 0
mkmat5 0
mpcosz 0
mpexpz 0
mplogz 0
mpsinz 0
pari_err_FILE 0
pari_err_MAXPRIME 0
pari_err_PACKAGE 0
polx_zx 0
rnf_get_varn 0
truecoeff 0
trunc_safe 0
vec_setconst 0
vec_shorten 0
vecsmall_coincidence 0
vecsmall_isin 0
vecsmall_min 0
vectrunc_append_batch 0
zero_F2m 0
zero_zm 0
zero_zx 0
zm_copy 0
zm_row 0
zm_to_zxV 0
znstar_get_gen 0
znstar_get_no 0
zv_to_zx 0
zx_renormalize 0
zx_shift 0
zx_to_zv 0
F2v_ei 7
mkrfrac 7
mkrfraccopy 7
mkvecs 7
pari_err_CONSTPOL 7
gerepilecoeffs 8
RgM_gtomp 14
Z_ispower 14
idealred_elt 14
pari_err_BUG 14
vecsmall_indexmax 14
vecsmall_indexmin 14
mkvec4s 21
pari_err_IRREDPOL 21
vecsmall_lengthen 21
nf_get_ramified_primes 28
RgV_gtofp 42
mkquad 42
pari_err_FLAG 42
pari_err_ROOTS0 42
pol_xnall 42
ellnf_get_bnf 49
pari_err_PRIME 49
err_get_compo 63
gal_get_e 63
pari_err_COPRIME 63
rnf_get_disc 63
rowcopy 63
bnr_get_gen_nocheck 70
nf_get_zk 77
pari_err_SQRTN 77
pari_err_OVERFLOW 84
vecsmall_pack 84
rnf_get_index 105
rowsplice 133
pari_err_PRIORITY 147
zm_transpose 168
FqX_to_mod 175
nbits2ndec 186
pari_err_VAR 203
pari_err_PREC 219
vecreverse_inplace 232
pari_err_COMPONENT 245
quad_disc 252
vecsmall_reverse 252
get_F2xqX_mod 280
ellQp_get_prec 287
pari_err_OP 287
R_abs_shallow 322
mkfracss 343
pari_err_IMPL 350
F2m_copy 362
bid_get_arch 448
rnf_get_alpha 448
rnf_get_k 448
sturm 455
pari_err_DIM 459
rnf_get_idealdisc 462
ndec2nbits 482
zeropadic_shallow 539
RgC_gtomp 560
RgM_minor 567
rnf_get_nfvarn 595
ellQp_get_p 623
quadnorm 623
RgV_is_QV 707
mkcols 735
pari_err_MODULUS 735
gener_Fq_local 833
inv_content 833
bnf_get_reg 860
ellQp_get_zero 917
get_FlxqX_mod 1003
vecsmall_to_vec_inplace 1022
matpascal 1029
FqX_powu 1183
rnf_get_invzk 1190
gal_get_p 1225
idealchineseinit 1274
gal_get_orders 1351
zero_F2x 1390
powIs 1519
precdbl 1651
gal_get_gen 1701
vec_prepend 1736
RgXQX_div 1792
bnf_get_fu 1806
get_FpXQX_degree 1848
pari_err_DOMAIN 1856
row_i 2177
nf_get_diff 2191
mkmat3 2352
FqX_sub 2380
gval 2408
rnf_get_nfzk 2478
FqX_normalize 2807
rnf_get_zk 2849
pari_err_TYPE2 3073
RgM_fpnorml2 3222
mkintmodu 3794
RgV_isscalar 3850
nf_get_varn 4185
mkcol6 4208
cgetalloc 4243
FpXQX_div 4350
isintm1 4473
bnf_get_no 4578
FqX_sqr 4760
pari_stack_pushp 4776
FqX_div 5005
is_extscalar_t 5297
RgX_is_rational 5300
FqX_get_red 5605
bnf_get_tuU 5762
FqX_div_by_X_x 5957
FqX_roots 6391
bnf_get_fu_nocheck 7022
addmuliu 7371
submuliu 7371
mkmatcopy 7459
nf_get_r2 8197
ellR_get_sign 8262
RgX_fpnorml2 8443
F2v_to_F2x 8604
closure_get_dbg 8735
vec_lengthen 10969
bnr_get_gen 11025
pari_err_TYPE 11558
gmulz 11673
prec2ndec 12162
idealpseudored 13104
nf_get_sign 13503
vecsmall_prepend 13811
mkmoo 14371
zeroser 14511
rnf_get_nfdegree 15267
gal_get_den 15631
gal_get_invvdm 15631
gal_get_mod 15631
gal_get_roots 16009
zeromat 16079
FqX_neg 16438
zerovec_block 16919
bnr_get_mod 18123
ZX_equal1 18426
gal_get_pol 19152
Qtoss 19257
pari_err_INV 19689
mkvec2s 19850
Fp_halve 20120
closure_get_text 21005
FqXQ_mul 21018
gtomp 22400
ZV_dvd 23198
gaddz 23318
mkoo 23527
gcmpgs 24100
nf_get_Tr 24332
gequalgs 24353
bnf_get_tuN 24556
ndec2prec 25460
ndec2nlong 25942
bnr_get_nf 27342
FqX_red 27419
bid_get_gen 27755
znstar_get_Ui 28126
mkcolcopy 28809
bid_get_sarch 29855
absfrac_shallow 32329
F2xqX_div 33124
mkveccopy 33467
pari_calloc 34024
rowslicepermute 34440
ZXQ_sqr 35042
rnf_get_map 35133
FlxqX_div 35405
ZM_hnfrem 35611
ellR_get_prec 36960
upr_norm 40852
mkcol3 41671
Fq_to_FpXQ 43118
bid_get_ideal 44982
bnr_get_no 45080
inf_get_sign 46103
nf_get_disc 46729
FqX_rem 47767
abgrp_get_no 49658
err_get_num 50142
get_FpXQX_var 51984
RgXQX_rem 53655
cyclic_perm 54523
nf_get_G 60189
vec_append 60704
gal_get_group 65023
vecsmall_ei 68850
FqX_factor 72968
FqX_extgcd 85211
FqX_mul 87452
get_FlxqX_degree 90131
rnf_get_polabs 94801
zero_Flm_copy 98925
vecsmall_max 104046
Q_abs_shallow 106020
rnf_get_nfpol 107492
mkvec2copy 108339
znstar_get_U 115304
RgX_is_QX 116130
gtou 117331
RgM_gtofp 119380
get_F2x_degree 121429
rnf_get_nf 127225
const_col 130355
gerepilemany 132769
vecsmall_shorten 141772
get_FpXQX_mod 142588
ZXQ_mul 143577
RgC_fpnorml2 155310
idealpseudomin 156162
nf_get_roots 156604
mkqfi 158123
znstar_get_cyc 161728
idealred 161910
row 177999
affc_fixlg 185806
affgr 190202
get_F2xqX_degree 201243
cgetc 203662
pr_norm 205352
logint 211470
nf_get_zkprimpart 219407
nf_get_zkden 222004
powii 231376
prec2nbits_mul 231836
vecsplice 248297
FqX_gcd 257593
FqX_deriv 269885
is_real_t 278793
RgXQ_sqr 279193
zero_F2m_copy 280253
mul_content 280417
sqrtnr 286043
idealpseudomin_nonscalar 295032
znstar_get_pe 297031
bid_get_mod 300796
zeropadic 302725
Fp_invsafe 311688
vec_ei 323401
RgX_renormalize 344785
bid_get_fact2 352904
bid_get_sprk 352974
get_FlxqX_var 356018
bnf_get_gen 362491
bid_get_archp 373575
get_F2xqX_var 376026
bnr_get_bid 379455
ZV_to_zv 390136
abgrp_get_gen 391807
bid_get_fact 394288
perm_conj 402990
zv_to_ZV 404264
vecsmall_to_vec 407421
vec_to_vecsmall 408007
Flx_lead 412845
bnf_get_cyc 428984
nf_get_roundG 434139
gen_I 443494
get_F2x_var 447845
RgXQ_mul 448529
bit_accuracy_mul 449414
mkvecsmall5 451580
bnr_get_cyc 454915
rnf_get_absdegree 459872
FqX_mulu 459889
RgX_shift_inplace 468309
RgX_shift_inplace_init 468309
bnf_get_logfu 480477
mkvec3s 492716
ellnf_get_nf 501277
bnr_get_clgp 511923
pari_realloc 538323
get_FpX_mod 541393
FqX_Fq_mul 556098
gsubgs 566569
zc_to_ZC 603303
modpr_get_p 609913
FqX_Fp_mul 617109
vecsmall_to_col 622308
rnf_get_degree 627102
RgX_gtofp 637793
bid_get_U 653980
znstar_get_conreygen 663957
polx_F2x 672378
ellff_get_a4a6 678310
Flx_mulu 695521
identity_perm 698393
gdivsg 721827
bnr_get_bnf 736923
nf_get_index 746709
is_rational_t 763658
rnf_get_pol 780696
zero_Flx 787131
zero_F2v 788953
bnf_get_clgp 796382
vecslicepermute 799458
ellinf 802403
F2x_equal1 819573
FpX_div 824659
ZC_hnfrem 839660
vecsmall_concat 849560
is_vec_t 872547
FqX_add 903749
zero_Flm 936230
ismpzero 1018699
is_intreal_t 1018776
ell_get_b4 1021770
bid_get_cyc 1024461
ell_get_j 1027425
FpXX_renormalize 1031928
pol_x 1043008
bid_get_grp 1052811
RgC_gtofp 1054993
pari_stack_delete 1114940
FpXQX_renormalize 1146421
closure_get_frame 1158738
perm_inv 1171689
nbits2nlong 1182767
ZM_lll 1204188
nf_get_M 1206854
Rg_col_ei 1225972
killblock 1240483
sqrfrac 1246187
nf_get_r1 1265522
col_ei 1266123
pol_1 1290420
pari_stack_init 1290770
Flm_copy 1338565
F2m_flip 1360820
F2v_flip 1360820
F2x_flip 1360820
cxtofp 1399567
ell_get_b8 1464204
mkintmod 1540022
mul_denom 1560028
ellff_get_field 1561496
ell_get_b6 1627746
vecsmall_copy 1658596
mkpolmod 1674354
znstar_get_faN 1732213
mkcol2s 1756356
get_FpX_var 1772011
get_FpX_degree 1829787
zv_copy 2014558
bnf_get_nf 2041738
abgrp_get_cyc 2071502
ZV_isscalar 2115392
nf_get_invzk 2163947
mulsubii 2214407
Z_issquare 2225197
pr_get_e 2231147
mkcol 2233662
zeromatcopy 2255701
RgX_coeff 2296435
Fp_div 2313530
Flv_copy 2324383
pr_is_inert 2328373
F2m_set 2352087
znstar_get_conreycyc 2428762
pol_xn 2493752
modpr_get_T 2516258
vecsmall_append 2646233
cxcompotor 2814088
pol1_F2x 2826616
Fq_red 2838007
F2x_div 2990139
rowpermute 3090767
ell_get_a2 3095247
mkcomplex 3214965
F2x_equal 3546625
Flx_div 3628038
Flm_row 3723275
matslice 3726108
ser_isexactzero 3760616
ell_get_a4 3888081
mkfraccopy 3908865
RgX_is_ZX 3912438
ell_get_b2 3969023
RgX_equal_var 4039803
F2v_clear 4165701
F2x_clear 4165701
ulogint 4462602
ell_get_a3 4515982
ell_get_a6 4704428
mkfrac 4748588
Flx_equal1 4752446
pr_get_gen 4808086
const_vecsmall 4848399
mkmat 4976489
zeropol 5217650
sqrti 5232712
ell_get_a1 5287797
ZX_is_monic 5404818
vecreverse 5491970
pr_get_tau 5796501
ell_get_c4 5925261
get_Flx_mod 5987986
qfb_disc 6264528
qfb_disc3 6345350
RgX_div 6552749
nbits2lg 6559749
vecpermute 6782392
RgM_shallowcopy 6812012
isint1 6816158
gerepileall 7114705
Q_abs 7129113
vecsmall_lexcmp 7373815
const_vec 7521113
pr_get_f 7750082
Fp_addmul 7880259
ell_get_c6 7957234
ell_get_type 7958961
modpr_get_pr 8117165
shallowcopy 8255250
Fp_inv 8295640
mkvec4 8465486
nchar2nlong 8700647
ell_get_disc 9391751
gaddgs 9494267
gmulgs 9762158
RgM_dimensions 9936305
cxnorm 10551012
pol0_F2x 11508284
normalize_frac 11569486
mkvec5 11928089
Fp_neg 12442853
F2v_set 12561418
vectrunc_init 12716121
submulii 13740827
zerovec 14449405
pol_0 14890150
Fp_center 15165105
RgX_is_monomial 15558744
mkvec 15858466
get_Flx_var 16113712
sqrtr 17378532
QV_isscalar 17382797
constant_coeff 17565498
zero_zv 17740816
polx_Flx 18111575
dbllog2r 18165626
RgV_is_ZV 18177668
pr_get_p 18267995
gtodouble 18269173
pol1_Flx 18551167
mkmat2 19044379
F2m_coeff 19319598
absfrac 20615789
nf_get_degree 21229224
ell_is_inf 21956169
znstar_get_N 23258767
rowslice 23670920
is_universal_constant 23730466
mkvecsmall4 23912760
mkcol2 24491849
gtofp 25616411
vecsmalltrunc_append 25843566
bit_prec 26731779
zerocol 26978758
nf_get_pol 27046700
cgiv 27714195
lincombii 28202199
both_odd 28909976
get_Flx_degree 30084118
nbrows 31351243
zero_Flv 32101447
closure_is_variadic 35393704
gerepilecopy 38030260
F2x_set 38837533
sstoQ 44711051
pol0_Flx 45168706
ZX_renormalize 45945300
vecsmallpermute 45954476
vecsmall_prefixcmp 47068252
perm_mul 47202377
bin_copy 47674355
vectrunc_append 49330698
is_noncalc_t 50581158
equalim1 52404721
mkvecsmall 55523438
pari_free 56218741
FpX_renormalize 58676666
Fp_sqr 62107358
Fp_mul 63585818
RgX_copy 64002037
mkvecsmall3 65438733
gtos 68165920
F2x_copy 69865348
Fp_sub 72467951
mkvec3 73976324
Flx_copy 74946431
Fp_mulu 80308215
Fp_red 80361288
leading_coeff 80831977
Fp_add 82402411
nbits2prec 90836102
GENbinbase 95341995
lgcols 97589321
mkvec2 110787558
vecsmalltrunc_init 112282443
mkvecsmall2 112835699
addmuliu_inplace 113553708
submuliu_inplace 114851997
F2x_renormalize 123236081
leafcopy_avma 150796949
F2v_coeff 161984813
F2x_coeff 168489688
is_scalar_t 171912918
is_bigint 183374155
closure_get_data 217133934
closure_get_oper 217151462
closure_codestr 217170022
vecslice 224377703
pari_malloc 239195028
nbits2extraprec 248462737
closure_arity 252973390
equali1 313458339
pari_stack_new 345231186
lg_increase 346483928
is_matvec_t 370750839
pari_stack_alloc 414350573
pari_stack_base 415536092
isintzero 525838464
gerepileuptoleaf 614326002
gerepileupto 718820328
bit_accuracy 998845425
is_const_t 1025177465
prec2nbits 1090791163
gerepileuptoint 1139159625
is_pm1 1306464622
lgpol 1375198761
odd 2100754034
isonstack 2500338834
is_recursive_t 2659907738
degpol 2795842726
remsBIL 3147414752
divsBIL 3183814364
icopy_avma 3532084904

Generated by: LCOV version 1.11