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 - Flx.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16741-1378b1c) Lines: 2077 2238 92.8 %
Date: 2014-08-17 Functions: 258 270 95.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1082 1318 82.1 %

Function Name Sort by function name Hit count Sort by hit count
Fl2_equal1 35
Fl2_inv_pre 10
Fl2_mul_pre 120
Fl2_norm_pre 0
Fl2_pow_pre 55
Fl2_sqr_pre 355
Fl2_sqrtn_pre 10
Fl_to_Flx 343607
Flc_to_ZC 791880
Flm_to_FlxV 146618
Flm_to_FlxX 8568
Flm_to_ZM 153190
FlvV_polint_tree 15437
Flv_FlvV_polint 0
Flv_inv 15437
Flv_polint 15437
Flv_producttree 15437
Flv_roots_to_pol 378
Flv_to_Flx 331272
Flv_to_ZV 215
FlxC_to_ZXC 495
FlxM_Flx_add_shallow 35
FlxM_Flx_mul2 551
FlxM_mul2 416
FlxM_to_ZXM 233
FlxT_red 15908
FlxV_Flc_mul 8660
FlxV_red 0
FlxV_to_Flm 204283
FlxV_to_ZXV 57696
FlxXV_to_FlxM 83
FlxX_Fl_mul 90
FlxX_Flx_add 120
FlxX_Flx_mul 81470
FlxX_add 71861
FlxX_double 150
FlxX_lgrenormalizespec 154179
FlxX_neg 90
FlxX_recipspec 86358
FlxX_renormalize 665221
FlxX_shift 0
FlxX_sub 24375
FlxX_subspec 37144
FlxX_swap 6980
FlxX_to_Flm 3948
FlxX_to_FlxC 762
FlxX_to_ZXX 69266
FlxX_triple 30
FlxY_Flx_div 945
FlxY_FlxqV_evalx 8219
FlxY_Flxq_evalx 0
FlxY_evalx 567975
FlxYqq_mul 1400
FlxYqq_pow 1390
FlxYqq_redswap 3490
FlxYqq_sqr 2090
Flx_Fl_add 304008
Flx_Fl_mul 10566409
Flx_Fl_mul_to_monic 948133
Flx_Flv_eval 0
Flx_Flv_eval_tree 15437
Flx_FlxM_qmul 415
Flx_FlxqV_eval 1003284
Flx_Flxq_eval 450757
Flx_Frobenius 1945170
Flx_add 9213943
Flx_addmulmul 1104
Flx_addshift 3424
Flx_addspec 6792
Flx_deflate 14820
Flx_deriv 2805124
Flx_div_by_X_x 6231
Flx_divrem 35271327
Flx_divrem_Barrett_noGC 5473
Flx_divrem_Barrettspec 5537
Flx_divrem_basecase 13141777
Flx_double 1240818
Flx_equal 3422659
Flx_eval 18311976
Flx_eval2BILspec 166666
Flx_extgcd 1895757
Flx_extgcd_basecase 1895757
Flx_extgcd_halfgcd 1
Flx_extresultant 101215
Flx_gcd 10560099
Flx_gcd_basecase 10162228
Flx_get_red 8835727
Flx_halfgcd 1496
Flx_halfgcd_basecase 960
Flx_halfgcd_i 1496
Flx_halfgcd_split 536
Flx_inflate 6375
Flx_invBarrett 56
Flx_invBarrett_Newton 10
Flx_invBarrett_basecase 36
Flx_is_l_pow 3305
Flx_is_smooth 60605
Flx_is_smooth_squarefree 63910
Flx_is_squarefree 2398100
Flx_lgrenormalizespec 11224
Flx_matFrobenius 202003
Flx_mod_Xn1 13
Flx_mod_Xnm1 12248
Flx_mul 35751508
Flx_mullimb 28000975
Flx_mullimb_ok 79948761
Flx_mulspec 35766044
Flx_mulspec_basecase 22023690
Flx_mulspec_halfmulii 10554496
Flx_mulspec_mulii 664996
Flx_mulspec_mulii_inflate 54967
Flx_neg 512451
Flx_neg_inplace 1656
Flx_negspec 512451
Flx_normalize 5357731
Flx_powu 980
Flx_recip 0
Flx_recipspec 11084
Flx_red 79879
Flx_rem 123478907
Flx_rem_basecase 108780694
Flx_renormalize 314017519
Flx_rescale 5
Flx_resultant 2441342
Flx_shift 892253
Flx_shiftip 53768798
Flx_splitting 42550
Flx_sqr 20523182
Flx_sqrspec 20523294
Flx_sqrspec_basecase 9873339
Flx_sqrspec_halfsqri 10276226
Flx_sqrspec_sqri 262640
Flx_sqrspec_sqri_inflate 56732
Flx_sub 21990536
Flx_subspec 5537
Flx_to_Flv 2198021
Flx_to_FlxX 0
Flx_to_ZX 1348754
Flx_to_ZX_inplace 24474904
Flx_to_int_halfspec 31385218
Flx_triple 433348
Flx_val 988
Flx_valrem 266114
FlxqV_dotproduct 40480
FlxqV_roots_to_pol 234
FlxqXQV_autpow 713
FlxqXQV_autsum 1875
FlxqXQ_autpow_mul 388
FlxqXQ_autpow_sqr 1103
FlxqXQ_autsum_mul 3364
FlxqXQ_autsum_sqr 2781
FlxqXQ_div 520
FlxqXQ_inv 520
FlxqXQ_invsafe 520
FlxqXQ_matrix_pow 83
FlxqXQ_mul 4954
FlxqXQ_mul_mg 27148
FlxqXQ_pow 4463
FlxqXQ_powers 3967
FlxqXQ_sqr 460
FlxqXQ_sqr_mg 23287
FlxqXV_prod 234
FlxqX_FlxqXQV_eval 8118
FlxqX_FlxqXQ_eval 1491
FlxqX_Flxq_mul 4640
FlxqX_Flxq_mul_to_monic 10370
FlxqX_divrem 80715
FlxqX_extgcd 3975
FlxqX_gcd 2795
FlxqX_invBarrett 17914
FlxqX_invBarrett_Newton 12070
FlxqX_invBarrett_basecase 5759
FlxqX_mul 55960
FlxqX_mulspec 132574
FlxqX_normalize 0
FlxqX_pow 3615
FlxqX_red 32087
FlxqX_rem_Barrett 37144
FlxqX_safegcd 1400
FlxqX_sqr 29457
Flxq_autpow 227978
Flxq_autpow_mul 7277
Flxq_autpow_sqr 273968
Flxq_autsum 246879
Flxq_autsum_mul 470517
Flxq_autsum_sqr 282880
Flxq_charpoly 243
Flxq_conjvec 14
Flxq_div 1213802
Flxq_easylog 244392
Flxq_inv 1837741
Flxq_invsafe 1848631
Flxq_is2npower 100
Flxq_issquare 211928
Flxq_log 43539
Flxq_lroot 8910
Flxq_lroot_fast 40480
Flxq_matrix_pow 202893
Flxq_minpoly 224
Flxq_mul 18183507
Flxq_norm 10349
Flxq_order 8863
Flxq_pow 4298140
Flxq_pow_Frobenius 3884452
Flxq_powers 742386
Flxq_powu 2464754
Flxq_sqr 20440869
Flxq_sqrt 102185
Flxq_sqrtn 103130
Flxq_trace 1227
Fly_to_FlxY 400
Kronecker_to_FlxqX 217991
RgX_to_Flx 110
Rg_to_F2 1020460
Rg_to_Fl 8942886
Rg_to_Flxq 544007
ZXT_to_FlxT 383952
ZXV_to_FlxV 0
ZXXV_to_FlxXV 0
ZXX_to_FlxX 87202
ZX_to_Flx 65712523
Z_mod2BIL_Flx 111699
Z_mod2BIL_Flx_2 111669
Z_mod2BIL_Flx_3 30
Z_to_Flx 505231
_Fl2_mul 120
_Fl2_pow 55
_Fl2_rand 15
_Fl2_sqr 355
_Flx_mul 2824
_FlxqXQ_add 71861
_FlxqXQ_cmul 81470
_FlxqXQ_mul 27148
_FlxqXQ_one 22906
_FlxqXQ_red 20912
_FlxqXQ_sqr 23287
_FlxqXQ_zero 0
_FlxqX_mul 898
_FlxqX_sqr 3620
_Flxq_add 5585861
_Flxq_cmul 6686077
_Flxq_equal0 43514
_Flxq_inv 2252
_Flxq_mul 13347134
_Flxq_neg 2302
_Flxq_one 3809827
_Flxq_pow 3872821
_Flxq_rand 200798
_Flxq_red 3492942
_Flxq_rmul 361187
_Flxq_s 25404
_Flxq_sqr 18093527
_Flxq_zero 12529
bounded_order 506326
gener_Flxq 4744
get_Flx_degree 6466504
get_Flx_mod 2019647
get_Flx_red 158750234
get_Flx_var 6634747
get_Flxq_field 303
int_to_Flx 927636
int_to_Flx_half 20830722
matid2_FlxM 6
maxlengthcoeffpol 53768798
mkF2 510
pol1_FlxX 26881
polx_FlxX 2613
random_Flx 459775
zxX_to_Kronecker 141377
zxX_to_Kronecker_spec 406525

Generated by: LCOV version 1.9