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 to exceed 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.12.0 lcov report (development 23824-6063b5d10) Lines: 1382 1477 93.6 %
Date: 2019-04-25 05:44:46 Functions: 166 173 96.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2xC_to_FlxC 0
F2xX_F2x_add 0
F2xY_F2xq_evalx 0
F2x_deflate 0
F2xqX_powu 0
_F2xqX_mul 0
_F2xqX_sqr 0
F2xqXQ_inv 7
F2xqXQ_invsafe 7
F2xqXQ_pow 7
F2xq_conjvec 7
F2xqX_disc 14
F2xqX_extgcd 14
F2xq_log_Coppersmith 14
F2xq_log_index 14
F2xq_pow_init 14
check_kernel 14
smallirred_F2x 14
F2xqX_resultant 21
F2xq_log_Coppersmith_rec 28
F2xq_log_from_rel 46
F2xq_powu 49
F2xq_log_find_rel 52
_F2xqXQ_zero 56
F2xq_log_Coppersmith_d 58
F2xqXQV_red 63
monomial_F2x 63
F2xqX_invBarrett_Newton 101
gener_F2xq 154
F2x_eval 245
FlxXC_to_F2xXC 252
F2x_to_F2xX 350
F2xq_order 378
F2xqX_invBarrett_basecase 408
_F2xq_inv 413
polx_F2xX 476
F2x_halfgcd 509
F2x_halfgcd_i 509
FlxX_to_F2xX 553
F2x_shiftneg 673
_F2xq_s 693
_F2xq_neg 798
F2xqX_invBarrett 813
F2xXC_to_ZXXC 833
F2xX_to_ZXX 966
_F2xq_equal0 973
F2x_get_red 1022
RgX_to_F2x 1190
get_F2xq_field 1659
F2xq_log_Coppersmith_worker 2117
F2xqXQ_auttrace 2660
F2xqX_get_red 2674
random_F2xqX 2779
F2xqX_divrem_Barrett 3383
F2xC_to_ZXC 3682
ZXX_to_F2xX 4522
F2xqXQ_auttrace_sqr 4697
F2xq_pow_table 5246
F2xqXQ_auttrace_mul 7000
F2xqXQ_powers 7546
F2xqX_F2xq_mul 7565
_F2xq_rand 9247
F2xq_sqrtn 9268
F2x_valrem 11860
F2xq_autpow_mul 13202
F2xX_addspec 13255
F2xqX_divrem_Barrettspec 13395
_F2xq_rmul 13748
F2xqX_F2xqXQV_eval 14056
F2x_factorel 15171
FlxC_to_F2xC 16625
F2x_is_x 18150
F2xq_autpow 18158
mkF2 25836
F2xX_recipspec 26891
F2xq_autpow_sqr 26893
F2xqX_mulspec 27918
F2xX_lgrenormalizespec 28692
F2x_addshift 30470
_F2xqXQ_sqr 33068
F2xq_sqrt 33096
F2xqX_divrem 33362
F2xqXQ_autpow_mul 33439
F2x_issquare 37001
F2x_F2xq_eval 40809
F2x_addspec 46004
F2x_even_odd 49644
F2xq_sqrt_fast 49644
F2xq_log 51226
F2xX_to_Kronecker_spec 55836
F2xqXQ_autpow 70833
F2xX_deriv 80857
F2xq_easylog 88527
F2xqXQ_autpow_sqr 89348
Flx_to_F2x 97201
F2x_sqrt 98674
F2x_to_Flx 104396
F2xqXQ_sqr 104461
F2xqX_sqr 105427
_F2xqXQ_mul 114618
F2xqXQ_mul 114625
F2xqX_F2xqXQ_eval 122787
F2xY_F2xqV_evalx 136787
F2x_pow2n 137844
F2xqX_mul 154199
rel_Coppersmith 154446
F2xqX_gcd 170387
Kronecker_to_F2xqX 182117
F2x_1_add 189749
F2xqX_F2xq_mul_to_monic 206598
F2xqX_normalize 206612
F2xY_degreex 207186
Z_to_F2x 209160
F2xq_Artin_Schreier 212506
F2xq_matrix_pow 223238
F2xV_to_F2m 223239
F2x_matFrobenius 223239
F2x_to_ZX 223391
F2x_is_smooth 224054
F2x_shiftpos 241613
F2x_shift 242207
_F2xq_zero 260099
F2x_is_smooth_squarefree 260845
F2xX_to_Kronecker 308398
_F2xqXQ_add 345093
_F2xqXQ_red 352898
F2xq_powers 353025
_F2xqXQ_one 376250
F2x_Frobenius 379110
ZX_to_F2x 384290
_F2xq_pow 390425
F2xX_add 423514
F2xq_pow 433761
pol1_F2xX 447993
F2xq_trace 460488
F2xX_F2x_mul 481880
_F2xqXQ_cmul 481880
F2xqX_divrem_basecase 544531
_F2xq_red 553659
F2xq_div 576310
F2x_F2xqV_eval 611415
F2xqX_red 669426
F2xqX_rem 752073
get_F2xqX_red 785435
F2x_deriv 863236
_F2xq_sqr 881908
_F2xq_one 885431
Rg_to_F2xq 1164499
F2xq_inv 1373511
F2x_extgcd 1373518
F2xq_invsafe 1373518
_F2xq_add 1438105
F2x_to_F2v 1502851
_F2xq_mul 1572303
F2x_slice 1792870
_F2xq_cmul 1821120
F2xX_renormalize 2439637
F2x_gcd 2858830
F2x_mulspec_basecase 5075302
F2xq_sqr 7881265
F2x_sqr 8148809
F2xq_mul 8991157
F2x_divrem 13148230
F2x_mul1 17932436
F2x_shiftip 23029072
F2x_mul 27394812
F2x_mulspec 27438631
F2x_add 30177520
F2x_rem 47775584
F2x_degree 70753377
F2x_addshiftip 129464155
F2x_addshiftipspec 161865620
F2x_degree_lg 250303160

Generated by: LCOV version 1.13