Changeset c232af in git for Singular/lists.cc
- Timestamp:
- Aug 14, 2000, 2:58:28 PM (24 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- d26c2e9dd38f1531c0e77c38e6177109182b5bca
- Parents:
- 4697a8a1ccbf49d0048033ea29c651e3966ba729
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/lists.cc
r4697a8a rc232af 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: lists.cc,v 1.2 1 2000-05-18 14:04:01 SingularExp $ */4 /* $Id: lists.cc,v 1.22 2000-08-14 12:56:34 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: handling of the list type … … 20 20 #include "lists.h" 21 21 22 omBin slists_bin = omGetSpecBin(sizeof(slists)); 23 22 24 lists lCopy(lists L) 23 25 { 24 lists N=(lists) Alloc0SizeOf(slists);26 lists N=(lists)omAlloc0Bin(slists_bin); 25 27 int n=L->nr; 26 28 if (L->nr>=0) … … 44 46 BOOLEAN lAdd(leftv res, leftv u, leftv v) 45 47 { 46 lists l=(lists) AllocSizeOf(slists);48 lists l=(lists) omAllocBin(slists_bin); 47 49 lists ul=(lists)u->CopyD(); 48 50 lists vl=(lists)v->CopyD(); … … 62 64 l->m[i+ul->nr+1].data=vl->m[i].data; 63 65 } 64 Free((ADDRESS)ul->m,(ul->nr+1)*sizeof(sleftv)); 65 FreeSizeOf((ADDRESS)ul,slists); 66 Free((ADDRESS)vl->m,(vl->nr+1)*sizeof(sleftv)); 67 FreeSizeOf((ADDRESS)vl,slists); 66 if (ul->m != NULL) // OB: ??? 67 omFreeSize((ADDRESS)ul->m,(ul->nr+1)*sizeof(sleftv)); 68 omFreeBin((ADDRESS)ul, slists_bin); 69 if (vl->m != NULL) // OB: ???? 70 omFreeSize((ADDRESS)vl->m,(vl->nr+1)*sizeof(sleftv)); 71 omFreeBin((ADDRESS)vl, slists_bin); 68 72 memset(u,0,sizeof(*u)); 69 73 memset(v,0,sizeof(*v)); … … 80 84 if ((pos<0)||(v->rtyp==NONE)) 81 85 return NULL; 82 lists l=(lists) AllocSizeOf(slists);86 lists l=(lists) omAllocBin(slists_bin); 83 87 l->Init(max(ul->nr+2,pos+1)); 84 88 int i,j; … … 96 100 l->m[pos].flag=v->flag; 97 101 l->m[pos].attribute=v->CopyA(); 98 Free((ADDRESS)ul->m,(ul->nr+1)*sizeof(sleftv)); 99 FreeSizeOf((ADDRESS)ul,slists); 102 if (ul->m != NULL) // OB: ????? 103 omFreeSize((ADDRESS)ul->m,(ul->nr+1)*sizeof(sleftv)); 104 omFreeBin((ADDRESS)ul, slists_bin); 100 105 return l; 101 106 } … … 153 158 { 154 159 int i,j; 155 lists l=(lists) AllocSizeOf(slists);160 lists l=(lists) omAllocBin(slists_bin); 156 161 l->Init(ul->nr); 157 162 … … 200 205 int typ0, intvec ** weights) 201 206 { 202 lists L=(lists) Alloc0SizeOf(slists);207 lists L=(lists)omAlloc0Bin(slists_bin); 203 208 if (length<=0) 204 209 { … … 249 254 if ((weights!=NULL) && (weights[i]!=NULL)) 250 255 { 251 atSet((idhdl)&L->m[i], mstrdup("isHomog"),weights[i],INTVEC_CMD);256 atSet((idhdl)&L->m[i],omStrDup("isHomog"),weights[i],INTVEC_CMD); 252 257 weights[i] = NULL; 253 258 } … … 263 268 i++; 264 269 } 265 Free((ADDRESS)r,oldlength*sizeof(ideal));270 omFreeSize((ADDRESS)r,oldlength*sizeof(ideal)); 266 271 if (i==0) 267 272 { … … 303 308 return NULL; 304 309 } 305 r=(ideal *) Alloc0((*len)*sizeof(ideal));306 w=(intvec**) Alloc0((*len)*sizeof(intvec*));310 r=(ideal *)omAlloc0((*len)*sizeof(ideal)); 311 w=(intvec**)omAlloc0((*len)*sizeof(intvec*)); 307 312 int i=0; 308 313 *typ0=MODUL_CMD; … … 314 319 { 315 320 Werror("element %d is not of type module",i+1); 316 Free((ADDRESS)r,(*len)*sizeof(ideal));321 omFreeSize((ADDRESS)r,(*len)*sizeof(ideal)); 317 322 return NULL; 318 323 } … … 325 330 } 326 331 r[i]=(ideal)L->m[i].data; 327 tw=(intvec*)atGet((idhdl)&L->m[i], mstrdup("isHomog"));332 tw=(intvec*)atGet((idhdl)&L->m[i],omStrDup("isHomog")); 328 333 if (tw!=NULL) 329 334 { … … 346 351 if (w[j]!=NULL) delete w[j]; 347 352 } 348 Free((ADDRESS)w,(*len)*sizeof(intvec*));353 omFreeSize((ADDRESS)w,(*len)*sizeof(intvec*)); 349 354 } 350 355 else … … 360 365 if (l->nr == -1) 361 366 { 362 if (typed) return mstrdup("list()");363 return mstrdup("");364 } 365 366 char** slist = (char**) Alloc((l->nr+1) * sizeof(char*));367 if (typed) return omStrDup("list()"); 368 return omStrDup(""); 369 } 370 371 char** slist = (char**) omAlloc((l->nr+1) * sizeof(char*)); 367 372 int i, j, k; 368 373 char *s; … … 371 376 slist[i] = l->m[i].String(NULL, typed, dim); 372 377 assume(slist[i] != NULL); 373 mmTestL(slist[i]);378 omCheckAddr(slist[i]); 374 379 if (*(slist[i]) != '\0') 375 380 { … … 378 383 } 379 384 } 380 s = (char*) AllocL(j+k+2+(typed ? 10 : 0) + (dim == 2 ? k : 0));385 s = (char*) omAlloc(j+k+2+(typed ? 10 : 0) + (dim == 2 ? k : 0)); 381 386 382 387 if (typed) … … 393 398 if (dim == 2) strcat(s, "\n"); 394 399 } 395 mmTestL(s);396 FreeL(slist[i]);400 omCheckAddr(s); 401 omFree(slist[i]); 397 402 } 398 403 if (k > 0) s[strlen(s) - (dim == 2 ? 2 : 1)] = '\0'; 399 404 if (typed) strcat(s, ")"); 400 mmTestL(s);401 Free(slist, (l->nr+1) * sizeof(char*));405 omCheckAddr(s); 406 omFreeSize(slist, (l->nr+1) * sizeof(char*)); 402 407 return s; 403 408 }
Note: See TracChangeset
for help on using the changeset viewer.