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 - RgX.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 22307-7f6745a) Lines: 1452 1607 90.4 %
Date: 2018-04-22 06:16:17 Functions: 171 184 92.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
RgXQM_mul 0
RgX_RgXQV_eval 0
RgX_RgXn_eval 0
RgX_Rg_eval_bk 0
RgX_sqrhigh_i 0
RgX_sqrhigh_i2 0
RgXn_powu 0
RgXn_sqr_basecase 0
RgXn_sqrhigh 0
RgXn_sqrt 0
_gen_sub 0
_sub 0
_zeroXn 0
zero_FpXQX_mod 7
RgX_rem_FpXQX 35
RgX_mul_FpXQX 56
QXX_QXQ_eval 63
RgXQV_RgXQ_mul 77
RgXn_reverse 91
RgXY_degreex 92
_zero 105
RgX_sqr_FpXQX 147
RgXn_sqr2 238
RgXQ_matrix_pow 287
RgXX_to_RgM 308
RgXV_unscale 357
RgXnV_red_shallow 357
RgXn_powers 357
RgXQX_powers 448
RgX_RgXnV_eval 714
RgXQV_red 903
RgXY_swap 952
QXQXV_to_mod 1176
ZX_unscale_div 1176
_mulXn 1218
QXV_QXQ_eval 1232
RgX_sqr_FpX 1260
do_QXQ_eval 1295
_oneXn 1477
RgXn_powu_i 1617
RgX_mulhigh_i2 1700
RgXQX_sqr 1792
_sqrXn 1897
RgX_rescale 1925
QXQ_powers 2091
RgX_recip 2093
RgX_digits 2219
RgX_divs 2457
RgX_Rg_add_shallow 2548
QX_ZXQV_eval 2674
RgXV_RgV_eval 2814
RgXQ_powers 3036
QXQX_to_mod 3087
RgXV_to_RgM 3765
RgX_sqr_QXQX 3781
RgXQX_RgXQ_mul 4585
QXQV_to_mod 4880
RgX_pseudodivrem 5172
RgXQX_pseudodivrem 5340
RgX_sqr_i 5768
RgX_sqrspec_basecase 5807
RgX_sqrspec 5846
ZXQX_dvd 5968
QXQM_to_mod_shallow 6090
RgXQX_translate 6146
RgXn_eval 6713
ZX_unscale 7336
_RgX_divrem 9058
RgX_unscale 10535
RgX_normalize 11585
RgXQM_red 12040
RgXQX_mul 12789
RgXn_exp 12810
RgX_muls 14217
RgX_valrem_inexact 14220
_gen_zero 14602
RgXn_sqr 16086
RgM_to_RgXX 16352
RgXY_swapspec 17172
QXQC_to_mod_shallow 17976
RgXQ_pow 18681
ZX_unscale2n 19099
QXQ_to_mod_copy 23825
RgXQX_pseudorem 25115
RgX_pseudorem 25115
RgX_rem_QXQX 31902
RgX_sqrspec_basecase_limb 32595
RgX_Rg_sub 33389
RgXQ_norm 34748
RgX_mulhigh_i 36000
RgXn_mulhigh 36000
RgX_even_odd 40171
RgX_splitting 40670
RgXn_recip_shallow 40712
RgX_div_by_X_x 40724
RgX_RgXQ_eval 45248
RgM_to_RgXV 48104
RgXQX_divrem 57951
_add 65695
_red 71155
RgXn_inv 81032
RgXQC_red 84602
_mul 103069
RgV_to_RgM 103712
RgX_blocks 106112
_one 107014
_cmul 111559
get_Rg_algebra 113467
RgX_mul_QXQX 119992
QXQX_to_mod_shallow 122132
RgX_deflate 123954
Kronecker_to_mod 123976
RgXn_inv_i 126497
Rg_get_0 129171
RgX_RgV_eval 130655
RgV_to_RgX_reverse 159639
RgX_addspec 185372
RgXQ_powu 206946
zero_FpX_mod 210127
RgX_deriv 235411
_gen_sqr 244218
_sqr 251565
RgX_liftred 307569
RgX_rotate_shallow 315273
ZX_z_unscale 322931
RgX_mul_FpX 341067
RgXQX_red 345068
RgX_rem_FpX 348880
_gen_cmul 368781
RgX_recip_shallow 374278
ZX_translate 381992
RgX_inflate 397238
RgX_Rg_divexact 413411
rem 446676
RgV_to_RgX 456907
Rg_RgX_sub 464290
RgX_addmulXn 475918
RgX_recipspec_shallow 492615
RgX_mul_normalized 634070
Rg_to_RgC 679516
_gen_mul 753146
RgX_renormalize_lg 763309
_gen_nored 881611
_gen_one 899195
QXQ_to_mod 914169
RgX_neg 1062859
RgX_translate 1181508
gen_bkeval 1393655
RgXn_red_shallow 1575470
RgXn_mul_basecase 1853752
RgXn_mul2 1912062
RgX_addmulXn_shallow 2186751
RgX_val 2219123
Rg_get_1 2325900
RgX_sqr 2538086
RgX_sqr_fast 2554157
RgX_mulXn 2859839
RgX_addspec_shallow 3062835
brent_kung_optpow 3098508
RgX_shift 3443654
RgX_equal 3767249
RgXn_mul 4155549
RgX_rem_fast 6286401
RgX_rem 6286417
RgX_to_RgC 6617176
RgX_mul_i 7368691
gen_bkeval_powers 7576901
RgX_mulspec_basecase 8240145
RgX_mulspec 8774359
RgX_divrem 10985147
RgX_Rg_add 11699271
RgX_divrem_i 11902843
gen_RgXQ_eval_powers 12182788
RgX_sub 12364417
RgX_add 17221642
RgXspec_kill0 20193601
_gen_add 21659369
RgX_Rg_div 22618559
RgX_mul 36856506
RgX_mul_fast 41048051
RgX_valrem 43170809
RgX_mulspec_basecase_limb 43330623
RgX_shift_shallow 59267082
RgX_Rg_mul 67948582

Generated by: LCOV version 1.11