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

          Line data    Source code
       1             : #include <tommath.h>
       2             : #ifdef BN_MP_CMP_MAG_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             : /* compare maginitude of two ints (unsigned) */
      19     2012737 : int mp_cmp_mag (mp_int * a, mp_int * b)
      20             : {
      21             :   int     n;
      22             :   mp_digit *tmpa, *tmpb;
      23             : 
      24             :   /* compare based on # of non-zero digits */
      25     2012737 :   if (a->used > b->used) {
      26       22138 :     return MP_GT;
      27             :   }
      28             : 
      29     1989145 :   if (a->used < b->used) {
      30       39302 :     return MP_LT;
      31             :   }
      32             : 
      33             :   /* alias for a */
      34     1949177 :   tmpa = a->dp + (a->used - 1);
      35             : 
      36             :   /* alias for b */
      37     1949177 :   tmpb = b->dp + (a->used - 1);
      38             : 
      39             :   /* compare based on digits  */
      40     2126158 :   for (n = 0; n < a->used; ++n, --tmpa, --tmpb) {
      41     2125731 :     if (*tmpa > *tmpb) {
      42      707433 :       return MP_GT;
      43             :     }
      44             : 
      45     1369987 :     if (*tmpa < *tmpb) {
      46     1123673 :       return MP_LT;
      47             :     }
      48             :   }
      49         405 :   return MP_EQ;
      50             : }
      51             : #endif
      52             : 
      53             : /* $Source: /cvs/libtom/libtommath/bn_mp_cmp_mag.c,v $ */
      54             : /* $Revision: 1.4 $ */
      55             : /* $Date: 2006/12/28 01:25:13 $ */

Generated by: LCOV version 1.13