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-bordeaux1.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 - FpXX.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 17771-d5ace09) Lines: 603 642 93.9 %
Date: 2015-04-25 Functions: 76 79 96.2 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 262 339 77.3 %

Function Name Sort by function name Hit count Sort by hit count
FpXQXQV_autpow 131
FpXQXQV_autsum 76
FpXQXQ_autpow_mul 1
FpXQXQ_autpow_sqr 131
FpXQXQ_autsum_mul 78
FpXQXQ_autsum_sqr 76
FpXQXQ_div 486
FpXQXQ_inv 500
FpXQXQ_invsafe 500
FpXQXQ_matrix_pow 50
FpXQXQ_mul 13147
FpXQXQ_pow 283
FpXQXQ_powers 129
FpXQXQ_sqr 20948
FpXQXV_prod 172
FpXQX_FpXQXQV_eval 157
FpXQX_FpXQXQ_eval 132
FpXQX_FpXQ_mul 78085
FpXQX_digits 343
FpXQX_div_by_X_x 5831
FpXQX_divrem 350161
FpXQX_divrem_Barrett 0
FpXQX_divrem_Barrett_noGC 2744
FpXQX_divrem_Barrettspec 5222
FpXQX_divrem_basecase 383969
FpXQX_extgcd 6646
FpXQX_fromdigits 105
FpXQX_gcd 30677
FpXQX_invBarrett 2744
FpXQX_invBarrett_Newton 1946
FpXQX_invBarrett_basecase 798
FpXQX_mul 398937
FpXQX_mulspec 433104
FpXQX_powu 14
FpXQX_recipspec 10444
FpXQX_red 226862
FpXQX_rem 42333
FpXQX_rem_Barrett 0
FpXQX_sqr 23027
FpXX_FpX_mul 5392
FpXX_FpX_mulspec 12972
FpXX_Fp_mul 103651
FpXX_add 563671
FpXX_mulu 45898
FpXX_neg 73
FpXX_red 73443
FpXX_sub 33588
FpXX_subspec 5222
FpXYQQ_mul 42
FpXYQQ_pow 1428
FpXYQQ_redswap 112
FpXYQQ_sqr 70
FpXY_FpXQV_evalx 358
FpXY_FpXQ_evalx 70
FpXY_FpY_mulspec 7580
FpXY_eval 9373
FpXY_evalx 17857
FpXY_evaly 12244
Fq_addmul 11662
Kronecker_to_FpXQX 445636
Kronecker_to_ZXX 125965
ZXX_copy 224
ZXX_is_ZX 23027
ZXX_is_ZX_spec 889235
ZXX_lgrenormalizespec 45241
ZXX_mul_Kronecker 204806
ZXX_sqr_Kronecker 2205
_FpXQXQ_add 5105
_FpXQXQ_cmul 5394
_FpXQXQ_mul 3834
_FpXQXQ_one 1410
_FpXQXQ_red 1411
_FpXQXQ_sqr 18288
_FpXQXQ_zero 0
_FpXQX_add 1162
_FpXQX_divrem 9142
_FpXQX_mul 2183
_FpXQX_sqr 1456
to_FlxqX 334632

Generated by: LCOV version 1.9