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 - F2x.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20095-ff095b1) Lines: 1263 1341 94.2 %
Date: 2017-01-21 05:50:01 Functions: 157 162 96.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2xC_to_FlxC 0
F2xY_F2xq_evalx 0
F2x_deflate 0
F2xq_powu 0
polx_F2xX 0
F2xqXQ_pow 7
F2xq_conjvec 7
F2m_rowslice 14
F2xq_log_Coppersmith 14
F2xq_log_index 14
check_kernel 14
smallirred_F2x 14
F2v_slice 28
F2xq_log_Coppersmith_rec 28
_F2xqXQ_zero 35
monomial_F2x 35
F2xq_log_from_rel 109
F2m_to_mod 112
F2xq_log_Coppersmith_d 130
F2xq_log_find_rel 139
gener_F2xq 154
FlxXC_to_F2xXC 161
get_F2xq_field 210
F2xXC_to_ZXXC 224
F2x_eval 224
RgM_to_F2m 287
_F2xq_inv 343
F2xq_order 350
_F2xq_s 525
F2x_halfgcd 599
F2x_halfgcd_i 599
_F2xq_neg 672
_F2xq_equal0 735
RgX_to_F2x 1218
F2m_to_Flm 1400
Flm_to_F2m 1400
F2x_shiftneg 1508
FlxX_to_F2xX 1736
F2xX_to_ZXX 1813
F2xq_log_Coppersmith_worker 2040
F2xC_to_ZXC 2051
ZXX_to_F2xX 2275
_F2xq_rmul 2429
F2xqXQV_auttrace 2541
random_F2xqX 2583
F2c_to_mod 3045
F2v_to_Flv 3850
F2xqXQ_auttrace_sqr 4529
F2xqXQ_auttrace_mul 6685
F2xqXQ_powers 6713
F2xqX_F2xq_mul 6895
Flv_to_F2v 7406
RgV_to_F2v 7686
F2xq_sqrtn 7784
_F2xq_rand 9317
F2xq_autpow_mul 12636
F2x_addshift 13386
F2xqX_F2xqXQV_eval 13447
FlxC_to_F2xC 14854
F2x_is_x 15042
F2xq_autpow 15042
F2x_factorel 15236
F2x_addspec 17997
mkF2 23028
F2xq_autpow_sqr 23339
F2xq_sqrt 29511
_F2xqXQ_sqr 32606
F2xqXQ_autpow_mul 33306
F2x_issquare 35714
F2x_F2xq_eval 36003
F2xq_log 40845
F2x_even_odd 41501
F2xq_sqrt_fast 41501
F2x_valrem 53150
F2xqXQV_autpow 70518
F2xq_easylog 75222
F2x_sqrt 78849
F2xX_deriv 80332
F2xqXQ_autpow_sqr 88816
F2x_to_Flx 90588
F2m_to_ZM 95253
F2xqXQ_sqr 103131
F2xqX_sqr 103292
F2xqXQ_mul 114247
F2xqX_mul 114247
Kronecker_to_F2xqX 114247
_F2xqXQ_mul 114247
F2xqX_F2xqXQ_eval 122122
ZX_to_F2x 134755
F2xY_F2xqV_evalx 135492
rel_Coppersmith 147727
F2x_to_ZX 147863
Z_to_F2x 159502
F2xqX_gcd 166866
ZM_to_F2m 185002
F2x_1_add 186361
Flx_to_F2x 187127
F2x_pow2n 199004
F2xqX_F2xq_mul_to_monic 203119
F2xqX_normalize 203119
F2xY_degreex 205093
F2xq_Artin_Schreier 212562
F2xX_to_Kronecker 228494
F2xV_to_F2m 229658
F2x_matFrobenius 229658
F2xq_matrix_pow 229658
F2x_is_smooth 248210
_F2xq_zero 259406
F2x_is_smooth_squarefree 283816
F2x_shiftpos 299005
F2x_shift 300520
const_F2v 310929
F2x_Frobenius 326882
_F2xq_pow 342237
_F2xqXQ_add 342713
_F2xqXQ_red 351148
F2xq_powers 358465
_F2xqXQ_one 373303
F2xq_pow 390735
F2c_to_ZC 405484
F2xX_add 420133
pol1_F2xX 444549
F2xq_trace 459367
F2xX_F2x_mul 478247
_F2xqXQ_cmul 478247
F2xq_div 504161
_F2xq_red 518780
F2xqX_divrem 538307
F2x_F2xqV_eval 606774
F2xqX_red 660702
F2xqX_rem 744555
_F2xq_one 858333
F2x_deriv 858933
F2x_slice 1013460
ZV_to_F2v 1061760
_F2xq_sqr 1116874
Rg_to_F2xq 1146019
F2x_extgcd 1260172
F2xq_inv 1260172
F2xq_invsafe 1260172
_F2xq_add 1298506
_F2xq_mul 1335897
F2x_to_F2v 1340180
_F2xq_cmul 1680482
F2xX_renormalize 2222087
F2x_gcd 3141454
F2x_mulspec_basecase 5016531
F2xq_sqr 8218621
F2xq_mul 8331190
F2x_sqr 8614523
F2x_divrem 13087192
F2x_mul1 26209265
F2v_add_inplace 30701944
F2x_shiftip 31236211
F2x_mul 35387835
F2x_mulspec 35408835
F2x_add 38621860
F2x_rem 54318568
F2x_degree 76840766
F2x_addshiftip 150737094
F2x_addshiftipspec 179335518
F2x_degree_lg 284392910

Generated by: LCOV version 1.11