Changeset d5a51a in git
- Timestamp:
- Mar 3, 1999, 5:58:09 PM (25 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- f6eebb578332a2cc6857c866460671e3d9373120
- Parents:
- f7343f357a06c50ebc347cc64f33a37193d88d12
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/sparsmat.cc
rf7343f rd5a51a 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: sparsmat.cc,v 1. 2 1999-02-24 13:25:19 pohlExp $ */4 /* $Id: sparsmat.cc,v 1.3 1999-03-03 16:58:09 Singular Exp $ */ 5 5 6 6 /* … … 187 187 } 188 188 sparse_mat *bareiss = new sparse_mat(II); 189 ideal mm=II; 189 190 intvec *v; 190 191 ideal m; 191 192 192 idDelete(&II);193 193 if (bareiss->smGetAct() == NULL) 194 194 { 195 Free((ADDRESS)res, sizeof(slists));196 195 if (origR!=NULL) 197 196 { … … 202 201 Free((ADDRESS)tmpR.block1,3*sizeof(int)); 203 202 } 204 return NULL;205 }206 bareiss->smNewBareiss(x, y);207 m = bareiss->smRes2Mod();208 v = new intvec(bareiss->smGetRed());209 bareiss->smToIntvec(v);210 delete bareiss;211 ideal mm;212 if (origR!=NULL)213 {214 rChangeCurrRing(origR,TRUE);215 mm=idInit(IDELEMS(m),m->rank);216 int k;217 for (k=0;k<IDELEMS(m);k++) mm->m[k] = pFetchCopy(origR, m->m[k]);218 rChangeCurrRing(&tmpR,FALSE);219 idDelete(&m);220 rChangeCurrRing(origR,TRUE);221 rUnComplete(&tmpR);222 Free((ADDRESS)tmpR.order,3*sizeof(int));223 Free((ADDRESS)tmpR.block0,3*sizeof(int));224 Free((ADDRESS)tmpR.block1,3*sizeof(int));225 203 } 226 204 else 227 205 { 228 mm=m; 206 idDelete(&II); 207 bareiss->smNewBareiss(x, y); 208 m = bareiss->smRes2Mod(); 209 v = new intvec(bareiss->smGetRed()); 210 bareiss->smToIntvec(v); 211 delete bareiss; 212 if (origR!=NULL) 213 { 214 rChangeCurrRing(origR,TRUE); 215 mm=idInit(IDELEMS(m),m->rank); 216 int k; 217 for (k=0;k<IDELEMS(m);k++) mm->m[k] = pFetchCopy(origR, m->m[k]); 218 rChangeCurrRing(&tmpR,FALSE); 219 idDelete(&m); 220 rChangeCurrRing(origR,TRUE); 221 rUnComplete(&tmpR); 222 Free((ADDRESS)tmpR.order,3*sizeof(int)); 223 Free((ADDRESS)tmpR.block0,3*sizeof(int)); 224 Free((ADDRESS)tmpR.block1,3*sizeof(int)); 225 } 226 else 227 { 228 mm=m; 229 } 229 230 } 230 231 res->Init(2); … … 249 250 { 250 251 m_act = NULL; 251 WerrorS("module expected");252 252 return; 253 253 }
Note: See TracChangeset
for help on using the changeset viewer.