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 21348-d75f58f) Lines: 1453 1608 90.4 %
Date: 2017-11-20 06:21:05 Functions: 170 183 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 42
RgXQV_RgXQ_mul 56
RgXQ_minpoly_naive 56
QXX_QXQ_eval 63
RgX_mul_FpXQX 63
RgXX_to_RgM 77
RgXn_reverse 91
RgXY_degreex 99
_zero 105
RgX_sqr_FpXQX 147
RgXV_unscale 231
RgXn_sqr2 238
RgXQ_matrix_pow 287
RgXnV_red_shallow 357
RgXn_powers 357
RgXQX_powers 448
RgXQV_red 546
QXQXV_to_mod 609
RgX_RgXnV_eval 714
RgXY_swap 784
ZX_unscale_div 1176
QXV_QXQ_eval 1190
_mulXn 1211
RgX_sqr_FpX 1253
do_QXQ_eval 1253
_oneXn 1477
RgXn_powu_i 1575
RgXn_eval 1778
RgXQX_sqr 1792
RgX_rescale 1806
_sqrXn 1876
QXQ_powers 1939
RgX_normalize 1939
QXQX_to_mod 1967
RgX_recip 2149
RgX_digits 2219
RgXQ_powers 2401
RgX_Rg_add_shallow 2422
RgX_divs 2457
RgX_mulhigh_i2 2540
QX_ZXQV_eval 2576
RgXV_to_RgM 2678
RgXV_RgV_eval 2814
RgX_sqr_QXQX 3769
RgXQX_RgXQ_mul 4417
QXQV_to_mod 4726
RgX_unscale 5026
RgX_pseudodivrem 5158
RgXQX_pseudodivrem 5319
RgX_sqr_i 5621
RgX_sqrspec_basecase 5660
RgX_sqrspec 5699
ZXQX_dvd 5919
QXQM_to_mod_shallow 5964
RgXQX_translate 6076
ZX_unscale 7336
_RgX_divrem 9058
RgX_valrem_inexact 10082
RgXQM_red 12376
RgXQX_mul 12789
RgXn_exp 12810
RgXY_swapspec 13414
RgX_muls 14217
RgM_to_RgXX 15736
RgXn_sqr 16065
QXQC_to_mod_shallow 17087
RgXQ_pow 18136
QXQ_to_mod_copy 18211
_gen_zero 18249
ZX_unscale2n 19050
RgXQX_pseudorem 24933
RgX_pseudorem 24933
RgX_rem_QXQX 31759
RgX_sqrspec_basecase_limb 32266
RgX_Rg_sub 32901
RgX_mulhigh_i 34628
RgXn_mulhigh 34628
RgXQ_norm 34738
RgX_div_by_X_x 39189
RgX_splitting 40614
RgX_RgXQ_eval 45052
RgX_even_odd 46546
RgM_to_RgXV 47043
RgXQX_divrem 57247
_add 65345
_red 70826
RgXQC_red 82362
get_Rg_algebra 96534
RgV_to_RgM 102938
_mul 104493
RgX_blocks 104740
_one 105910
_cmul 111013
RgX_deflate 114544
RgX_mul_QXQX 120944
QXQX_to_mod_shallow 121303
Kronecker_to_mod 124923
RgXn_inv 125090
Rg_get_0 128940
RgX_RgV_eval 139440
RgV_to_RgX_reverse 149566
RgX_addspec 187682
_gen_sqr 203702
RgXQ_powu 209134
RgX_deriv 222613
_sqr 253610
zero_FpX_mod 255459
RgX_liftred 309175
RgX_rotate_shallow 315273
ZX_z_unscale 319858
RgX_rem_FpX 327754
RgX_recip_shallow 330084
RgXQX_red 346450
ZX_translate 378289
Rg_RgX_sub 380343
_gen_cmul 382151
RgX_mul_FpX 404522
RgX_inflate 405786
RgV_to_RgX 433109
RgX_Rg_divexact 433746
RgX_recipspec_shallow 437578
rem 445395
RgX_addmulXn 478438
RgX_mul_normalized 579499
_gen_mul 627104
Rg_to_RgC 677132
RgX_renormalize_lg 751371
_gen_nored 762457
_gen_one 777808
QXQ_to_mod 858856
RgX_neg 1038865
RgX_translate 1048113
gen_bkeval 1070372
RgXn_red_shallow 1392974
RgXn_mul_basecase 1688412
RgXn_mul2 1729089
RgX_addmulXn_shallow 2021073
RgX_val 2109601
Rg_get_1 2166604
brent_kung_optpow 2281936
RgX_sqr 2816034
RgX_sqr_fast 2832109
RgX_mulXn 2859216
RgX_addspec_shallow 2909948
RgX_shift 3402844
RgXn_mul 3747057
RgX_equal 3970279
RgX_to_RgC 4091962
RgX_rem_fast 6475803
RgX_rem 6475824
gen_bkeval_powers 6506470
RgX_mul_i 7290503
RgX_mulspec_basecase 8158837
RgX_mulspec 8694052
gen_RgXQ_eval_powers 10110508
RgX_divrem 10932020
RgX_sub 11675751
RgX_divrem_i 11678210
RgX_Rg_add 11740309
RgX_add 17210075
RgXspec_kill0 19700158
_gen_add 20844065
RgX_Rg_div 22600750
RgX_mul 36858868
RgX_mul_fast 40640531
RgX_valrem 42485518
RgX_mulspec_basecase_limb 42777420
RgX_shift_shallow 57761036
RgX_Rg_mul 69850077

Generated by: LCOV version 1.11