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 21730-50db3b0) Lines: 1457 1612 90.4 %
Date: 2018-01-19 06:18:47 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
RgXQV_RgXQ_mul 56
RgXQ_minpoly_naive 56
RgX_mul_FpXQX 56
QXX_QXQ_eval 63
RgXn_reverse 91
RgXY_degreex 92
RgXX_to_RgM 98
_zero 105
RgX_sqr_FpXQX 147
RgXV_unscale 231
RgXn_sqr2 238
RgXQ_matrix_pow 287
RgXn_recip_shallow 315
RgXnV_red_shallow 357
RgXn_powers 357
RgXQX_powers 448
QXQXV_to_mod 616
RgXQV_red 665
RgX_RgXnV_eval 714
RgXY_swap 952
ZX_unscale_div 1176
QXV_QXQ_eval 1197
_mulXn 1218
RgX_sqr_FpX 1260
do_QXQ_eval 1260
RgX_mulhigh_i2 1434
_oneXn 1477
RgXn_powu_i 1617
RgXQX_sqr 1792
RgX_rescale 1855
_sqrXn 1897
RgX_normalize 1939
QXQ_powers 1946
QXQX_to_mod 1974
RgXn_eval 2016
RgX_recip 2170
RgX_digits 2219
RgX_Rg_add_shallow 2422
RgX_divs 2457
QX_ZXQV_eval 2590
RgXV_RgV_eval 2814
RgXV_to_RgM 2839
RgXQ_powers 2863
RgX_sqr_QXQX 3769
RgXQX_RgXQ_mul 4417
QXQV_to_mod 4726
RgX_pseudodivrem 5172
RgXQX_pseudodivrem 5333
RgX_unscale 5628
RgX_sqr_i 5796
RgX_sqrspec_basecase 5835
RgX_sqrspec 5874
QXQM_to_mod_shallow 5901
ZXQX_dvd 5919
RgXQX_translate 6083
ZX_unscale 7336
_RgX_divrem 9058
RgX_valrem_inexact 10117
RgXQM_red 12264
RgXQX_mul 12789
RgXn_exp 12810
RgXY_swapspec 13904
RgX_muls 14217
_gen_zero 14588
RgM_to_RgXX 15897
RgXn_sqr 16086
QXQC_to_mod_shallow 16667
RgXQ_pow 18087
QXQ_to_mod_copy 18232
ZX_unscale2n 18553
RgXQX_pseudorem 25003
RgX_pseudorem 25003
RgX_even_odd 28817
RgX_rem_QXQX 31773
RgX_sqrspec_basecase_limb 32735
RgX_Rg_sub 32915
RgXQ_norm 34738
RgX_mulhigh_i 34929
RgXn_mulhigh 34929
RgX_div_by_X_x 39231
RgX_splitting 40670
RgX_RgXQ_eval 45080
RgM_to_RgXV 47148
RgXQX_divrem 57268
_add 65380
_red 70868
RgXQC_red 80521
_mul 86638
RgV_to_RgM 103001
RgX_blocks 105041
_one 106435
_cmul 111076
get_Rg_algebra 113075
RgX_deflate 115263
RgX_mul_QXQX 118403
QXQX_to_mod_shallow 121324
Kronecker_to_mod 122375
RgXn_inv 125664
Rg_get_0 128975
RgX_RgV_eval 129927
RgV_to_RgX_reverse 152919
RgX_addspec 179975
RgXQ_powu 181618
_sqr 210073
RgX_deriv 224635
_gen_sqr 243063
zero_FpX_mod 271783
RgX_liftred 304121
RgX_rotate_shallow 315273
RgX_recip_shallow 316956
ZX_z_unscale 322392
RgX_rem_FpX 327691
RgXQX_red 341410
_gen_cmul 367381
ZX_translate 377372
RgX_inflate 379751
Rg_RgX_sub 380600
RgX_mul_FpX 420846
RgX_recipspec_shallow 432699
RgX_Rg_divexact 433473
rem 446046
RgV_to_RgX 465009
RgX_addmulXn 470465
RgX_mul_normalized 580021
Rg_to_RgC 677342
_gen_mul 749653
RgX_renormalize_lg 752694
QXQ_to_mod 849546
_gen_nored 877523
_gen_one 895107
RgX_neg 1035978
RgX_translate 1048904
gen_bkeval 1076979
RgXn_red_shallow 1567729
RgXn_mul_basecase 1677184
RgXn_mul2 1714487
RgX_sqr 1743985
RgX_sqr_fast 1760034
RgX_addmulXn_shallow 2014500
Rg_get_1 2062045
RgX_val 2111477
brent_kung_optpow 2285695
RgX_mulXn 2859860
RgX_addspec_shallow 2905121
RgX_shift 3403236
RgXn_mul 3953340
RgX_equal 4010872
RgX_rem_fast 5417164
RgX_rem 5417211
gen_bkeval_powers 6479421
RgX_to_RgC 6738623
RgX_mul_i 7140569
RgX_mulspec_basecase 8011045
RgX_mulspec 8544118
gen_RgXQ_eval_powers 10164903
RgX_divrem 10932661
RgX_Rg_add 11532269
RgX_sub 11671907
RgX_divrem_i 11679344
RgX_add 17162914
RgXspec_kill0 19382293
_gen_add 21638488
RgX_Rg_div 22607246
RgX_mul 36559919
RgX_mul_fast 40548160
RgX_mulspec_basecase_limb 41455468
RgX_valrem 42488993
RgX_shift_shallow 57788971
RgX_Rg_mul 67576619

Generated by: LCOV version 1.11