Changeset 05c3b87 in git for factory/facFqBivarUtil.cc


Ignore:
Timestamp:
Dec 3, 2012, 3:44:51 PM (11 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
147b6dfdbc378cdc8a9dba3bdaec7bd7b459613f5d6ede284ce6c0064acbc39ec074ebdcdbfd9adf
Parents:
308a766afffc51141b50332c5e1b2d3849433dcefe969a75147c2bf74dfb88f8b9b8ee94e2557a20
Message:
Merge pull request #216 from mmklee/factory_fix_sw

Factory fix sw
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/facFqBivarUtil.cc

    r308a766 r05c3b87  
    504504    CanonicalForm G3= div (G, xToOldL);
    505505    CanonicalForm Up= mulMod2 (G3, oldQ, xToLOldL);
    506     CanonicalForm xToOldL2= power (x, oldL/2);
     506    CanonicalForm xToOldL2= power (x, (oldL+1)/2);
    507507    CanonicalForm G2= mod (G, xToOldL);
    508508    CanonicalForm G1= div (G2, xToOldL2);
     
    510510    CanonicalForm oldQ1= div (oldQ, xToOldL2);
    511511    CanonicalForm oldQ0= mod (oldQ, xToOldL2);
    512     CanonicalForm Mid= mulMod2 (G1, oldQ1, xToLOldL);
     512    CanonicalForm Mid;
     513    if (oldL % 2 == 1)
     514      Mid= mulMod2 (G1, oldQ1*x, xToLOldL);
     515    else
     516      Mid= mulMod2 (G1, oldQ1, xToLOldL);
    513517    //computation of Low might be faster using a real middle product?
    514518    CanonicalForm Low= mulMod2 (G0, oldQ1, xToOldL)+mulMod2 (G1, oldQ0, xToOldL);
    515     Low= div (Low, xToOldL2);
     519    Low= div (Low, power (x, oldL/2));
     520    Low= mod (Low, xToLOldL);
    516521    Up += Mid + Low;
    517522    bufF= div (F, xToOldL);
Note: See TracChangeset for help on using the changeset viewer.