Changeset caf5880 in git for libpolys/coeffs


Ignore:
Timestamp:
Sep 25, 2013, 5:45:47 PM (11 years ago)
Author:
Martin Lee <martinlee84@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
24cabe8be470689fb5d2b6ae72002f2df22f7a4a
Parents:
7dcef65573794dbfd723491c96152310303af9c9
git-author:
Martin Lee <martinlee84@web.de>2013-09-25 17:45:47+02:00
git-committer:
Martin Lee <martinlee84@web.de>2013-09-25 17:47:57+02:00
Message:
chg: moved QlogSize from tgb.cc to longrat.h
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/coeffs/longrat.h

    r7dcef65 rcaf5880  
    131131
    132132int      nlSize(number n, const coeffs r);
     133
     134static inline int nlQlogSize (number n, const coeffs r)
     135{
     136  assume( rField_is_Q (r) );
     137
     138  long nl=nlSize(n,r);
     139  if (nl==0L) return 0;
     140  if (nl==1L)
     141  {
     142    long i = SR_TO_INT (n);
     143    unsigned long v;
     144    v = (i >= 0) ? i : -i;
     145    int r = 0;
     146
     147    while(v >>= 1)
     148    {
     149      r++;
     150    }
     151    return r + 1;
     152  }
     153  //assume denominator is 0
     154  number nn=(number) n;
     155  return mpz_sizeinbase (nn->z, 2);
     156}
     157
    133158number   nlGetDenom(number &n, const coeffs r);
    134159number   nlGetNumerator(number &n, const coeffs r);
Note: See TracChangeset for help on using the changeset viewer.