Changeset 0ebd7e in git for kernel/kspoly.cc


Ignore:
Timestamp:
Apr 20, 2011, 6:09:43 PM (12 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
Children:
1ddd044275ba5d4433a597ff9edee1abfce81a0e
Parents:
2945379dfb56330fb50187871415af6e9c6ec7d3
git-author:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2011-04-20 18:09:43+02:00
git-committer:
Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 12:31:23+01:00
Message:
add ksCheckCoeffs
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/kspoly.cc

    r294537 r0ebd7e  
    346346 *
    347347 ***************************************************************/
    348 
    349 /*
    350 * input - output: a, b
    351 * returns:
    352 *   a := a/gcd(a,b), b := b/gcd(a,b)
    353 *   and return value
    354 *       0  ->  a != 1,  b != 1
    355 *       1  ->  a == 1,  b != 1
    356 *       2  ->  a != 1,  b == 1
    357 *       3  ->  a == 1,  b == 1
    358 *   this value is used to control the spolys
    359 */
    360 int ksCheckCoeff(number *a, number *b)
    361 {
    362   int c = 0;
    363   number an = *a, bn = *b;
    364   nTest(an);
    365   nTest(bn);
    366 
    367   number cn = nGcd(an, bn, currRing);
    368 
    369   if(nIsOne(cn))
    370   {
    371     an = nCopy(an);
    372     bn = nCopy(bn);
    373   }
    374   else
    375   {
    376     an = nIntDiv(an, cn);
    377     bn = nIntDiv(bn, cn);
    378   }
    379   nDelete(&cn);
    380   if (nIsOne(an))
    381   {
    382     c = 1;
    383   }
    384   if (nIsOne(bn))
    385   {
    386     c += 2;
    387   }
    388   *a = an;
    389   *b = bn;
    390   return c;
    391 }
    392348
    393349/*2
Note: See TracChangeset for help on using the changeset viewer.