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 - F2x.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 17097-9391e68) Lines: 869 938 92.6 %
Date: 2014-11-21 Functions: 104 107 97.2 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 467 603 77.4 %

Function Name Sort by function name Hit count Sort by hit count
F2c_to_Flc 2410
F2c_to_ZC 621420
F2c_to_mod 2150
F2m_rowslice 10
F2m_to_Flm 880
F2m_to_ZM 109105
F2m_to_mod 70
F2v_add_inplace 15337627
F2v_slice 20
F2xC_to_ZXC 1170
F2xV_to_F2m 36549
F2x_1_add 475
F2x_F2xqV_eval 0
F2x_F2xq_eval 10705
F2x_add 9053303
F2x_addshift 9041798
F2x_addshiftip 43791236
F2x_addspec 7238723
F2x_deflate 26160
F2x_degree 16143788
F2x_degree_lg 73532534
F2x_deriv 179676
F2x_divrem 6575308
F2x_even_odd 8742
F2x_extgcd 255609
F2x_factorel 5230
F2x_gcd 758455
F2x_halfgcd 105
F2x_halfgcd_i 105
F2x_is_smooth 55280
F2x_is_smooth_squarefree 65530
F2x_is_x 3432
F2x_issquare 10250
F2x_mul 7313227
F2x_mul1 15818495
F2x_mulspec 24475479
F2x_pow2n 33060
F2x_rem 8354941
F2x_shift 58040
F2x_shiftip 24399621
F2x_shiftneg 330
F2x_shiftpos 57710
F2x_sqr 1215072
F2x_sqrt 12505
F2x_to_F2v 238703
F2x_to_Flx 11395
F2x_to_ZX 65585
F2x_valrem 31705
F2xq_Artin_Schreier 22089
F2xq_autpow 3432
F2xq_autpow_mul 4456
F2xq_autpow_sqr 6239
F2xq_conjvec 5
F2xq_div 234694
F2xq_easylog 45
F2xq_inv 255609
F2xq_invsafe 255609
F2xq_log 15
F2xq_log_Coppersmith 5
F2xq_log_Coppersmith_d 30
F2xq_log_Coppersmith_rec 10
F2xq_log_find_rel 10
F2xq_log_from_rel 30
F2xq_log_index 5
F2xq_matrix_pow 36549
F2xq_mul 877946
F2xq_order 252
F2xq_pow 4628
F2xq_powers 36549
F2xq_powu 2695
F2xq_sqr 1148952
F2xq_sqrt 3535
F2xq_sqrt_fast 8742
F2xq_sqrtn 45
F2xq_trace 47581
Flm_to_F2m 880
Flv_to_F2v 4310
Flx_to_F2x 62870
RgM_to_F2m 185
RgV_to_F2v 5445
RgX_to_F2x 0
Rg_to_F2xq 69800
ZM_to_F2m 211840
ZV_to_F2v 1291755
ZXX_to_F2xX 1170
ZX_to_F2x 3840
Z_to_F2x 1250
_F2xq_add 54081
_F2xq_cmul 64501
_F2xq_equal0 105
_F2xq_inv 55
_F2xq_mul 180465
_F2xq_neg 100
_F2xq_one 72560
_F2xq_pow 769
_F2xq_rand 50
_F2xq_red 36406
_F2xq_rmul 475
_F2xq_s 70
_F2xq_sqr 159157
_F2xq_zero 0
check_kernel 5
gener_F2xq 60
get_F2xq_field 40
mkF2 5382
rel_Coppersmith 38585
smallirred_F2x 5

Generated by: LCOV version 1.9