Changeset d5a51a in git


Ignore:
Timestamp:
Mar 3, 1999, 5:58:09 PM (25 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
Children:
f6eebb578332a2cc6857c866460671e3d9373120
Parents:
f7343f357a06c50ebc347cc64f33a37193d88d12
Message:
*hannes: 1. try to fix bareiss/classify_l.tst


git-svn-id: file:///usr/local/Singular/svn/trunk@2881 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/sparsmat.cc

    rf7343f rd5a51a  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: sparsmat.cc,v 1.2 1999-02-24 13:25:19 pohl Exp $ */
     4/* $Id: sparsmat.cc,v 1.3 1999-03-03 16:58:09 Singular Exp $ */
    55
    66/*
     
    187187  }
    188188  sparse_mat *bareiss = new sparse_mat(II);
     189  ideal mm=II;
    189190  intvec *v;
    190191  ideal m;
    191192
    192   idDelete(&II);
    193193  if (bareiss->smGetAct() == NULL)
    194194  {
    195     Free((ADDRESS)res, sizeof(slists));
    196195    if (origR!=NULL)
    197196    {
     
    202201      Free((ADDRESS)tmpR.block1,3*sizeof(int));
    203202    }
    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));
    225203  }
    226204  else
    227205  {
    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    }
    229230  }
    230231  res->Init(2);
     
    249250  {
    250251    m_act = NULL;
    251     WerrorS("module expected");
    252252    return;
    253253  }
Note: See TracChangeset for help on using the changeset viewer.