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.8.0 lcov report (development 19595-9b18265) Lines: 1244 1326 93.8 %
Date: 2016-09-25 05:54:30 Functions: 156 161 96.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2c_to_ZC 1051731
F2c_to_mod 3045
F2m_rowslice 14
F2m_to_Flm 1386
F2m_to_ZM 206308
F2m_to_mod 112
F2v_add_inplace 31354300
F2v_slice 28
F2v_to_Flv 3682
F2xC_to_FlxC 0
F2xC_to_ZXC 2051
F2xV_to_F2m 230358
F2xXC_to_ZXXC 245
F2xX_F2x_mul 478247
F2xX_add 420133
F2xX_deriv 80325
F2xX_renormalize 2164610
F2xX_to_Kronecker 228494
F2xX_to_ZXX 1855
F2xY_F2xqV_evalx 135492
F2xY_F2xq_evalx 0
F2xY_degreex 205086
F2x_1_add 186431
F2x_F2xqV_eval 606774
F2x_F2xq_eval 35892
F2x_Frobenius 316387
F2x_add 36751256
F2x_addshift 13386
F2x_addshiftip 107455157
F2x_addshiftipspec 134443584
F2x_addspec 17997
F2x_deflate 0
F2x_degree 54960381
F2x_degree_lg 204429977
F2x_deriv 678203
F2x_divrem 11400611
F2x_eval 224
F2x_even_odd 40986
F2x_extgcd 1257147
F2x_factorel 7504
F2x_gcd 1326187
F2x_halfgcd 315
F2x_halfgcd_i 315
F2x_is_smooth 95417
F2x_is_smooth_squarefree 109956
F2x_is_x 15034
F2x_issquare 14567
F2x_matFrobenius 230358
F2x_mul 35216695
F2x_mul1 26078557
F2x_mulspec 35237692
F2x_mulspec_basecase 4977062
F2x_pow2n 81760
F2x_rem 34866443
F2x_shift 116816
F2x_shiftip 31066012
F2x_shiftneg 490
F2x_shiftpos 116326
F2x_slice 1013460
F2x_sqr 6460738
F2x_sqrt 56536
F2x_to_F2v 1341983
F2x_to_Flx 89855
F2x_to_ZX 154743
F2x_valrem 55412
F2xqXQV_autpow 70518
F2xqXQV_auttrace 2541
F2xqXQ_autpow_mul 33306
F2xqXQ_autpow_sqr 88816
F2xqXQ_auttrace_mul 6685
F2xqXQ_auttrace_sqr 4529
F2xqXQ_mul 114247
F2xqXQ_pow 7
F2xqXQ_powers 6713
F2xqXQ_sqr 103131
F2xqX_F2xqXQV_eval 13447
F2xqX_F2xqXQ_eval 122122
F2xqX_F2xq_mul 6895
F2xqX_F2xq_mul_to_monic 203098
F2xqX_divrem 538300
F2xqX_gcd 166859
F2xqX_mul 114247
F2xqX_normalize 203098
F2xqX_red 660702
F2xqX_rem 744548
F2xqX_sqr 103292
F2xq_Artin_Schreier 212562
F2xq_autpow 15033
F2xq_autpow_mul 12588
F2xq_autpow_sqr 23290
F2xq_conjvec 7
F2xq_div 504161
F2xq_easylog 87290
F2xq_inv 1257147
F2xq_invsafe 1257147
F2xq_log 53067
F2xq_log_Coppersmith 7
F2xq_log_Coppersmith_d 42
F2xq_log_Coppersmith_rec 14
F2xq_log_find_rel 119
F2xq_log_from_rel 28
F2xq_log_index 7
F2xq_matrix_pow 230358
F2xq_mul 8243585
F2xq_order 350
F2xq_pow 377981
F2xq_powers 359165
F2xq_powu 0
F2xq_sqr 6297012
F2xq_sqrt 29502
F2xq_sqrt_fast 40987
F2xq_sqrtn 7777
F2xq_trace 459359
Flm_to_F2m 1386
Flv_to_F2v 6496
FlxC_to_F2xC 14854
FlxXC_to_F2xXC 161
FlxX_to_F2xX 1736
Flx_to_F2x 189125
Kronecker_to_F2xqX 114247
RgM_to_F2m 287
RgV_to_F2v 7686
RgX_to_F2x 1218
Rg_to_F2xq 1145872
ZM_to_F2m 404221
ZV_to_F2v 2242240
ZXX_to_F2xX 2296
ZX_to_F2x 171477
Z_to_F2x 159649
_F2xqXQ_add 342713
_F2xqXQ_cmul 478247
_F2xqXQ_mul 114247
_F2xqXQ_one 373303
_F2xqXQ_red 351148
_F2xqXQ_sqr 32606
_F2xqXQ_zero 35
_F2xq_add 1288113
_F2xq_cmul 1671084
_F2xq_equal0 231
_F2xq_inv 112
_F2xq_mul 1244023
_F2xq_neg 182
_F2xq_one 857892
_F2xq_pow 334831
_F2xq_rand 9317
_F2xq_red 515972
_F2xq_rmul 777
_F2xq_s 168
_F2xq_sqr 935371
_F2xq_zero 259406
check_kernel 7
const_F2v 327256
gener_F2xq 147
get_F2xq_field 91
mkF2 18086
monomial_F2x 35
pol1_F2xX 444542
polx_F2xX 0
random_F2xqX 2583
rel_Coppersmith 54019
smallirred_F2x 7

Generated by: LCOV version 1.11