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 - ZV.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.1 lcov report (development 22708-0f0e6fe44) Lines: 765 839 91.2 %
Date: 2018-06-18 05:36:21 Functions: 116 122 95.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
ZC_ZV_mul 0
ZC_Z_sub 0
ZM_multosym 0
ZM_pow 0
ZM_reducemodlll 0
ZM_togglesign 0
ZM_mul_diag 14
ZMV_to_zmV 35
ZV_sum 56
ZM_equal0 77
QM_QC_mul 91
zmV_to_ZMV 112
zv_neg_inplace 236
_ZM_mul 273
ZM_transmul 497
ZM_to_zm 1120
zv_ZM_mul 1204
zvV_equal 1337
zv_sum 1596
ZV_zc_mul 2065
ZM_powu 2191
_ZM_sqr 2632
ZM_supnorm 3304
ZV_abscmp 3326
ZM_sqr 3619
ZM_sqr_i 3619
ZM_max_lg 3797
ZC_reducemodlll 9711
ZV_max_lg 10612
ZM_Z_div 14707
ZC_z_mul 15469
zv_z_mul 16269
ZC_reducemodmatrix 19770
ZC_reducemodmatrix_i 19770
zm_to_Flm 19894
ZM_mul_sw 21296
ZM_reducemodmatrix 21329
ZM_reducemodmatrix_i 21329
zv_neg 31497
zm_to_ZM 40543
ZM_hnfdivrem 51695
Zupdate_row 52681
ZV_to_nv 52787
ZM_isdiagonal 60380
ZV_neg_inplace 70292
ZM_diag_mul 88297
Z_ZC_sub 95118
ZC_Z_add 103612
ZM_isscalar 105026
ZC_is_ei 105777
ZM_ishnf 116041
ZRED 118346
ZM_isidentity 121016
ZincrementalGS 141756
ZV_ZM_mul 145621
subtract_slices 149072
ZV_content 157388
ZM_transmultosym 161595
add_slices 170368
ZC_lincomb_1 227853
QM_mul 247927
ZM_copy 266075
ZM_neg 278124
zv_to_Flv 284480
ZM_Q_mul 307161
RgM_check_ZM 355121
zv_prod 364764
zv_prod_Z 365064
ZM_equal 491680
RgV_check_ZV 506991
ZM_nm_mul 671394
nm_Z_mul 671394
ZM_zm_mul 677403
ZV_cmp 681801
ZM_nc_mul_i 687969
ZM_sub 690874
ZC_hnfremdiv 854561
ZM_Z_divexact 856277
ZV_equal0 923454
ZM_Z_mul 1041680
ZC_Z_div 1136995
ZC_Q_mul 1205680
ZC_sub 1248502
ZM_add 1274697
check_ZV 1307766
ZV_togglesign 1375624
ZM_det_triangular 1591015
ZC_neg 1780020
ZC_lincomb1 1844540
ZC_sub_i 2009947
ZC_Z_divexact 2997444
ZM_zc_mul 3275681
zv_content 3556653
ZC_copy 4564796
ZM_zc_mul_i 4662196
ZV_dotsquare 5948784
ZC_add 7134356
ZV_prod 7482472
ZV_equal 7964914
ZM_ZC_mul 8104990
ZM_mul 8283169
ZM_mul_classical 8354539
ZM_mul_i 8372216
Flc_lincomb1_inplace 8659593
ZC_lincomb 8899357
ZV_equal_lg 9293119
ZV_dotproduct 11149382
ZV_dotproduct_i 13020316
ZC_Z_mul 13575418
vecsmall_prod 14694393
ZC_add_i 16068770
ZM_max_lg_i 16751848
zv_equal0 21181491
zv_equal 21642805
ZMrow_ZC_mul 26941636
ZM_ZC_mul_i 32649128
ZC_lincomb1_inplace 40768212
ZC_lincomb1_inplace_i 46309258
ZV_max_lg_i 52224969
zv_dotproduct 182130564
ZMrow_ZC_mul_i 185321617
_mulii 279060376

Generated by: LCOV version 1.13