Changeset a13807a in git
- Timestamp:
- Sep 15, 2022, 3:17:58 PM (19 months ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 579253660d6640785b2a43171e9c80480929e4df
- Parents:
- 2229707f741b0ae4fd0a2f393ff9931d9d1cf9cc
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2022-09-15 15:17:58+02:00
- git-committer:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2022-09-15 15:20:08+02:00
- Location:
- Singular
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/lists.cc
r222970 ra13807a 34 34 lists N=(lists)omAlloc0Bin(slists_bin); 35 35 int n=L->nr; 36 if ( L->nr>=0)36 if (n>=0) 37 37 N->Init(n+1); 38 38 else … … 172 172 l->Init(EndIndex+(VIndex>EndIndex)); 173 173 174 for(i=j=0;i<=EndIndex;i++,j++) 175 { 176 if (i!=VIndex) 177 { 178 l->m[j]=ul->m[i]; 179 memset(&ul->m[i],0,sizeof(ul->m[i])); 180 } 181 else 182 { 183 j--; 184 ul->m[i].CleanUp(); 185 } 174 ul->m[VIndex].CleanUp(); 175 for(i=0;i<VIndex;i++) 176 { 177 l->m[i]=ul->m[i]; 178 } 179 for(i=VIndex+1;i<=ul->nr;i++) 180 { 181 l->m[i-1]=ul->m[i]; 186 182 } 187 183 omFreeSize((ADDRESS)ul->m,(ul->nr+1)*sizeof(sleftv)); … … 192 188 Werror("wrong index %d in list(%d)",VIndex+1,ul->nr+1); 193 189 return TRUE; 190 } 191 192 BOOLEAN lDeleteIV(leftv res, leftv u, leftv v) 193 { 194 lists ul=(lists)u->CopyD(); 195 intvec* vl=(intvec*)v->Data(); 196 int i,j,cnt; 197 cnt=0; 198 for(i=vl->length()-1;i>=0;i--) 199 { 200 j=(*vl)[i]; 201 if ((j>0)&&(j<=ul->nr)) 202 { 203 cnt++; 204 ul->m[j-1].CleanUp(); 205 memcpy(&(ul->m[j-1]),&(ul->m[j]),(ul->nr-j+1)*sizeof(sleftv)); 206 ul->m[ul->nr].rtyp=DEF_CMD; 207 ul->m[ul->nr].data=NULL; 208 } 209 } 210 if ((cnt*2>=ul->nr)||(cnt*sizeof(sleftv)>=1024)) 211 { 212 ul->m=(leftv)omReallocSize(ul->m,(ul->nr+1)*sizeof(sleftv),(ul->nr-cnt+1)*sizeof(sleftv)); 213 ul->nr -= cnt; 214 } 215 res->data = (char *)ul; 216 return FALSE; 194 217 } 195 218 -
Singular/lists.h
r222970 ra13807a 56 56 BOOLEAN lAppend(leftv res, leftv u, leftv v); 57 57 BOOLEAN lDelete(leftv res, leftv u, leftv v); 58 BOOLEAN lDeleteIV(leftv res, leftv u, leftv v); 58 59 BOOLEAN lAdd(leftv res, leftv u, leftv v); 59 60 BOOLEAN lRingDependend(lists L);
Note: See TracChangeset
for help on using the changeset viewer.