Changeset 0f0974 in git


Ignore:
Timestamp:
Jun 21, 1999, 6:46:40 PM (24 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
Children:
8c51b6db1c377ec23bece6adf1c29990118edc44
Parents:
092430050dbf6ad127e0cf157b408a5b79bf6403
Message:
* hannes: nGetDenom: access to a denominator
  (algmap.cc longalg.cc longalg.h longrat.cc longrat.h numbers.cc numbers.h)


git-svn-id: file:///usr/local/Singular/svn/trunk@3148 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
Singular
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • Singular/algmap.cc

    r092430 r0f0974  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: algmap.cc,v 1.11 1998-09-22 14:09:00 Singular Exp $ */
     4/* $Id: algmap.cc,v 1.12 1999-06-21 16:46:35 Singular Exp $ */
    55/*
    66* ABSTRACT - the mapping of polynomials from rings with
     
    2828  int i, j, m = r0->N;
    2929
    30   if (naGetDenom(pGetCoeff(p0)) != NULL)
     30  if (naGetDenom0(pGetCoeff(p0)) != NULL)
    3131  {
    3232    *nom = TRUE;
    3333    return res;
    3434  }
    35   a0 = naGetNom(pGetCoeff(p0));
     35  a0 = naGetNom0(pGetCoeff(p0));
    3636  do
    3737  {
     
    4141    {
    4242      pGetCoeff(q0) = (number)Alloc0(sizeof(rnumber));
    43       b0 = naGetNom(pGetCoeff(q0)) = napNew();
     43      b0 = naGetNom0(pGetCoeff(q0)) = napNew();
    4444      napGetCoeff(b0) = nacCopy(napGetCoeff(a0));
    4545      for (i=1; i<=t; i++)
     
    8080  if (s!=0)
    8181  {
    82     if (naGetDenom(pGetCoeff(p0)) != NULL)
     82    if (naGetDenom0(pGetCoeff(p0)) != NULL)
    8383    {
    8484      *nom = TRUE;
    8585      return res;
    8686    }
    87     a0 = naGetNom(pGetCoeff(p0));
     87    a0 = naGetNom0(pGetCoeff(p0));
    8888  }
    8989  q0 = pInit();
     
    117117    if (s==0)
    118118    {
    119       naGetNom(pGetCoeff(q0)) = b0;
     119      naGetNom0(pGetCoeff(q0)) = b0;
    120120      return pAdd(res, q0);
    121121    }
     
    126126  if (pGetCoeff(q0)==NULL)
    127127    pGetCoeff(q0) = (number)Alloc0(sizeof(rnumber));
    128   naGetNom(pGetCoeff(q0)) = b1;
     128  naGetNom0(pGetCoeff(q0)) = b1;
    129129  return pAdd(res, q0);
    130130}
     
    212212      b0 = napNew();
    213213      napGetCoeff(b0) = pGetCoeff(p0);
    214       naGetNom(cc) = b0;
     214      naGetNom0(cc) = b0;
    215215      pMultN(monpart,cc);
    216216      napGetCoeff(b0) = NULL;
     
    224224    return pAdd(res, monpart);
    225225  }
    226   if (naGetDenom(pGetCoeff(p0)) != NULL)
     226  if (naGetDenom0(pGetCoeff(p0)) != NULL)
    227227  {
    228228    *nom = TRUE;
     
    232232    return NULL;
    233233  }
    234   a0 = naGetNom(pGetCoeff(p0));
     234  a0 = naGetNom0(pGetCoeff(p0));
    235235  do
    236236  {
     
    239239    {
    240240      pGetCoeff(q) = (number)Alloc0(sizeof(rnumber));
    241       b0 = naGetNom(pGetCoeff(q)) = napNew();
     241      b0 = naGetNom0(pGetCoeff(q)) = napNew();
    242242      napGetCoeff(b0) = nacCopy(napGetCoeff(a0));
    243243    }
  • Singular/longalg.cc

    r092430 r0f0974  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: longalg.cc,v 1.32 1999-04-23 15:22:25 Singular Exp $ */
     4/* $Id: longalg.cc,v 1.33 1999-06-21 16:46:36 Singular Exp $ */
    55/*
    66* ABSTRACT:   algebraic numbers
     
    25372537}
    25382538
     2539number   naGetDenom(number n)
     2540{
     2541  lnumber x=(lnumber)n;
     2542  if (x->n!=NULL)
     2543  {
     2544    lnumber r=(lnumber)Alloc0(sizeof(rnumber));
     2545    r->z=napCopy(naGetDenom0(x));
     2546    r->s = 2;
     2547    return (number)r;
     2548  }
     2549  return naInit(1);
     2550}
     2551
    25392552#ifdef LDEBUG
    25402553BOOLEAN naDBTest(number a, char *f,int l)
     
    25782591    p = p->ne;
    25792592  }
    2580   p = x->n;
     2593  p = naGetDenom0(x);
    25812594  while(p!=NULL)
    25822595  {
  • Singular/longalg.h

    r092430 r0f0974  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: longalg.h,v 1.7 1999-01-21 15:00:07 Singular Exp $ */
     6/* $Id: longalg.h,v 1.8 1999-06-21 16:46:37 Singular Exp $ */
    77/*
    88* ABSTRACT:   algebraic numbers
     
    9999#define napNew() ((alg)Alloc0(napMonomSize))
    100100#define nanumber lnumber
    101 #define naGetNom(na)  (((nanumber)(na))->z)
    102 #define naGetDenom(na)  (((nanumber)(na))->n)
     101#define naGetNom0(na)  (((nanumber)(na))->z)
     102#define naGetDenom0(na)  (((nanumber)(na))->n)
    103103extern number   (*nacCopy)(number a);
    104104extern BOOLEAN  (*nacIsZero)(number a);
     
    106106extern void     (*nacNormalize)(number &a);
    107107extern void napWrite(alg l);
     108extern number   naGetDenom(number n);
    108109#endif
    109110
  • Singular/longrat.cc

    r092430 r0f0974  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: longrat.cc,v 1.18 1999-04-29 11:38:49 Singular Exp $ */
     4/* $Id: longrat.cc,v 1.19 1999-06-21 16:46:38 Singular Exp $ */
    55/*
    66* ABSTRACT: computation with long rational numbers (Hubert Grassmann)
     
    21012101  return iz;
    21022102}
     2103
     2104number   nlGetDenom(number n)
     2105{
     2106  if (!(SR_HDL(n) & SR_INT))
     2107  {
     2108    if (n->s!=3)
     2109    {
     2110      number r=nlRInit(1);
     2111      mpz_set(&r->z,&n->n);
     2112      return r;
     2113    }
     2114  }
     2115  return nlInit(1);
     2116}
  • Singular/longrat.h

    r092430 r0f0974  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: longrat.h,v 1.10 1998-06-02 15:29:56 Singular Exp $ */
     6/* $Id: longrat.h,v 1.11 1999-06-21 16:46:39 Singular Exp $ */
    77/*
    88* ABSTRACT: computation with long rational numbers
     
    7878int      nlModP(number n, int p);
    7979int      nlSize(number n);
     80number   nlGetDenom(number n);
    8081#ifdef LDEBUG
    8182BOOLEAN  nlDBTest(number a, char *f, int l);
  • Singular/numbers.cc

    r092430 r0f0974  
    22*  Computer Algebra System SINGULAR      *
    33*****************************************/
    4 /* $Id: numbers.cc,v 1.13 1999-05-31 12:08:04 obachman Exp $ */
     4/* $Id: numbers.cc,v 1.14 1999-06-21 16:46:39 Singular Exp $ */
    55
    66/*
     
    5050BOOLEAN (*nIsMOne)(number a);
    5151BOOLEAN (*nGreaterZero)(number a);
    52 void   (*nWrite)(number &a);
    53 char * (*nRead)(char *s,number *a);
    54 void   (*nPower)(number a, int i, number * result);
     52void    (*nWrite)(number &a);
     53char *  (*nRead)(char *s,number *a);
     54void    (*nPower)(number a, int i, number * result);
     55number  (*nGetDenom)(number n);
    5556numberfunc nGcd,nLcm;
    5657BOOLEAN (*nSetMap)(int c,char **par, int nop, number minpol);
     
    8586
    8687number ndIntMod(number a, number b) { return nInit(0); }
     88
     89number ndGetDenom(number n) { return nInit(1); }
    8790
    8891int    nGetChar() { return nChar; }
     
    108111    nParDeg= ndParDeg;
    109112    nSize  = ndSize;
     113    nGetDenom = ndGetDenom;
     114    nName = ndName;
    110115  }
    111116  //Print("n:c=%d compl=%d param=%d\n",c,complete,r->parameter);
     
    153158      nName= naName;
    154159      nSize  = naSize;
     160      nGetDenom = naGetDenom;
    155161#ifdef LDEBUG
    156162      nDBTest=naDBTest;
     
    195201      nLcm  = nlLcm;
    196202      nSetMap = nlSetMap;
    197       nName= ndName;
    198203      nSize  = nlSize;
     204      nGetDenom = nlGetDenom;
    199205#ifdef LDEBUG
    200206      nDBTest=nlDBTest;
     
    240246      nLcm  = ndGcd; /* tricky, isn't it ?*/
    241247      nSetMap = npSetMap;
    242       nName= ndName;
     248      /* nName= ndName; */
    243249      /*nSize  = ndSize;*/
    244250#ifdef LDEBUG
     
    333339      nLcm  = ndGcd; /* tricky, isn't it ?*/
    334340      nSetMap=nrSetMap;
    335       nName=ndName;
     341      /* nName= ndName; */
    336342      /*nSize  = ndSize;*/
    337343#ifdef LDEBUG
     
    378384      nLcm  = ndGcd; /* tricky, isn't it ?*/
    379385      nSetMap=ngfSetMap;
    380       nName=ndName;
     386      /* nName= ndName; */
    381387      /*nSize  = ndSize;*/
    382388#ifdef LDEBUG
     
    422428      nLcm  = ndGcd; /* tricky, isn't it ?*/
    423429      nSetMap=ngcSetMap;
    424       nName=ndName;
    425430      nPar=ngcPar;
    426431      /*nSize  = ndSize;*/
  • Singular/numbers.h

    r092430 r0f0974  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: numbers.h,v 1.6 1999-04-29 11:38:54 Singular Exp $ */
     6/* $Id: numbers.h,v 1.7 1999-06-21 16:46:40 Singular Exp $ */
    77/*
    88* ABSTRACT: interface to coefficient aritmetics
     
    3939               (*nGreaterZero)(number a);
    4040extern void    (*nPower)(number a, int i, number * result);
     41extern number  (*nGetDenom)(number n);
    4142extern numberfunc nGcd, nLcm;
    4243
Note: See TracChangeset for help on using the changeset viewer.