Changeset aba96c3 in git


Ignore:
Timestamp:
Jun 25, 2010, 10:07:54 AM (14 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
Children:
e3b3168b5d15b9433ea6b864e17b0d261c58c36d
Parents:
634126245ebc7381c3357f3803b1945df8c25b46
Message:
better bit handling

git-svn-id: file:///usr/local/Singular/svn/trunk@12919 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/misc_ip.cc

    r634126 raba96c3  
    11/*****************************************************************************\
    2  * Computer Algebra System SINGULAR   
     2 * Computer Algebra System SINGULAR
    33\*****************************************************************************/
    44/** @file misc.cc
     
    3030number approximateSqrt(const number n)
    3131{
    32   if (nlIsZero(n)) { number zero = nlInit(0, NULL); return zero; }
     32  if (nlIsZero(n)) { return nlInit(0, NULL); }
    3333  number temp1; number temp2;
    3434  number one = nlInit(1, NULL);
     
    4242    temp1 = nlIntDiv(m, two);
    4343    temp2 = nlIntDiv(nHalf, m);
     44    nlDelete(&mOld, NULL);
    4445    mOld = m;
    4546    m = nlAdd(temp1, temp2);
     
    6263  nlDelete(&m, NULL);
    6364  nlDelete(&one, NULL);
    64   m = temp1;
    65   return m;
     65  return temp1;
    6666}
    6767
     
    124124  int offset = i % 32;
    125125  unsigned int v = 1 << offset;
    126   if (value && ((ii[index] & v) != 0)) return;
    127   if ((!value) && ((ii[index] & v) == 0)) return;
    128   if (value && ((ii[index] & v) == 0)) { ii[index] += v; return; }
    129   if ((!value) && ((ii[index] & v) != 0)) { ii[index] -= v; return; }
     126  if (value) ii[index] |= v;
     127  else       ii[index] &= (~v);
    130128}
    131129
Note: See TracChangeset for help on using the changeset viewer.