Changeset fd803bc in git for factory/facHensel.cc


Ignore:
Timestamp:
Jul 14, 2011, 12:42:02 PM (13 years ago)
Author:
Martin Lee <martinlee84@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
3ec4fce5af220b0b3987bf0805e36d89d4c5d9d9
Parents:
58b1160c31f60cc5b14e49848a7528f1889a1ba5
Message:
changes to Kronecker substitution multiplication


git-svn-id: file:///usr/local/Singular/svn/trunk@14334 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/facHensel.cc

    r58b1160 rfd803bc  
    667667
    668668  mul (F2, F2, G2);
    669   F2 >>= k;
     669  if (deg (F2) > k)
     670    F2 >>= (k - d1);
    670671
    671672  return reverseSubst (F1, F2, d1, d2);
     
    687688  int d2= tmax (degree (A, 2), degree (B, 2));
    688689
    689   if (d1 > 128 && d2 > 160 && (degAy == degBy))
     690  if (d1 > 128 && d2 > 160 && (degAy == degBy) && (2*degAy > degree (M)))
    690691    return mulMod2NTLFpReci (A, B, M);
    691692
     
    714715  kronSubRecipro (G1, G2, G, d1, alpha);
    715716
    716   int k1= d1*degree (M);
    717   MulTrunc (F1, F1, G1, (long) k1);
     717  int k= d1*degree (M);
     718  MulTrunc (F1, F1, G1, (long) k);
    718719
    719720  mul (F2, F2, G2);
    720 
    721   F2 >>= k1;
     721  if (deg (F2) > k)
     722    F2 >>= (k-d1);
    722723
    723724  CanonicalForm result= reverseSubst (F1, F2, d1, d2, alpha);
     
    747748
    748749    int degMipo= degree (getMipo (alpha));
    749     if ((d1 > 128/degMipo) && (d2 > 160/degMipo) && (degAy == degBy))
     750    if ((d1 > 128/degMipo) && (d2 > 160/degMipo) && (degAy == degBy) &&
     751        (2*degAy > degree (M)))
    750752      return mulMod2NTLFqReci (A, B, M, alpha);
    751753
Note: See TracChangeset for help on using the changeset viewer.