Changeset 0936ad in git


Ignore:
Timestamp:
Feb 27, 2001, 7:11:57 PM (22 years ago)
Author:
Mathias Schulze <mschulze@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '0604212ebb110535022efecad887940825b97c3f')
Children:
c4c09e76adac559bf8a62d01b19240258705f112
Parents:
2d19a1bcc1aee3296e6608f8ae49f22b191d6880
Message:
*mschulze: redNF with parameters


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

Legend:

Unmodified
Added
Removed
  • Singular/iparith.cc

    r2d19a1b r0936ad  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: iparith.cc,v 1.257 2001-02-14 12:31:07 Singular Exp $ */
     4/* $Id: iparith.cc,v 1.258 2001-02-27 18:11:57 mschulze Exp $ */
    55
    66/*
     
    44344434    return TRUE;
    44354435  }
    4436   res->data = (char *)rednf((ideal)v->CopyD(),(poly)u->CopyD(),
     4436  res->data = (char *)redNF((ideal)v->CopyD(),(poly)u->CopyD(),
    44374437    (poly)w->CopyD());
    44384438  return FALSE;
     
    44464446    return TRUE;
    44474447  }
    4448   res->data = (char *)rednf((ideal)v->CopyD(),(ideal)u->CopyD(),
     4448  res->data = (char *)redNF((ideal)v->CopyD(),(ideal)u->CopyD(),
    44494449    (matrix)w->CopyD());
    44504450  return FALSE;
     
    49744974  return r;
    49754975}
     4976static BOOLEAN jjREDUCE5(leftv res, leftv v)
     4977{
     4978  leftv u1=v;
     4979  leftv u2=v->next;
     4980  leftv u3=u2->next;
     4981  leftv u4=u3->next;
     4982  leftv u5=u4->next;
     4983  if((u1->Typ()==IDEAL_CMD)&&(u2->Typ()==IDEAL_CMD)&&(u3->Typ()==MATRIX_CMD)&&
     4984     (u4->Typ()==INT_CMD)&&(u5->Typ()==INTVEC_CMD))
     4985  {
     4986    if(!mpIsDiagUnit((matrix)u3->Data()))
     4987    {
     4988      Werror("3rd argument must be a diagonal matrix of units");
     4989      return FALSE;
     4990    }
     4991    res->rtyp=IDEAL_CMD;
     4992    res->data=(char*)redNF(idCopy((ideal)u2->Data()),idCopy((ideal)u1->Data()),
     4993                           mpCopy((matrix)u3->Data()),
     4994                           (int)u4->Data(),(intvec*)u5->Data());
     4995    return FALSE;
     4996  }
     4997  else
     4998  if((u1->Typ()==POLY_CMD)&&(u2->Typ()==IDEAL_CMD)&&(u3->Typ()==POLY_CMD)&&
     4999     (u4->Typ()==INT_CMD)&&(u5->Typ()==INTVEC_CMD))
     5000  {
     5001    if(!pIsUnit((poly)u3->Data()))
     5002    {
     5003      Werror("3rd argument must be a unit");
     5004      return FALSE;
     5005    }
     5006    res->rtyp=POLY_CMD;
     5007    res->data=(char*)redNF(idCopy((ideal)u2->Data()),pCopy((poly)u1->Data()),
     5008                           pCopy((poly)u3->Data()),
     5009                           (int)u4->Data(),(intvec*)u5->Data());
     5010    return FALSE;
     5011  }
     5012  else
     5013  {
     5014    Werror("%s(`ideal`,`ideal`,`matrix`,`int`,`intvec`) exppected",
     5015           Tok2Cmdname(iiOp));
     5016    return TRUE;
     5017  }
     5018}
    49765019static BOOLEAN jjRESERVED0(leftv res, leftv v)
    49775020{
     
    52135256,{jjCALL3ARG,  REDUCE_CMD,      IDEAL_CMD/*or set by p*/,          3  }
    52145257,{jjREDUCE4,   REDUCE_CMD,      IDEAL_CMD/*or set by p*/,          4  }
     5258,{jjREDUCE5,   REDUCE_CMD,      IDEAL_CMD/*or set by p*/,          5  }
    52155259,{jjCALL1ARG,  RESERVEDNAME_CMD, INT_CMD,            1 }
    52165260,{jjRESERVED0, RESERVEDNAME_CMD, NONE,               0 }
Note: See TracChangeset for help on using the changeset viewer.