Changeset 0f401f in git
- Timestamp:
- Jul 14, 2011, 2:48:53 PM (12 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
- Children:
- 210e07a1e0428569506a64e13a3ad98460b707e3
- Parents:
- 4ecc5a466643ed4b440bdb5eff9c7fe6f19452a4
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2011-07-14 14:48:53+02:00
- git-committer:
- Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 12:39:15+01:00
- Files:
-
- 1 added
- 37 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/eigenval.cc
r4ecc5a4 r0f401f 15 15 //#include "ipid.h" 16 16 #include <kernel/intvec.h> 17 #include < kernel/numbers.h>17 #include <coeffs/numbers.h> 18 18 #include <kernel/polys.h> 19 19 #include <kernel/ideals.h> -
kernel/fast_maps.cc
r4ecc5a4 r0f401f 11 11 #include <kernel/mod2.h> 12 12 #include <omalloc/omalloc.h> 13 #include < kernel/options.h>13 #include <misc/options.h> 14 14 #include <kernel/p_polys.h> 15 15 #include <kernel/prCopy.h> -
kernel/febase.cc
r4ecc5a4 r0f401f 25 25 #include <kernel/febase.h> 26 26 #include <omalloc/omalloc.h> 27 #include <kernel/dError.h> 28 #include <kernel/options.h> 27 #include <reporter/reporter.h> 28 #include <resources/feFopen.h> 29 #include <misc/options.h> 29 30 30 31 #define fePutChar(c) fputc((unsigned char)(c),stdout) -
kernel/feread.cc
r4ecc5a4 r0f401f 20 20 #include <kernel/febase.h> 21 21 #include <omalloc/omalloc.h> 22 #include < kernel/options.h>22 #include <misc/options.h> 23 23 24 24 #include <Singular/static.h> -
kernel/fglmcomb.cc
r4ecc5a4 r0f401f 12 12 13 13 #ifdef HAVE_FACTORY 14 #include < kernel/options.h>14 #include <misc/options.h> 15 15 #include <kernel/polys.h> 16 16 #include <kernel/ideals.h> -
kernel/fglmgauss.cc
r4ecc5a4 r0f401f 14 14 #ifdef HAVE_FACTORY 15 15 #include <kernel/structs.h> 16 #include < kernel/numbers.h>16 #include <coeffs/numbers.h> 17 17 #include <kernel/ring.h> 18 18 #include <omalloc/omalloc.h> -
kernel/fglmvec.cc
r4ecc5a4 r0f401f 18 18 #include <omalloc/omalloc.h> 19 19 #include <kernel/structs.h> 20 #include < kernel/numbers.h>20 #include <coeffs/numbers.h> 21 21 #include <kernel/fglm.h> 22 22 #include <kernel/fglmvec.h> -
kernel/fglmzero.cc
r4ecc5a4 r0f401f 22 22 23 23 #ifdef HAVE_FACTORY 24 #include < kernel/options.h>24 #include <misc/options.h> 25 25 #include <kernel/polys.h> 26 26 #include <kernel/ideals.h> -
kernel/gfan.cc
r4ecc5a4 r0f401f 10 10 11 11 #ifdef HAVE_FANS 12 #include < kernel/options.h>12 #include <misc/options.h> 13 13 #include <kernel/kstd1.h> 14 14 #include <kernel/kutil.h> -
kernel/gr_kstd2.cc
r4ecc5a4 r0f401f 17 17 #include <kernel/ideals.h> 18 18 #include <kernel/febase.h> 19 #include < kernel/options.h>19 #include <misc/options.h> 20 20 #include <kernel/kutil.h> 21 21 #include <kernel/kstd1.h> -
kernel/hdegree.cc
r4ecc5a4 r0f401f 16 16 #include <kernel/polys.h> 17 17 #include <kernel/intvec.h> 18 #include < kernel/numbers.h>18 #include <coeffs/numbers.h> 19 19 #include <kernel/hutil.h> 20 20 #include <kernel/stairc.h> -
kernel/kInline.cc
r4ecc5a4 r0f401f 19 19 #include <kernel/kbuckets.h> 20 20 #include <omalloc/omalloc.h> 21 #include < kernel/options.h>21 #include <misc/options.h> 22 22 23 23 #define HAVE_TAIL_BIN -
kernel/khstd.cc
r4ecc5a4 r0f401f 9 9 #include <kernel/mod2.h> 10 10 #include <kernel/febase.h> 11 #include < kernel/options.h>11 #include <misc/options.h> 12 12 #include <kernel/polys.h> 13 13 #include <kernel/intvec.h> -
kernel/kspoly.cc
r4ecc5a4 r0f401f 9 9 // #define PDEBUG 2 10 10 #include <kernel/mod2.h> 11 #include < kernel/options.h>11 #include <misc/options.h> 12 12 #include <kernel/kutil.h> 13 #include < kernel/numbers.h>13 #include <coeffs/numbers.h> 14 14 #include <kernel/p_polys.h> 15 15 #include <kernel/p_Procs.h> -
kernel/kstd1.cc
r4ecc5a4 r0f401f 30 30 #endif /* if MYTEST */ 31 31 32 #include < kernel/options.h>32 #include <misc/options.h> 33 33 #include <kernel/kutil.h> 34 34 #include <kernel/kInline.cc> -
kernel/kstd2.cc
r4ecc5a4 r0f401f 35 35 #endif 36 36 #include <kernel/kutil.h> 37 #include < kernel/options.h>37 #include <misc/options.h> 38 38 #include <omalloc/omalloc.h> 39 39 #include <kernel/polys.h> -
kernel/kstdfac.cc
r4ecc5a4 r0f401f 9 9 #include <kernel/mod2.h> 10 10 #include <omalloc/omalloc.h> 11 #include < kernel/options.h>11 #include <misc/options.h> 12 12 #include <kernel/polys.h> 13 13 #include <kernel/ideals.h> -
kernel/kutil.cc
r4ecc5a4 r0f401f 22 22 23 23 #include <omalloc/mylimits.h> 24 #include < kernel/options.h>24 #include <misc/options.h> 25 25 #include <kernel/gring.h> 26 26 #include <kernel/sca.h> … … 48 48 #include <kernel/febase.h> 49 49 #include <omalloc/omalloc.h> 50 #include < kernel/numbers.h>50 #include <coeffs/numbers.h> 51 51 #include <kernel/polys.h> 52 52 #include <kernel/ring.h> -
kernel/linearAlgebra.cc
r4ecc5a4 r0f401f 21 21 #include <kernel/polys.h> 22 22 #include <kernel/ideals.h> 23 #include < kernel/numbers.h>23 #include <coeffs/numbers.h> 24 24 #include <kernel/matpol.h> 25 25 #include <Singular/lists.h> -
kernel/misc.cc
r4ecc5a4 r0f401f 17 17 #include <omalloc/omalloc.h> 18 18 #include <kernel/structs.h> 19 #include < kernel/options.h>19 #include <misc/options.h> 20 20 #include <kernel/febase.h> 21 21 //#include "cntrlc.h" -
kernel/mod2.h
r4ecc5a4 r0f401f 53 53 /* letterplace gb:*/ 54 54 #define HAVE_SHIFTBBA 1 55 56 /* rings as coefficients */57 #define HAVE_RINGS58 55 59 56 /* procedures to compute with units */ -
kernel/ratgring.cc
r4ecc5a4 r0f401f 16 16 #include <kernel/ring.h> 17 17 #include <kernel/polys.h> 18 #include < kernel/numbers.h>18 #include <coeffs/numbers.h> 19 19 #include <kernel/ideals.h> 20 20 #include <kernel/matpol.h> … … 25 25 #include <kernel/p_Mult_q.h> 26 26 #include <kernel/clapsing.h> 27 #include < kernel/options.h>27 #include <misc/options.h> 28 28 29 29 void pLcmRat(poly a, poly b, poly m, int rat_shift) -
kernel/shiftgb.cc
r4ecc5a4 r0f401f 13 13 #include <kernel/ring.h> 14 14 #include <kernel/polys.h> 15 #include < kernel/numbers.h>15 #include <coeffs/numbers.h> 16 16 #include <kernel/ideals.h> 17 17 #include <kernel/matpol.h> -
kernel/spectrum.cc
r4ecc5a4 r0f401f 21 21 #include <omalloc/mylimits.h> 22 22 23 #include < kernel/numbers.h>23 #include <coeffs/numbers.h> 24 24 #include <kernel/polys.h> 25 25 #include <kernel/ideals.h> -
kernel/splist.cc
r4ecc5a4 r0f401f 21 21 #include <kernel/structs.h> 22 22 #include <kernel/GMPrat.h> 23 #include < kernel/numbers.h>23 #include <coeffs/numbers.h> 24 24 #include <kernel/polys.h> 25 25 #include <kernel/npolygon.h> -
kernel/structs.h
r4ecc5a4 r0f401f 35 35 #define BITSET unsigned int 36 36 37 #if defined(SI_CPU_I386) || defined(SI_CPU_X86_64)38 // the following settings seems to be better on i386 and x86_64 processors39 // define if a*b is with mod instead of tables40 #define HAVE_MULT_MOD41 // #define HAVE_GENERIC_ADD42 // #ifdef HAVE_MULT_MOD43 // #define HAVE_DIV_MOD44 // #endif45 #elif defined(SI_CPU_IA64)46 // the following settings seems to be better on itanium processors47 // #define HAVE_MULT_MOD48 #define HAVE_GENERIC_ADD49 // #ifdef HAVE_MULT_MOD50 // #define HAVE_DIV_MOD51 // #endif52 #elif defined(SI_CPU_SPARC)53 // #define HAVE_GENERIC_ADD54 #define HAVE_MULT_MOD55 #ifdef HAVE_MULT_MOD56 #define HAVE_DIV_MOD57 #endif58 #elif defined(SI_CPU_PPC)59 // the following settings seems to be better on ppc processors60 // testet on: ppc_Linux, 740/750 PowerMac G3, 512k L2 cache61 #define HAVE_MULT_MOD62 // #ifdef HAVE_MULT_MOD63 // #define HAVE_DIV_MOD64 // #endif65 #endif66 67 37 #if SIZEOF_LONG == 4 68 38 typedef long long int64; … … 74 44 75 45 76 enum n_coeffType77 {78 n_unknown=0,79 n_Zp,80 n_Q,81 n_R,82 n_GF,83 n_long_R,84 n_Zp_a,85 n_Q_a,86 n_long_C87 #ifdef HAVE_RINGS88 ,n_Z,89 n_Zm,90 n_Zpn,91 n_Z2n92 #endif93 };94 95 96 struct snumber;97 typedef struct snumber * number;98 typedef number (*numberfunc)(number a,number b);99 100 46 /* C++-part */ 101 47 #ifdef __cplusplus 102 class ip_smatrix;103 class intvec;104 48 class sleftv; 105 49 class slists; … … 108 52 class ssyStrategy; 109 53 class procinfo; 110 class kBucket;111 class sBucket;112 54 class CPolynomialSummator; 113 55 class CGlobalMultiplier; … … 115 57 #endif 116 58 117 struct n_Procs_s;118 struct sip_sring;119 struct sip_link;120 struct spolynom;121 122 59 struct sip_package; 123 60 typedef struct sip_package ip_package; 124 61 typedef ip_package * package; 125 126 // forward for ideals.h:127 struct sip_sideal;128 typedef struct sip_sideal * ideal;129 62 130 63 … … 136 69 // #endif 137 70 138 typedef struct spolyrec polyrec;139 typedef struct sip_sring ip_sring;140 71 typedef struct sip_link ip_link; 141 72 … … 143 74 typedef char * char_ptr; 144 75 typedef int * int_ptr; 145 typedef ip_sring * ring;146 typedef poly * polyset;147 76 148 77 #ifdef __cplusplus 149 typedef ip_smatrix * matrix;150 78 typedef ip_link * si_link; 151 79 typedef sleftv * leftv; … … 155 83 typedef ssyStrategy * syStrategy; 156 84 typedef procinfo * procinfov; 157 typedef kBucket* kBucket_pt;158 typedef sBucket* sBucket_pt;159 typedef struct p_Procs_s p_Procs_s;160 161 struct n_Procs_s162 {163 n_Procs_s* next;164 // the union stuff165 // Zp:166 int npPrimeM;167 int npPminus1M;168 #ifdef HAVE_DIV_MOD169 unsigned short *npInvTable;170 #endif171 #if !defined(HAVE_DIV_MOD) || !defined(HAVE_MULT_MOD)172 unsigned short *npExpTable;173 unsigned short *npLogTable;174 #endif175 // Zp_a, Q_a176 177 // general stuff178 numberfunc nMult, nSub ,nAdd ,nDiv, nIntDiv, nIntMod, nExactDiv;179 number (*cfInit)(int i,const ring r);180 number (*nPar)(int i);181 int (*nParDeg)(number n);182 int (*nSize)(number n);183 int (*n_Int)(number &n, const ring r);184 #ifdef HAVE_RINGS185 int (*nDivComp)(number a,number b);186 BOOLEAN (*nIsUnit)(number a);187 number (*nGetUnit)(number a);188 number (*nExtGcd)(number a, number b, number *s, number *t);189 #endif190 number (*nNeg)(number a);191 number (*nInvers)(number a);192 number (*nCopy)(number a);193 number (*cfCopy)(number a, const ring r);194 number (*nRePart)(number a);195 number (*nImPart)(number a);196 void (*cfWrite)(number &a, const ring r);197 const char * (*nRead)(const char * s, number * a);198 void (*nNormalize)(number &a);199 BOOLEAN (*nGreater)(number a,number b),200 #ifdef HAVE_RINGS201 (*nDivBy)(number a, number b),202 #endif203 (*nEqual)(number a,number b),204 (*nIsZero)(number a),205 (*nIsOne)(number a),206 (*nIsMOne)(number a),207 (*nGreaterZero)(number a);208 void (*nPower)(number a, int i, number * result);209 number (*cfGetDenom)(number &n, const ring r);210 number (*cfGetNumerator)(number &n, const ring r);211 number (*nGcd)(number a, number b, const ring r);212 number (*nLcm)(number a, number b, const ring r);213 void (*cfDelete)(number * a, const ring r);214 nMapFunc (*cfSetMap)(const ring src, const ring dst);215 char * (*nName)(number n);216 void (*nInpMult)(number &a, number b, ring r);217 #ifdef LDEBUG218 BOOLEAN (*nDBTest)(number a, const char *f,const int l);219 #endif220 221 number nNULL; /* the 0 as constant */222 int char_flag;223 int ref;224 n_coeffType type;225 short nChar;226 };227 85 228 86 /* the function pointer types */ 229 87 230 typedef long (*pLDegProc)(poly p, int *length, ring r);231 typedef long (*pFDegProc)(poly p, ring r);232 typedef void (*p_SetmProc)(poly p, const ring r);233 234 typedef enum235 {236 ro_dp, // ordering is a degree ordering237 ro_wp, // ordering is a weighted degree ordering238 ro_wp64, // ordering is a weighted64 degree ordering239 ro_wp_neg, // ordering is a weighted degree ordering240 // with possibly negative weights241 ro_cp, // ordering duplicates variables242 ro_syzcomp, // ordering indicates "subset" of component number (ringorder_S)243 ro_syz, // ordering with component number >syzcomp is lower (ringorder_s)244 ro_isTemp, ro_is, // Induced Syzygy (Schreyer) ordering (and prefix data placeholder dummy) (ringorder_IS)245 ro_none246 }247 ro_typ;248 249 // ordering is a degree ordering250 struct sro_dp251 {252 short place; // where degree is stored (in L):253 short start; // bounds of ordering (in E):254 short end;255 };256 typedef struct sro_dp sro_dp;257 258 // ordering is a weighted degree ordering259 struct sro_wp260 {261 short place; // where weighted degree is stored (in L)262 short start; // bounds of ordering (in E)263 short end;264 int *weights; // pointers into wvhdl field265 };266 typedef struct sro_wp sro_wp;267 268 // ordering is a weighted degree ordering269 struct sro_wp64270 {271 short place; // where weighted degree is stored (in L)272 short start; // bounds of ordering (in E)273 short end;274 int64 *weights64; // pointers into wvhdl field275 };276 typedef struct sro_wp64 sro_wp64;277 278 // ordering duplicates variables279 struct sro_cp280 {281 short place; // where start is copied to (in E)282 short start; // bounds of sources of copied variables (in E)283 short end;284 };285 typedef struct sro_cp sro_cp;286 287 // ordering indicates "subset" of component number288 struct sro_syzcomp289 {290 short place; // where the index is stored (in L)291 long *ShiftedComponents; // pointer into index field292 int* Components;293 #ifdef PDEBUG294 long length;295 #endif296 };297 typedef struct sro_syzcomp sro_syzcomp;298 299 // ordering with component number >syzcomp is lower300 struct sro_syz301 {302 short place; // where the index is stored (in L)303 int limit; // syzcomp304 int* syz_index; // mapping Component -> SyzIndex for Comp <= limit305 int curr_index; // SyzIndex for Component > limit306 };307 308 typedef struct sro_syz sro_syz;309 // Induced Syzygy (Schreyer) ordering is built inductively as follows:310 // we look for changes made by ordering blocks which are between prefix/suffix markers:311 // that is: which variables where placed by them and where (judging by v)312 313 // due to prefix/suffix nature we need some placeholder:314 // prefix stores here initial state315 // suffix cleares this up316 struct sro_ISTemp317 {318 short start; // 1st member SHOULD be short "place"319 int suffixpos;320 int* pVarOffset; // copy!321 };322 323 // So this is the actuall thing!324 // suffix uses last sro_ISTemp (cleares it up afterwards) and325 // creates this block326 struct sro_IS327 {328 short start, end; // which part of L we want to want to update...329 int* pVarOffset; // same as prefix!330 331 int limit; // first referenced component332 333 // reference poly set?? // Should it be owned by ring?!!!334 ideal F; // reference leading (module)-monomials set. owned by ring...335 const intvec* componentWeights; // component weights! owned by ring...336 };337 338 typedef struct sro_IS sro_IS;339 typedef struct sro_ISTemp sro_ISTemp;340 341 struct sro_ord342 {343 ro_typ ord_typ;344 int order_index; // comes from r->order[order_index]345 union346 {347 sro_dp dp;348 sro_wp wp;349 sro_wp64 wp64;350 sro_cp cp;351 sro_syzcomp syzcomp;352 sro_syz syz;353 sro_IS is;354 sro_ISTemp isTemp;355 } data;356 };357 358 #ifdef HAVE_PLURAL359 // NC pProcs:360 typedef poly (*mm_Mult_p_Proc_Ptr)(const poly m, poly p, const ring r);361 typedef poly (*mm_Mult_pp_Proc_Ptr)(const poly m, const poly p, const ring r);362 363 typedef ideal (*GB_Proc_Ptr)(const ideal F, const ideal Q, const intvec *w, const intvec *hilb, kStrategy strat);364 365 typedef poly (*SPoly_Proc_Ptr)(const poly p1, const poly p2, const ring r);366 typedef poly (*SPolyReduce_Proc_Ptr)(const poly p1, poly p2, const ring r);367 368 typedef void (*bucket_Proc_Ptr)(kBucket_pt b, poly p, number *c);369 370 struct nc_pProcs371 {372 public:373 mm_Mult_p_Proc_Ptr mm_Mult_p;374 mm_Mult_pp_Proc_Ptr mm_Mult_pp;375 376 bucket_Proc_Ptr BucketPolyRed;377 bucket_Proc_Ptr BucketPolyRed_Z;378 379 SPoly_Proc_Ptr SPoly;380 SPolyReduce_Proc_Ptr ReduceSPoly;381 382 GB_Proc_Ptr GB;383 // GlobalGB, // BBA384 // LocalGB; // MORA385 };386 387 388 struct nc_struct389 {390 nc_type type;391 //ring basering; // the ring C,D,.. live in (commutative ring with this NC structure!)392 393 // initial data: square matrices rVar() x rVar()394 // logically: upper triangular!!!395 // TODO: eliminate this waste of memory!!!!396 matrix C;397 matrix D;398 399 // computed data:400 matrix *MT; // size 0.. (rVar()*rVar()-1)/2401 matrix COM;402 int *MTsize; // size 0.. (rVar()*rVar()-1)/2403 404 // IsSkewConstant indicates whethere coeffs C_ij are all equal,405 // effective together with nc_type=nc_skew406 int IsSkewConstant;407 408 private:409 // internal data for different implementations410 // if dynamic => must be deallocated in destructor (nc_rKill!)411 union412 {413 struct414 {415 // treat variables from iAltVarsStart till iAltVarsEnd as alternating vars.416 // these variables should have odd degree, though that will not be checked417 // iAltVarsStart, iAltVarsEnd are only used together with nc_type=nc_exterior418 // 1 <= iAltVarsStart <= iAltVarsEnd <= r->N419 unsigned int iFirstAltVar, iLastAltVar; // = 0 by default420 421 // for factors of super-commutative algebras we need422 // the part of general quotient ideal modulo squares!423 ideal idSCAQuotient; // = NULL by default. // must be deleted in Kill!424 } sca;425 } data;426 427 CGlobalMultiplier* m_Multiplier;428 CFormulaPowerMultiplier* m_PowerMultiplier;429 430 public:431 432 inline nc_type& ncRingType() { return (type); };433 inline nc_type ncRingType() const { return (type); };434 435 inline unsigned int& FirstAltVar()436 { assume(ncRingType() == nc_exterior); return (data.sca.iFirstAltVar); };437 inline unsigned int& LastAltVar ()438 { assume(ncRingType() == nc_exterior); return (data.sca.iLastAltVar ); };439 440 inline unsigned int FirstAltVar() const441 { assume(ncRingType() == nc_exterior); return (data.sca.iFirstAltVar); };442 inline unsigned int LastAltVar () const443 { assume(ncRingType() == nc_exterior); return (data.sca.iLastAltVar ); };444 445 inline ideal& SCAQuotient()446 { assume(ncRingType() == nc_exterior); return (data.sca.idSCAQuotient); };447 448 inline CGlobalMultiplier* GetGlobalMultiplier() const449 { return (m_Multiplier); };450 451 inline CGlobalMultiplier*& GetGlobalMultiplier()452 { return (m_Multiplier); };453 454 455 inline CFormulaPowerMultiplier* GetFormulaPowerMultiplier() const456 { return (m_PowerMultiplier); };457 458 inline CFormulaPowerMultiplier*& GetFormulaPowerMultiplier()459 { return (m_PowerMultiplier); };460 461 public:462 nc_pProcs p_Procs; // NC procedures.463 464 };465 #endif466 467 88 class idrec; 468 89 typedef idrec * idhdl; 469 470 struct sip_sring471 {472 // each entry must have a description and a procedure defining it,473 // general ordering: pointer/structs, long, int, short, BOOLEAN/char/enum474 // general defining procedures: rInit, rComplete, interpreter, ??475 idhdl idroot; /* local objects , interpreter*/476 int* order; /* array of orderings, rInit/rSleftvOrdering2Ordering */477 int* block0; /* starting pos., rInit/rSleftvOrdering2Ordering*/478 int* block1; /* ending pos., rInit/rSleftvOrdering2Ordering*/479 char** parameter; /* names of parameters, rInit */480 number minpoly; /* for Q_a/Zp_a, rInit */481 ideal minideal;482 int** wvhdl; /* array of weight vectors, rInit/rSleftvOrdering2Ordering */483 char ** names; /* array of variable names, rInit */484 485 // what follows below here should be set by rComplete, _only_486 long *ordsgn; /* array of +/- 1 (or 0) for comparing monomials */487 /* ExpL_Size entries*/488 489 // is NULL for lp or N == 1, otherwise non-NULL (with OrdSize > 0 entries) */490 sro_ord* typ; /* array of orderings + sizes, OrdSize entries */491 /* if NegWeightL_Size > 0, then NegWeightL_Offset[0..size_1] is index of longs492 in ExpVector whose values need an offset due to negative weights */493 /* array of NegWeigtL_Size indicies */494 int* NegWeightL_Offset;495 496 int* VarOffset;497 498 ideal qideal; /* extension to the ring structure: qring, rInit */499 500 int* firstwv;501 502 omBin PolyBin; /* Bin from where monoms are allocated */503 #ifdef HAVE_RINGS504 unsigned int ringtype; /* cring = 0 => coefficient field, cring = 1 => coeffs from Z/2^m */505 int_number ringflaga; /* Z/(ringflag^ringflagb)=Z/nrnModul*/506 unsigned long ringflagb;507 unsigned long nr2mModul; /* Z/nr2mModul */508 int_number nrnModul;509 #endif510 unsigned long options; /* ring dependent options */511 512 int ch; /* characteristic, rInit */513 int ref; /* reference counter to the ring, interpreter */514 515 short float_len; /* additional char-flags, rInit */516 short float_len2; /* additional char-flags, rInit */517 518 short N; /* number of vars, rInit */519 520 short P; /* number of pars, rInit */521 short OrdSgn; /* 1 for polynomial rings, -1 otherwise, rInit */522 523 short firstBlockEnds;524 #ifdef HAVE_PLURAL525 short real_var_start, real_var_end;526 #endif527 528 #ifdef HAVE_SHIFTBBA529 short isLPring; /* 0 for non-letterplace rings, otherwise the number of LP blocks, at least 1, known also as lV */530 #endif531 532 BOOLEAN VectorOut;533 BOOLEAN ShortOut;534 BOOLEAN CanShortOut;535 BOOLEAN LexOrder; // TRUE if the monomial ordering has polynomial and power series blocks536 BOOLEAN MixedOrder; // TRUE for global/local mixed orderings, FALSE otherwise537 538 BOOLEAN ComponentOrder; // ???539 540 // what follows below here should be set by rComplete, _only_541 // contains component, but no weight fields in E */542 short ExpL_Size; // size of exponent vector in long543 short CmpL_Size; // portions which need to be compared544 /* number of long vars in exp vector:545 long vars are those longs in the exponent vector which are546 occupied by variables, only */547 short VarL_Size;548 short BitsPerExp; /* number of bits per exponent */549 short ExpPerLong; /* maximal number of Exponents per long */550 short pCompIndex; /* p->exp.e[pCompIndex] is the component */551 short pOrdIndex; /* p->exp[pOrdIndex] is pGetOrd(p) */552 short OrdSize; /* size of ord vector (in sro_ord) */553 554 /* if >= 0, long vars in exp vector are consecutive and start there555 if < 0, long vars in exp vector are not consecutive */556 short VarL_LowIndex;557 // number of exponents in r->VarL_Offset[0]558 // is minimal number of exponents in a long var559 short MinExpPerLong;560 561 short NegWeightL_Size;562 /* array of size VarL_Size,563 VarL_Offset[i] gets i-th long var in exp vector */564 int* VarL_Offset;565 566 /* mask for getting single exponents */567 unsigned long bitmask;568 /* mask used for divisiblity tests */569 unsigned long divmask; // rComplete570 571 p_Procs_s* p_Procs; // rComplete/p_ProcsSet572 573 /* FDeg and LDeg */574 pFDegProc pFDeg; // rComplete/rSetDegStuff575 pLDegProc pLDeg; // rComplete/rSetDegStuff576 577 /* as it was determined by rComplete */578 pFDegProc pFDegOrig;579 /* and as it was determined before rOptimizeLDeg */580 pLDegProc pLDegOrig;581 582 p_SetmProc p_Setm;583 n_Procs_s* cf;584 ring extRing;585 #ifdef HAVE_PLURAL586 private:587 nc_struct* _nc; // private588 public:589 inline const nc_struct* GetNC() const { return _nc; }; // public!!!590 inline nc_struct*& GetNC() { return _nc; }; // public!!!591 #endif592 };593 90 594 91 #endif /* __cplusplus */ -
kernel/syz.cc
r4ecc5a4 r0f401f 10 10 11 11 #include <kernel/mod2.h> 12 #include < kernel/options.h>12 #include <misc/options.h> 13 13 #include <omalloc/omalloc.h> 14 14 #include <kernel/polys.h> … … 18 18 #include <kernel/stairc.h> 19 19 #include <kernel/intvec.h> 20 #include < kernel/numbers.h>20 #include <coeffs/numbers.h> 21 21 #include <kernel/ideals.h> 22 22 #include <kernel/intvec.h> -
kernel/syz0.cc
r4ecc5a4 r0f401f 9 9 10 10 #include <kernel/mod2.h> 11 #include < kernel/options.h>11 #include <misc/options.h> 12 12 #include <omalloc/omalloc.h> 13 13 #include <kernel/polys.h> … … 18 18 //#include "cntrlc.h" 19 19 #include <kernel/intvec.h> 20 #include < kernel/numbers.h>20 #include <coeffs/numbers.h> 21 21 #include <kernel/ideals.h> 22 22 #include <kernel/intvec.h> -
kernel/syz1.cc
r4ecc5a4 r0f401f 9 9 #include <kernel/mod2.h> 10 10 #include <omalloc/mylimits.h> 11 #include < kernel/options.h>11 #include <misc/options.h> 12 12 #include <omalloc/omalloc.h> 13 13 #include <kernel/polys.h> … … 18 18 //#include "cntrlc.h" 19 19 #include <kernel/intvec.h> 20 #include < kernel/numbers.h>20 #include <coeffs/numbers.h> 21 21 #include <kernel/modulop.h> 22 22 #include <kernel/ideals.h> -
kernel/syz2.cc
r4ecc5a4 r0f401f 9 9 #include <kernel/mod2.h> 10 10 #include <omalloc/mylimits.h> 11 #include < kernel/options.h>11 #include <misc/options.h> 12 12 #include <omalloc/omalloc.h> 13 13 #include <kernel/syz.h> … … 19 19 //#include "cntrlc.h" 20 20 #include <kernel/intvec.h> 21 #include < kernel/numbers.h>21 #include <coeffs/numbers.h> 22 22 #include <kernel/modulop.h> 23 23 #include <kernel/ideals.h> -
kernel/syz3.cc
r4ecc5a4 r0f401f 9 9 #include <kernel/mod2.h> 10 10 #include <omalloc/mylimits.h> 11 #include < kernel/options.h>11 #include <misc/options.h> 12 12 #include <omalloc/omalloc.h> 13 13 #include <kernel/polys.h> … … 18 18 //#include "cntrlc.h" 19 19 #include <kernel/intvec.h> 20 #include < kernel/numbers.h>20 #include <coeffs/numbers.h> 21 21 #include <kernel/modulop.h> 22 22 #include <kernel/ideals.h> -
kernel/tgb.cc
r4ecc5a4 r0f401f 16 16 ///@TODO: no tail reductions in syz comp 17 17 #include <kernel/mod2.h> 18 #include < kernel/options.h>18 #include <misc/options.h> 19 19 #include <kernel/tgb.h> 20 20 #include <kernel/tgb_internal.h> -
kernel/tgb_internal.h
r4ecc5a4 r0f401f 15 15 #include <kernel/ring.h> 16 16 #include <kernel/febase.h> 17 #include < kernel/options.h>17 #include <misc/options.h> 18 18 #include <kernel/polys.h> 19 19 #include <stdlib.h> -
kernel/tgbgauss.cc
r4ecc5a4 r0f401f 7 7 */ 8 8 #include <kernel/mod2.h> 9 #include < kernel/options.h>9 #include <misc/options.h> 10 10 #include <kernel/tgbgauss.h> 11 11 #include <omalloc/omalloc.h> -
kernel/units.cc
r4ecc5a4 r0f401f 10 10 #include <kernel/structs.h> 11 11 #include <kernel/febase.h> 12 #include < kernel/numbers.h>12 #include <coeffs/numbers.h> 13 13 #include <kernel/polys.h> 14 14 #include <kernel/ideals.h> -
kernel/walkMain.cc
r4ecc5a4 r0f401f 9 9 #include <string.h> 10 10 #include <kernel/mod2.h> 11 #include < kernel/options.h>11 #include <misc/options.h> 12 12 #include <kernel/intvec.h> 13 13 #include <kernel/int64vec.h> -
omalloc/omalloc.c
r4ecc5a4 r0f401f 14 14 #define OMALLOC_C 15 15 16 #include <omalloc .h>16 #include <omalloc/omalloc.h> 17 17 18 18 #ifdef OM_MALLOC_MARK_AS_STATIC
Note: See TracChangeset
for help on using the changeset viewer.