Changeset a52291 in git for factory/cf_factory.cc


Ignore:
Timestamp:
Nov 24, 2011, 2:35:53 PM (11 years ago)
Author:
Martin Lee <martinlee84@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
Children:
8b46459e9dad8bec212484f1bfce347c45e41371
Parents:
1c48503bfae9bb885752ba741bd0a236df633d13
git-author:
Martin Lee <martinlee84@web.de>2011-11-24 14:35:53+01:00
git-committer:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2011-11-24 21:10:03+01:00
Message:
replacing MP_INT by mpz_t

Conflicts:

	factory/cf_factory.h
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/cf_factory.cc

    r1c48503 ra52291  
    221221
    222222InternalCF *
    223 CFFactory::basic ( const MP_INT & num )
     223CFFactory::basic ( const mpz_ptr num )
    224224{
    225225    if ( currenttype != IntegerDomain ) {
     
    239239
    240240InternalCF *
    241 CFFactory::rational ( const MP_INT & num, const MP_INT & den, bool normalize )
     241CFFactory::rational ( const mpz_ptr num, const mpz_ptr den, bool normalize )
    242242{
    243243    if ( normalize ) {
     
    267267}
    268268
    269 MP_INT getmpi ( InternalCF * value, bool symmetric )
     269mpz_ptr getmpi ( InternalCF * value, bool symmetric )
    270270{
    271271    ASSERT( ! is_imm( value ) && ( value->levelcoeff() == PrimePowerDomain || value->levelcoeff() == IntegerDomain ), "illegal operation" );
    272     MP_INT dummy;
     272    mpz_ptr dummy= new mpz_t;
    273273    if ( value->levelcoeff() == IntegerDomain )
    274         mpz_init_set( &dummy, &InternalInteger::MPI( value ) );
     274        mpz_init_set( dummy, InternalInteger::MPI( value ) );
    275275    else  if ( symmetric ) {
    276         mpz_init( &dummy );
    277         if ( mpz_cmp( &InternalPrimePower::primepowhalf, &InternalPrimePower::MPI( value ) ) < 0 )
    278             mpz_sub( &dummy, &InternalPrimePower::MPI( value ), &InternalPrimePower::primepow );
    279         else
    280             mpz_set( &dummy, &InternalPrimePower::MPI( value ) );
    281     }
    282     else
    283         mpz_init_set( &dummy, &InternalPrimePower::MPI( value ) );
     276        mpz_init( dummy );
     277        if ( mpz_cmp( InternalPrimePower::primepowhalf, InternalPrimePower::MPI( value ) ) < 0 )
     278            mpz_sub( dummy, InternalPrimePower::MPI( value ), InternalPrimePower::primepow );
     279        else
     280            mpz_set( dummy, InternalPrimePower::MPI( value ) );
     281    }
     282    else
     283        mpz_init_set( dummy, InternalPrimePower::MPI( value ) );
    284284    return dummy;
    285285}
Note: See TracChangeset for help on using the changeset viewer.