LCOV - code coverage report
Current view: top level - source4/heimdal/lib/hcrypto/libtommath - bn_mp_prime_rabin_miller_trials.c (source / functions) Hit Total Coverage
Test: coverage report for abartlet/fix-coverage dd10fb34 Lines: 0 7 0.0 %
Date: 2021-09-23 10:06:22 Functions: 0 1 0.0 %

          Line data    Source code
       1             : #include <tommath.h>
       2             : #ifdef BN_MP_PRIME_RABIN_MILLER_TRIALS_C
       3             : /* LibTomMath, multiple-precision integer library -- Tom St Denis
       4             :  *
       5             :  * LibTomMath is a library that provides multiple-precision
       6             :  * integer arithmetic as well as number theoretic functionality.
       7             :  *
       8             :  * The library was designed directly after the MPI library by
       9             :  * Michael Fromberger but has been written from scratch with
      10             :  * additional optimizations in place.
      11             :  *
      12             :  * The library is free for all purposes without any express
      13             :  * guarantee it works.
      14             :  *
      15             :  * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
      16             :  */
      17             : 
      18             : 
      19             : static const struct {
      20             :    int k, t;
      21             : } sizes[] = {
      22             : {   128,    28 },
      23             : {   256,    16 },
      24             : {   384,    10 },
      25             : {   512,     7 },
      26             : {   640,     6 },
      27             : {   768,     5 },
      28             : {   896,     4 },
      29             : {  1024,     4 }
      30             : };
      31             : 
      32             : /* returns # of RM trials required for a given bit size */
      33           0 : int mp_prime_rabin_miller_trials(int size)
      34             : {
      35             :    int x;
      36             : 
      37           0 :    for (x = 0; x < (int)(sizeof(sizes)/(sizeof(sizes[0]))); x++) {
      38           0 :        if (sizes[x].k == size) {
      39           0 :           return sizes[x].t;
      40           0 :        } else if (sizes[x].k > size) {
      41           0 :           return (x == 0) ? sizes[0].t : sizes[x - 1].t;
      42             :        }
      43             :    }
      44           0 :    return sizes[x-1].t + 1;
      45             : }
      46             : 
      47             : 
      48             : #endif
      49             : 
      50             : /* $Source: /cvs/libtom/libtommath/bn_mp_prime_rabin_miller_trials.c,v $ */
      51             : /* $Revision: 1.4 $ */
      52             : /* $Date: 2006/12/28 01:25:13 $ */

Generated by: LCOV version 1.13