~ubuntu-branches/ubuntu/utopic/clamav/utopic-security

« back to all changes in this revision

Viewing changes to libclamav/tomsfastmath/bit/fp_count_bits.c

  • Committer: Package Import Robot
  • Author(s): Scott Kitterman
  • Date: 2014-02-01 11:06:17 UTC
  • mfrom: (0.35.37 sid)
  • Revision ID: package-import@ubuntu.com-20140201110617-33h2xxk09dep0ui4
Tags: 0.98.1+dfsg-1ubuntu1
* Merge from Debian unstable.  Remaining changes:
  - Drop build-dep on electric-fence (in Universe)
  - Add apparmor profiles for clamd and freshclam along with maintainer
    script changes
  - Add autopkgtest

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* TomsFastMath, a fast ISO C bignum library.
 
2
 * 
 
3
 * This project is meant to fill in where LibTomMath
 
4
 * falls short.  That is speed ;-)
 
5
 *
 
6
 * This project is public domain and free for all purposes.
 
7
 * 
 
8
 * Tom St Denis, tomstdenis@gmail.com
 
9
 */
 
10
#include "bignum_fast.h"
 
11
 
 
12
int fp_count_bits (fp_int * a)
 
13
{
 
14
  int     r;
 
15
  fp_digit q;
 
16
 
 
17
  /* shortcut */
 
18
  if (a->used == 0) {
 
19
    return 0;
 
20
  }
 
21
 
 
22
  /* get number of digits and add that */
 
23
  r = (a->used - 1) * DIGIT_BIT;
 
24
 
 
25
  /* take the last digit and count the bits in it */
 
26
  q = a->dp[a->used - 1];
 
27
  while (q > ((fp_digit) 0)) {
 
28
    ++r;
 
29
    q >>= ((fp_digit) 1);
 
30
  }
 
31
  return r;
 
32
}
 
33
 
 
34
/* $Source: /cvs/libtom/tomsfastmath/src/bit/fp_count_bits.c,v $ */
 
35
/* $Revision: 1.1 $ */
 
36
/* $Date: 2006/12/31 21:25:53 $ */