Changeset 351a5f in git
- Timestamp:
- Jan 13, 2011, 1:50:41 PM (12 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 6af1cc514f43879d46e2d975e0f8daa3c319f0d8
- Parents:
- 56790491568061b8fda62ac136d56bb3bca12583
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2011-01-13 13:50:41+01:00
- git-committer:
- Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 11:59:25+01:00
- Location:
- libpolys
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
libpolys/polys/monomials/ring.cc
r5679049 r351a5f 13 13 // #include <polys/options.h> 14 14 #include <omalloc/omalloc.h> 15 #include <polys/polys.h> 15 #include <misc/sy_bit.h> 16 #include <polys/monomials/ring.h> 17 #include <polys/monomials/p_polys.h> 16 18 #include <coeffs/numbers.h> 17 19 // #include <???/febase.h> … … 38 40 #define BITS_PER_LONG 8*SIZEOF_LONG 39 41 40 omBin sip_sring_bin = omGetSpecBin(sizeof( sip_sring));42 omBin sip_sring_bin = omGetSpecBin(sizeof(ip_sring)); 41 43 42 44 static const char * const ringorder_name[] = … … 102 104 // } 103 105 /*------------ set global ring vars --------------------------------*/ 104 currRing = r;105 currQuotient=NULL;106 //currRing = r; 107 //currQuotient=NULL; 106 108 if (r != NULL) 107 109 { … … 111 113 112 114 /*------------ global variables related to coefficients ------------*/ 113 nSetChar(r );115 nSetChar(r->cf); 114 116 115 117 /*------------ global variables related to polys -------------------*/ 116 p SetGlobals(r);118 p_SetGlobals(r); 117 119 /*------------ global variables related to factory -------------------*/ 118 120 #ifdef HAVE_FACTORY … … 138 140 } 139 141 /*weights: entries for 2 blocks: NULL*/ 140 r->wvhdl = (int **)omAlloc0((ord_size+1) * sizeof(int _ptr));142 r->wvhdl = (int **)omAlloc0((ord_size+1) * sizeof(int *)); 141 143 r->order = ord; 142 144 r->block0 = block0; … … 250 252 omCheckAddrSize(r->block0,nblocks*sizeof(int)); 251 253 omCheckAddrSize(r->block1,nblocks*sizeof(int)); 252 omCheckAddrSize(r->wvhdl,nblocks*sizeof(int _ptr));254 omCheckAddrSize(r->wvhdl,nblocks*sizeof(int *)); 253 255 omCheckAddrSize(r->names,r->N*sizeof(char_ptr)); 254 256 … … 260 262 Print("// # ground field : %d\n",rInternalChar(r)); 261 263 Print("// primitive element : %s\n", r->parameter[0]); 262 if (r==currRing) 263 { 264 StringSetS("// minpoly : "); 265 nfShowMipo();PrintS(StringAppendS("\n")); 266 } 264 StringSetS("// minpoly : "); 265 nfShowMipo();PrintS(StringAppendS("\n")); 267 266 } 268 267 #ifdef HAVE_RINGS … … 313 312 PrintS("0\n"); 314 313 } 315 else if (r==currRing)316 {317 StringSetS(""); nWrite(r->minpoly); PrintS(StringAppendS("\n"));318 }319 314 else 320 315 { 321 PrintS("...\n");316 StringSetS(""); n_Write(r->minpoly,r->cf); PrintS(StringAppendS("\n")); 322 317 } 323 318 if (r->minideal!=NULL) 324 319 { 325 if (r==currRing) iiWriteMatrix((matrix)r->minideal,"// minpolys",1,0); 326 else PrintS("// minpolys=..."); 320 iiWriteMatrix((matrix)r->minideal,"// minpolys",1,0); 327 321 PrintLn(); 328 322 } … … 448 442 if (r->qideal!=NULL) 449 443 { 450 PrintS("\n// quotient ring from ideal"); 451 if (r==currRing) 452 { 453 PrintLn(); 454 iiWriteMatrix((matrix)r->qideal,"_",1); 455 } 456 else PrintS(" ..."); 444 PrintS("\n// quotient ring from ideal\n"); 445 iiWriteMatrix((matrix)r->qideal,"_",1); 457 446 } 458 447 } … … 1182 1171 tmpR.block0=(int*)omAlloc0(4*sizeof(int)); 1183 1172 tmpR.block1=(int*)omAlloc0(4*sizeof(int)); 1184 tmpR.wvhdl=(int**)omAlloc0(4*sizeof(int _ptr));1173 tmpR.wvhdl=(int**)omAlloc0(4*sizeof(int *)); 1185 1174 tmpR.order[0]=ringorder_dp; 1186 1175 tmpR.block0[0]=1; … … 1220 1209 tmpR.block0=(int*)omAlloc(3*sizeof(int)); 1221 1210 tmpR.block1=(int*)omAlloc(3*sizeof(int)); 1222 tmpR.wvhdl=(int**)omAlloc0(3*sizeof(int _ptr));1211 tmpR.wvhdl=(int**)omAlloc0(3*sizeof(int *)); 1223 1212 tmpR.order[0]=ringorder_unspec; 1224 1213 tmpR.order[1]=ringorder_C; … … 1253 1242 tmpR.block0=(int*)omAlloc0(b*sizeof(int)); 1254 1243 tmpR.block1=(int*)omAlloc0(b*sizeof(int)); 1255 tmpR.wvhdl=(int**)omAlloc0(b*sizeof(int _ptr));1244 tmpR.wvhdl=(int**)omAlloc0(b*sizeof(int *)); 1256 1245 /* weights not implemented yet ...*/ 1257 1246 if (rb!=NULL) … … 1313 1302 tmpR.block0=(int*)omAlloc0(b*sizeof(int)); 1314 1303 tmpR.block1=(int*)omAlloc0(b*sizeof(int)); 1315 tmpR.wvhdl=(int**)omAlloc0(b*sizeof(int _ptr));1304 tmpR.wvhdl=(int**)omAlloc0(b*sizeof(int *)); 1316 1305 /* weights not implemented yet ...*/ 1317 1306 for (i=0;i<b;i++) … … 1671 1660 { 1672 1661 i=rBlocks(r); 1673 res->wvhdl = (int **)omAlloc(i * sizeof(int _ptr));1662 res->wvhdl = (int **)omAlloc(i * sizeof(int *)); 1674 1663 res->order = (int *) omAlloc(i * sizeof(int)); 1675 1664 res->block0 = (int *) omAlloc(i * sizeof(int)); … … 2066 2055 2067 2056 // return TRUE if p->exp[r->pOrdIndex] holds a weighted degree of p */ 2068 BOOLEAN rOrd_is_WeightedDegree_Ordering(ring r =currRing)2057 BOOLEAN rOrd_is_WeightedDegree_Ordering(ring r ) 2069 2058 { 2070 2059 // Hmm.... what about Syz orderings? … … 2742 2731 int *block0=(int*)omAlloc0((nblocks+1)*sizeof(int)); 2743 2732 int *block1=(int*)omAlloc0((nblocks+1)*sizeof(int)); 2744 int **wvhdl=(int**)omAlloc0((nblocks+1)*sizeof(int _ptr));2733 int **wvhdl=(int**)omAlloc0((nblocks+1)*sizeof(int *)); 2745 2734 2746 2735 int i=0; … … 2871 2860 omFreeSize(block0,(nblocks+1)*sizeof(int)); 2872 2861 omFreeSize(block1,(nblocks+1)*sizeof(int)); 2873 omFreeSize(wvhdl,(nblocks+1)*sizeof(int _ptr));2862 omFreeSize(wvhdl,(nblocks+1)*sizeof(int *)); 2874 2863 return r; 2875 2864 } … … 2984 2973 2985 2974 /*weights: entries for 3 blocks: NULL*/ 2986 res->wvhdl = (int **)omAlloc0(3 * sizeof(int _ptr));2975 res->wvhdl = (int **)omAlloc0(3 * sizeof(int *)); 2987 2976 /*order: Wp,C,0*/ 2988 2977 res->order = (int *) omAlloc(3 * sizeof(int *)); … … 3041 3030 int *block0=(int*)omAlloc0((nblocks+1)*sizeof(int)); 3042 3031 int *block1=(int*)omAlloc0((nblocks+1)*sizeof(int)); 3043 int **wvhdl=(int**)omAlloc0((nblocks+1)*sizeof(int _ptr));3032 int **wvhdl=(int**)omAlloc0((nblocks+1)*sizeof(int *)); 3044 3033 3045 3034 order[0]=ringorder_lp; … … 4231 4220 } 4232 4221 4233 void pDebugPrint(poly p)4234 {4235 p_DebugPrint(p, currRing);4236 }4237 4222 #endif // RDEBUG 4238 4223 … … 4288 4273 // F = system("ISUpdateComponents", F, V, MIN ); 4289 4274 // // replace gen(i) -> gen(MIN + V[i-MIN]) for all i > MIN in all terms from F! 4290 void pISUpdateComponents(ideal F, const intvec *const V, const int MIN, const ring r = currRing)4275 void pISUpdateComponents(ideal F, const intvec *const V, const int MIN, const ring r ) 4291 4276 { 4292 4277 assume( V != NULL ); … … 4589 4574 ring new_r = rCopy0(r, FALSE, FALSE); 4590 4575 i+=2; 4591 new_r->wvhdl=(int **)omAlloc0(i * sizeof(int _ptr));4576 new_r->wvhdl=(int **)omAlloc0(i * sizeof(int *)); 4592 4577 new_r->order = (int *) omAlloc0(i * sizeof(int)); 4593 4578 new_r->block0 = (int *) omAlloc0(i * sizeof(int)); … … 4981 4966 /// We will use it AS IS! 4982 4967 /// returns true is everything was allright! 4983 bool rSetISReference(const ideal F, const int i = 0, const int p = 0, const intvec * componentWeights = NULL, const ring r = currRing)4968 bool rSetISReference(const ideal F, const ring r,const int i = 0, const int p = 0, const intvec * componentWeights = NULL) 4984 4969 { 4985 4970 // Put the reference set F into the ring -ordering -recor … … 5189 5174 #ifdef HAVE_RINGS 5190 5175 if (rField_is_Ring_Z(r)) return n_Z; 5191 if (rField_is_Ring_ModN(r)) return n_Z m;5176 if (rField_is_Ring_ModN(r)) return n_Zn; 5192 5177 if (rField_is_Ring_PtoM(r)) return n_Zpn; 5193 if (rField_is_Ring_2toM(r)) return n_Z2 n;5178 if (rField_is_Ring_2toM(r)) return n_Z2m; 5194 5179 #endif 5195 5180 … … 5222 5207 r->block0=(int*)omReallocSize(r->block0, size*sizeof(int), (size+1)*sizeof(int)); 5223 5208 r->block1=(int*)omReallocSize(r->block1, size*sizeof(int), (size+1)*sizeof(int)); 5224 r->wvhdl=(int _ptr*)omReallocSize(r->wvhdl,size*sizeof(int_ptr), (size+1)*sizeof(int_ptr));5209 r->wvhdl=(int **)omReallocSize(r->wvhdl,size*sizeof(int *), (size+1)*sizeof(int *)); 5225 5210 for(int k=size; k>pos; k--) r->wvhdl[k]=r->wvhdl[k-1]; 5226 5211 r->order[size]=0; … … 5233 5218 // r->block0=(int*)omReallocSize(r->block0, size*sizeof(int), (size-1)*sizeof(int)); 5234 5219 // r->block1=(int*)omReallocSize(r->block1, size*sizeof(int), (size-1)*sizeof(int)); 5235 // r->wvhdl=(int _ptr*)omReallocSize(r->wvhdl,size*sizeof(int_ptr), (size-1)*sizeof(int_ptr));5220 // r->wvhdl=(int **)omReallocSize(r->wvhdl,size*sizeof(int *), (size-1)*sizeof(int *)); 5236 5221 // for(int k=pos+1; k<size; k++) r->wvhdl[k]=r->wvhdl[k+1]; 5237 5222 // size--; -
libpolys/polys/prCopy.h
r5679049 r351a5f 1 #ifndef PRCOPY_H 2 #define PRCOPY_H 1 3 /**************************************** 2 4 * Computer Algebra System SINGULAR * … … 19 21 * 20 22 ************************************************************************/ 21 poly prMoveR_NoSort(poly &p, ring r, ring dest_r = currRing);22 poly prMoveR(poly &p, ring r, ring dest_r = currRing);23 poly prCopyR_NoSort(poly p, ring r, ring dest_r = currRing);24 poly prCopyR(poly p, ring r, ring dest_r = currRing);25 poly prShallowCopyR_NoSort(poly p, ring r, ring dest_t = currRing);26 poly prShallowCopyR(poly p, ring r, ring dest_t = currRing);27 poly prHeadR(poly p, ring r, ring dest_r = currRing);23 poly prMoveR_NoSort(poly &p, ring r, ring dest_r); 24 poly prMoveR(poly &p, ring r, ring dest_r); 25 poly prCopyR_NoSort(poly p, ring r, ring dest_r); 26 poly prCopyR(poly p, ring r, ring dest_r); 27 poly prShallowCopyR_NoSort(poly p, ring r, ring dest_t); 28 poly prShallowCopyR(poly p, ring r, ring dest_t); 29 poly prHeadR(poly p, ring r, ring dest_rg); 28 30 29 ideal idrMoveR_NoSort(ideal &id, ring r, ring dest_r = currRing);30 ideal idrMoveR(ideal &id, ring r, ring dest_r = currRing);31 ideal idrMoveR_NoSort(ideal &id, ring r, ring dest_r ); 32 ideal idrMoveR(ideal &id, ring r, ring dest_r ); 31 33 32 ideal idrCopyR_NoSort(ideal id, ring r, ring dest_r = currRing);33 ideal idrCopyR(ideal id, ring r, ring dest_r = currRing);34 ideal idrCopyR_NoSort(ideal id, ring r, ring dest_r ); 35 ideal idrCopyR(ideal id, ring r, ring dest_r ); 34 36 35 ideal idrShallowCopyR_NoSort(ideal id, ring r, ring dest_r = currRing); 36 ideal idrShallowCopyR(ideal id, ring r, ring dest_r = currRing); 37 37 ideal idrShallowCopyR_NoSort(ideal id, ring r, ring dest_r ); 38 ideal idrShallowCopyR(ideal id, ring r, ring dest_r ); 38 39 39 40 /// Copy leading terms of id[i] via prHeeadR into dest_r 40 ideal idrHeadR(ideal id, ring r, ring dest_r = currRing); 41 42 43 44 41 ideal idrHeadR(ideal id, ring r, ring dest_r ); 42 #endif
Note: See TracChangeset
for help on using the changeset viewer.