Changeset becbea in git


Ignore:
Timestamp:
Oct 23, 2012, 1:19:08 PM (11 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
1130ffcea9f0651b2cb15d5f7ea1758fc8cf75aaafbebe815ce0191aef7599e15334f3dca1757b2d
Parents:
a35572368be51d820a1f6caf655d85506e77ec52314f0a2563593c2ed06d4bf520c64eabc6b2c701
Message:
Merge pull request #196 from mmklee/factory64bitsw

fix: better multiplication on 32bit machines
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/imm.h

    ra355723 rbecbea  
    301301    long b = imm2int( rhs );
    302302    INT64 result = (INT64)a * (INT64)b;
     303    #if SIZEOF_LONG == 4
     304    if ((result>(INT64)MAXIMMEDIATE)||(result<(INT64)MINIMMEDIATE))
     305    {
     306        InternalCF * res = CFFactory::basic( IntegerDomain, a, true );
     307        return res->mulcoeff( rhs );
     308    }
     309    #else
    303310    if ( ( a!=0L ) && ((result/a!=b)
    304311      ||(result>MAXIMMEDIATE)||(result<MINIMMEDIATE) ) )
     
    307314        return res->mulcoeff( rhs );
    308315    }
     316    #endif
    309317    else
    310318        return int2imm( result );
Note: See TracChangeset for help on using the changeset viewer.