Changeset 55b50e3 in git


Ignore:
Timestamp:
Jul 4, 2023, 2:13:01 PM (10 months ago)
Author:
Marc Mezzarobba <marc@…>
Branches:
(u'spielwiese', '2a584933abf2a2d3082034c7586d38bb6de1a30a')
Children:
730cc2e27f306f1a435c9b86665d4524e499c7dc
Parents:
a5baaafa806b1e45b64b75e5a0013a7ba9c2b01d
git-author:
Marc Mezzarobba <marc@mezzarobba.net>2023-07-04 14:13:01+02:00
git-committer:
GitHub <noreply@github.com>2023-07-04 14:13:01+02:00
Message:
make Singular build with flint3 (#1177)
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • factory/FLINTconvert.cc

    ra5baaa r55b50e3  
    5454#include <flint/nmod_mat.h>
    5555#include <flint/fmpz_mat.h>
     56#include <flint/fmpz_mod.h>
    5657#if ( __FLINT_RELEASE >= 20400)
    5758#include <flint/fq.h>
  • factory/cf_factor.cc

    ra5baaa r55b50e3  
    4848#include <flint/fmpq_mpoly_factor.h>
    4949#include <flint/fq_nmod_mpoly_factor.h>
     50#include <flint/nmod_poly_factor.h>
     51#include <flint/fmpz_poly_factor.h>
     52#include <flint/fmpz_mpoly_factor.h>
     53#include <flint/fq_nmod_poly_factor.h>
    5054#endif
    5155#endif
  • factory/cf_map_ext.cc

    ra5baaa r55b50e3  
    3131#ifdef HAVE_FLINT
    3232#include "FLINTconvert.h"
     33#include <flint/fq_nmod_poly_factor.h>
    3334#endif
    3435
  • factory/cf_roots.cc

    ra5baaa r55b50e3  
    1919#ifdef HAVE_FLINT
    2020#include "FLINTconvert.h"
     21#include "flint/nmod_poly_factor.h"
    2122#endif
    2223
  • factory/facAbsBiFact.cc

    ra5baaa r55b50e3  
    2424#ifdef HAVE_FLINT
    2525#include "FLINTconvert.h"
     26#include "flint/nmod_poly_factor.h"
    2627#include <flint/fmpz_poly_factor.h>
    2728#endif
  • factory/facFqBivar.cc

    ra5baaa r55b50e3  
    4444#ifdef HAVE_FLINT
    4545#include "FLINTconvert.h"
     46#include "flint/nmod_poly_factor.h"
     47#include "flint/fq_nmod_poly_factor.h"
    4648#endif
    4749
  • factory/facMul.cc

    ra5baaa r55b50e3  
    3838#ifdef HAVE_FLINT
    3939#include "FLINTconvert.h"
     40#include "flint/fq_nmod_vec.h"
     41#include "flint/fmpz_mod.h"
    4042#endif
    4143
  • libpolys/coeffs/flintcf_Q.cc

    ra5baaa r55b50e3  
    1212
    1313#include <flint/flint.h>
     14#include <flint/fmpz.h>
     15#include <flint/fmpq.h>
    1416#include <flint/fmpq_poly.h>
    1517#include "factory/factory.h"
     
    127129  fmpq_poly_ptr res=(fmpq_poly_ptr)omAlloc(sizeof(fmpq_poly_t));
    128130  fmpq_poly_init(res);
    129   fmpq_poly_set_mpz(res,i);
     131  fmpq_poly_fit_length(res, 1);
     132  fmpz_set_mpz(res->coeffs, i);
     133  fmpz_one(res->den);
     134  _fmpq_poly_set_length(res, 1);
     135  _fmpq_poly_normalise(res);
    130136  return (number)res;
    131137}
     
    138144  if (fmpq_poly_degree((fmpq_poly_ptr)n)==0)
    139145  {
    140     mpq_t m;
    141     mpq_init(m);
    142     fmpq_poly_get_coeff_mpq(m,(fmpq_poly_ptr)n,0);
    143     mpz_t num,den;
    144     mpz_init(num);
    145     mpz_init(den);
    146     mpq_get_num(num,m);
    147     mpq_get_den(den,m);
    148     long nl=mpz_get_si(num);
    149     if (mpz_cmp_si(num,nl)!=0) nl=0;
    150     long dl=mpz_get_si(den);
    151     if ((dl!=1)||(mpz_cmp_si(den,dl)!=0)) nl=0;
    152     mpz_clear(num);
    153     mpz_clear(den);
    154     mpq_clear(m);
     146    fmpq_t m;
     147    fmpq_init(m);
     148    fmpq_poly_get_coeff_fmpq(m,(fmpq_poly_ptr)n,0);
     149    long nl=fmpz_get_si(fmpq_numref(m));
     150    if (fmpz_cmp_si(fmpq_numref(m),nl)!=0) nl=0;
     151    long dl=fmpz_get_si(fmpq_denref(m));
     152    if ((dl!=1)||(fmpz_cmp_si(fmpq_denref(m),dl)!=0)) nl=0;
     153    fmpq_clear(m);
    155154    return nl;
    156155  }
     
    162161  if (fmpq_poly_degree((fmpq_poly_ptr)n)==0)
    163162  {
    164     mpq_t m;
    165     mpq_init(m);
    166     fmpq_poly_get_coeff_mpq(m,(fmpq_poly_ptr)n,0);
     163    fmpq_t m;
     164    fmpq_init(m);
     165    fmpq_poly_get_coeff_fmpq(m,(fmpq_poly_ptr)n,0);
    167166    mpz_t den;
    168167    mpz_init(den);
    169     mpq_get_num(result,m);
    170     mpq_get_den(den,m);
     168    fmpq_get_mpz_frac(result,den,m);
    171169    int dl=(int)mpz_get_si(den);
    172170    if ((dl!=1)||(mpz_cmp_si(den,(long)dl)!=0)) mpz_set_ui(result,0);
    173171    mpz_clear(den);
    174     mpq_clear(m);
     172    fmpq_clear(m);
    175173  }
    176174}
     
    226224  {
    227225  StringAppendS("(");
    228   mpq_t m;
    229   mpq_init(m);
    230   mpz_t num,den;
    231   mpz_init(num);
    232   mpz_init(den);
     226  fmpq_t m;
     227  fmpq_init(m);
    233228  BOOLEAN need_plus=FALSE;
    234229  for(int i=fmpq_poly_length((fmpq_poly_ptr)a);i>=0;i--)
    235230  {
    236     fmpq_poly_get_coeff_mpq(m,(fmpq_poly_ptr)a,i);
    237     mpq_get_num(num,m);
    238     mpq_get_den(den,m);
    239     if (mpz_sgn1(num)!=0)
     231    fmpq_poly_get_coeff_fmpq(m,(fmpq_poly_ptr)a,i);
     232    if (!fmpq_is_zero(m))
    240233    {
    241       if (need_plus && (mpz_sgn1(num)>0))
     234      if (need_plus && (fmpq_cmp_ui(m,0)>0))
    242235        StringAppendS("+");
    243236      need_plus=TRUE;
    244       int l=mpz_sizeinbase(num,10);
    245       l=si_max(l,(int)mpz_sizeinbase(den,10));
     237      int l=fmpz_sizeinbase(fmpq_numref(m),10);
     238      l=si_max(l,(int)fmpz_sizeinbase(fmpq_denref(m),10));
    246239      l+=2;
    247240      char *s=(char*)omAlloc(l);
    248       char *z=mpz_get_str(s,10,num);
     241      char *z=fmpz_get_str(s,10,fmpq_numref(m));
    249242      if ((i==0)
    250       ||(mpz_cmp_si(num,1)!=0)
    251       ||(mpz_cmp_si(den,1)!=0))
     243      ||(fmpz_cmp_si(fmpq_numref(m),1)!=0)
     244      ||(fmpz_cmp_si(fmpq_denref(m),1)!=0))
    252245      {
    253246        StringAppendS(z);
    254         if (mpz_cmp_si(den,1)!=0)
     247        if (fmpz_cmp_si(fmpq_denref(m),1)!=0)
    255248        {
    256249          StringAppendS("/");
    257           z=mpz_get_str(s,10,den);
     250          z=fmpz_get_str(s,10,fmpq_denref(m));
    258251          StringAppendS(z);
    259252        }
     
    266259    }
    267260  }
    268   mpz_clear(den);
    269   mpz_clear(num);
    270   mpq_clear(m);
     261  fmpq_clear(m);
    271262  StringAppendS(")");
    272263  }
     
    285276    mpz_t z;
    286277    mpz_init(z);
     278    fmpz_t z1;
     279    fmpz_init(z1);
    287280    s=nlEatLong((char *)s, z);
    288     fmpq_poly_set_mpz((fmpq_poly_ptr)(*a),z);
     281    fmpz_set_mpz(z1,z);
     282    fmpq_poly_set_fmpz((fmpq_poly_ptr)(*a),z1);
    289283    if (*s == '/')
    290284    {
    291285      s++;
    292286      s=nlEatLong((char *)s, z);
    293       fmpq_poly_scalar_div_mpz((fmpq_poly_ptr)(*a),(fmpq_poly_ptr)(*a),z);
     287      fmpz_set_mpz(z1,z);
     288      fmpq_poly_scalar_div_fmpz((fmpq_poly_ptr)(*a),(fmpq_poly_ptr)(*a),z1);
    294289    }
     290    fmpz_clear(z1);
    295291    mpz_clear(z);
    296292  }
     
    338334  if (fmpq_poly_length((fmpq_poly_ptr)k)>0) return FALSE;
    339335  fmpq_poly_canonicalise((fmpq_poly_ptr)k);
    340   mpq_t m;
    341   mpq_init(m);
    342   fmpq_poly_get_coeff_mpq(m,(fmpq_poly_ptr)k,0);
    343   mpz_t num,den;
    344   mpz_init(num);
    345   mpq_get_num(num,m);
     336  fmpq_t m;
     337  fmpq_init(m);
     338  fmpq_poly_get_coeff_fmpq(m,(fmpq_poly_ptr)k,0);
    346339  BOOLEAN result=TRUE;
    347   if (mpz_cmp_si(num,(long)-1)!=0) result=FALSE;
     340  if (fmpz_cmp_si(fmpq_numref(m),(long)-1)!=0) result=FALSE;
    348341  else
    349342  {
    350     mpz_init(den);
    351     mpq_get_den(den,m);
    352     int dl=(int)mpz_get_si(den);
    353     if ((dl!=1)||(mpz_cmp_si(den,(long)dl)!=0)) result=FALSE;
    354     mpz_clear(den);
    355   }
    356   mpz_clear(num);
    357   mpq_clear(m);
     343    int dl=(int)fmpz_get_si(fmpq_denref(m));
     344    if ((dl!=1)||(fmpz_cmp_si(fmpq_denref(m),(long)dl)!=0)) result=FALSE;
     345  }
     346  fmpq_clear(m);
    358347  return (result);
    359348}
     
    470459  int l=fmpq_poly_length(aa);
    471460  fprintf(d->f_write,"%d ",l);
    472   mpq_t m;
    473   mpq_init(m);
     461  fmpq_t m;
     462  fmpq_init(m);
    474463  mpz_t num,den;
    475464  mpz_init(num);
     
    477466  for(int i=l; i>=0; i--)
    478467  {
    479     fmpq_poly_get_coeff_mpq(m,(fmpq_poly_ptr)a,i);
    480     mpq_get_num(num,m);
    481     mpq_get_den(den,m);
     468    fmpq_poly_get_coeff_fmpq(m,(fmpq_poly_ptr)a,i);
     469    fmpq_get_mpz_frac(num,den,m);
    482470    mpz_out_str (d->f_write,SSI_BASE, num);
    483471    fputc(' ',d->f_write);
     
    487475  mpz_clear(den);
    488476  mpz_clear(num);
    489   mpq_clear(m);
     477  fmpq_clear(m);
    490478}
    491479static number ReadFd(const ssiInfo *d, const coeffs)
     
    495483  fmpq_poly_init(aa);
    496484  int l=s_readint(d->f_read);
    497   mpz_t nm;
    498   mpz_init(nm);
    499   mpq_t m;
    500   mpq_init(m);
     485  mpz_t tmp;
     486  mpz_init(tmp);
     487  fmpq_t m;
     488  fmpq_init(m);
     489  fmpz_t num,den;
     490  fmpz_init(num);
     491  fmpz_init(den);
    501492  for (int i=l;i>=0;i--)
    502493  {
    503 
    504     s_readmpz_base (d->f_read,nm, SSI_BASE);
    505     mpq_set_num(m,nm);
    506     s_readmpz_base (d->f_read,nm, SSI_BASE);
    507     mpq_set_den(m,nm);
    508     fmpq_poly_set_coeff_mpq(aa,i,m);
    509   }
    510   mpz_clear(nm);
    511   mpq_clear(m);
     494    s_readmpz_base (d->f_read,tmp, SSI_BASE);
     495    fmpz_set_mpz(num, tmp);
     496    s_readmpz_base (d->f_read,tmp, SSI_BASE);
     497    fmpz_set_mpz(den, tmp);
     498    fmpq_set_fmpz_frac(m,num,den);
     499    fmpq_poly_set_coeff_fmpq(aa,i,m);
     500  }
     501  mpz_clear(tmp);
     502  fmpz_clear(den);
     503  fmpz_clear(num);
     504  fmpq_clear(m);
    512505  return (number)aa;
    513506}
  • libpolys/polys/flint_mpoly.h

    ra5baaa r55b50e3  
    1717#include <flint/fmpq_poly.h>
    1818#include <flint/fmpq_mpoly.h>
     19#include <flint/nmod_mpoly.h>
    1920
    2021BOOLEAN convSingRFlintR(fmpq_mpoly_ctx_t ctx, const ring r);
  • libpolys/polys/flintconv.h

    ra5baaa r55b50e3  
    4343#include <flint/fq_nmod_poly.h>
    4444#include <flint/fq_nmod_mat.h>
     45#include <flint/nmod_poly.h>
     46#include <flint/nmod_mat.h>
     47#include <flint/fmpz_mat.h>
    4548#endif
    4649
Note: See TracChangeset for help on using the changeset viewer.