Changeset a934fc8 in git for libpolys/coeffs/longrat.cc


Ignore:
Timestamp:
May 6, 2011, 3:52:31 PM (13 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
ad35b5aa4162741cdf8ed43431d40b098724e388
Parents:
eca225734b56a5d965350b362be8ec9a6c986759
git-author:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2011-05-06 15:52:31+02:00
git-committer:
Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 12:31:36+01:00
Message:
factory -> number: Q
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/coeffs/longrat.cc

    reca225 ra934fc8  
    267267#endif
    268268
     269#ifdef HAVE_FACTORY
     270CanonicalForm nlConvSingNFactoryN( number n, const coeffs r )
     271{
     272  CanonicalForm term;
     273  if ( SR_HDL(n) & SR_INT )
     274  {
     275    term = SR_TO_INT(n);
     276  }
     277  else
     278  {
     279    if ( n->s == 3 )
     280    {
     281      MP_INT dummy;
     282      mpz_init_set( &dummy,n->z );
     283      term = make_cf( dummy );
     284    }
     285    else
     286    {
     287      // assume s==0 or s==1
     288      MP_INT num, den;
     289      On(SW_RATIONAL);
     290      mpz_init_set( &num, n->z );
     291      mpz_init_set( &den, n->n );
     292      term = make_cf( num, den, ( n->s != 1 ));
     293    }
     294  }
     295  return term;
     296}
     297
     298number nlConvFactoryNSingN( const CanonicalForm n, const coeffs r)
     299{
     300  if (n.isImm())
     301  {
     302    return nlInit(n.intval(),r);
     303  }
     304  else
     305  {
     306    number z=(number)omAllocBin(rnumber_bin);
     307#if defined(LDEBUG)
     308    z->debug=123456;
     309#endif
     310    gmp_numerator( n, z->z );
     311    if ( n.den().isOne() )
     312      z->s = 3;
     313    else
     314    {
     315      gmp_denominator( n, z->n );
     316      z->s = 0;
     317    }
     318    nlNormalize(z,r);
     319    return z;
     320  }
     321}
     322#endif
    269323number nlRInit (long i);
    270324
Note: See TracChangeset for help on using the changeset viewer.