Changeset dc52c8 in git


Ignore:
Timestamp:
Oct 5, 2010, 12:15:57 PM (14 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '8a337797cc4177aa8747d661d5c4214ea2095dac')
Children:
354d57c31490c4e447bb298f2e25eaaa537479eb
Parents:
0b274ab12b79e4b7100d18558780c99b40e24db6
Message:
primefacyors: opt

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

Legend:

Unmodified
Added
Removed
  • Singular/misc_ip.cc

    r0b274ab rdc52c8  
    220220    unsigned long p_ui=5; add = 2;
    221221    BOOLEAN b_is_0=(mpz_cmp_ui(b, 0) == 0);
     222    BOOLEAN sr_sets_pb=FALSE;
    222223    mpz_sqrt(sr, nn);
    223224    // there are 3 possible limits, we take the minimum:
     
    229230    {
    230231      mpz_set(pb, sr);
     232      sr_sets_pb=TRUE;
    231233    }
    232234    if (mpz_cmp_ui(pb, limit)<0)
     
    250252        {
    251253          mpz_sqrt(sr, nn);
    252           if (mpz_cmp(pb, sr) > 0) mpz_set(pb, sr);
     254          if (sr_sets_pb || (mpz_cmp(pb, sr) > 0)) mpz_set(pb, sr);
    253255          unsigned long l=mpz_get_ui(sr);
    254256          if (l<limit) { limit=l; }
     
    267269              }
    268270              p_ui +=add;
    269               add += 2; if (add == 6) add = 2;
     271              //add += 2; if (add == 6) add = 2;
     272              add =2+2*(add==2);
    270273            }
    271274            mpz_set_ui(nn,nn_ui);
     
    275278      }
    276279      p_ui +=add;
    277       add += 2; if (add == 6) add = 2;
     280      //add += 2; if (add == 6) add = 2;
     281      add =2+2*(add==2);
    278282    }
    279283    mpz_set_ui(p, p_ui);
    280284    mpz_sqrt(sr, nn);
    281     if (b_is_0 || (mpz_cmp(pb, sr) > 0)) mpz_set(pb, sr);
     285    if (b_is_0 || sr_sets_pb || (mpz_cmp(pb, sr) > 0)) mpz_set(pb, sr);
    282286    while (mpz_cmp(pb, p) >= 0)
    283287    {
     
    287291        setListEntry(primes, index, p);
    288292        multiplicities[index++] = tt;
     293        if (mpz_cmp_ui(nn,1)==0) break;
    289294        mpz_sqrt(sr, nn);
    290         if (b_is_0 || (mpz_cmp(pb, sr) > 0)) mpz_set(pb, sr);
    291         if (mpz_cmp_ui(nn,1)==0) break;
     295        if (b_is_0 || sr_sets_pb || (mpz_cmp(pb, sr) > 0)) mpz_set(pb, sr);
    292296      }
    293297      mpz_add_ui(p, p, add);
    294       add += 2; if (add == 6) add = 2;
     298      //add += 2; if (add == 6) add = 2;
     299      add =2+2*(add==2);
    295300    }
    296301    if ((mpz_cmp_ui(nn, 1) > 0) &&
Note: See TracChangeset for help on using the changeset viewer.