Changeset 2a58493 in git


Ignore:
Timestamp:
Apr 29, 2024, 11:59:38 AM (2 weeks ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '38077648e7239f98078663eb941c3c979511150a')
Children:
9ea349771971bc025429e7c2f664c4ed01240724
Parents:
6e5adcba05493683b94648c659a729c189812c77
git-author:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2024-04-29 11:59:38+02:00
git-committer:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2024-04-29 16:47:39+02:00
Message:
opt: reorg. _p_Mult_q
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/polys/operations/p_Mult_q.cc

    r6e5adc r2a58493  
    336336  #ifdef HAVE_FLINT
    337337  #if __FLINT_RELEASE >= 20503
    338   if (lq>MIN_FLINT_QQ)
    339   {
    340     fmpq_mpoly_ctx_t ctx;
    341     if (pure_polys && rField_is_Q(r) && !convSingRFlintR(ctx,r))
    342     {
    343       // lq is a lower bound for the length of p and  q
    344       poly res=Flint_Mult_MP(p,lq,q,lq,ctx,r);
    345       if (!copy)
     338  if (pure_polys)
     339  {
     340    if ((lq>MIN_FLINT_QQ) && rField_is_Q(r))
     341    {
     342      fmpq_mpoly_ctx_t ctx;
     343      if (!convSingRFlintR(ctx,r))
    346344      {
    347         p_Delete(&p,r);
    348         p_Delete(&q,r);
     345        // lq is a lower bound for the length of p and  q
     346        poly res=Flint_Mult_MP(p,lq,q,lq,ctx,r);
     347        if (!copy)
     348        {
     349          p_Delete(&p,r);
     350          p_Delete(&q,r);
     351        }
     352        return res;
    349353      }
    350       return res;
    351     }
    352   }
    353   if (lq>MIN_FLINT_Zp)
    354   {
    355     nmod_mpoly_ctx_t ctx;
    356     if (pure_polys && rField_is_Zp(r) && !convSingRFlintR(ctx,r))
    357     {
    358       // lq is a lower bound for the length of p and  q
    359       poly res=Flint_Mult_MP(p,lq,q,lq,ctx,r);
    360       if (!copy)
     354    }
     355    if ((lq>MIN_FLINT_Zp) && rField_is_Zp(r))
     356    {
     357      nmod_mpoly_ctx_t ctx;
     358      if (!convSingRFlintR(ctx,r))
    361359      {
    362         p_Delete(&p,r);
    363         p_Delete(&q,r);
     360        // lq is a lower bound for the length of p and  q
     361        poly res=Flint_Mult_MP(p,lq,q,lq,ctx,r);
     362        if (!copy)
     363        {
     364          p_Delete(&p,r);
     365          p_Delete(&q,r);
     366        }
     367        return res;
    364368      }
    365       return res;
    366     }
    367   }
    368   if (lq>MIN_FLINT_Z)
    369   {
    370     fmpz_mpoly_ctx_t ctx;
    371     if (pure_polys && rField_is_Z(r) && !convSingRFlintR(ctx,r))
    372     {
    373       // lq is a lower bound for the length of p and  q
    374       poly res=Flint_Mult_MP(p,lq,q,lq,ctx,r);
    375       if (!copy)
     369    }
     370    if ((lq>MIN_FLINT_Z) && rField_is_Z(r))
     371    {
     372      fmpz_mpoly_ctx_t ctx;
     373      if (!convSingRFlintR(ctx,r))
    376374      {
    377         p_Delete(&p,r);
    378         p_Delete(&q,r);
     375        // lq is a lower bound for the length of p and  q
     376        poly res=Flint_Mult_MP(p,lq,q,lq,ctx,r);
     377        if (!copy)
     378        {
     379          p_Delete(&p,r);
     380          p_Delete(&q,r);
     381        }
     382        return res;
    379383      }
    380       return res;
    381384    }
    382385  }
Note: See TracChangeset for help on using the changeset viewer.