Changeset 7eea80 in git


Ignore:
Timestamp:
Jun 22, 1999, 10:09:20 AM (24 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
Children:
de9f10b65f04052f4de45eda113954564485adf9
Parents:
0cfdd00ca1d89e02fae30f623baf682b36dc304f
Message:
*hannes: changed nGetDenom


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

Legend:

Unmodified
Added
Removed
  • Singular/longalg.cc

    r0cfdd0 r7eea80  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: longalg.cc,v 1.33 1999-06-21 16:46:36 Singular Exp $ */
     4/* $Id: longalg.cc,v 1.34 1999-06-22 08:09:14 Singular Exp $ */
    55/*
    66* ABSTRACT:   algebraic numbers
     
    25372537}
    25382538
    2539 number   naGetDenom(number n)
    2540 {
     2539number   naGetDenom(number &n)
     2540{
     2541  naNormalize(n);
    25412542  lnumber x=(lnumber)n;
    25422543  if (x->n!=NULL)
  • Singular/longalg.h

    r0cfdd0 r7eea80  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: longalg.h,v 1.8 1999-06-21 16:46:37 Singular Exp $ */
     6/* $Id: longalg.h,v 1.9 1999-06-22 08:09:16 Singular Exp $ */
    77/*
    88* ABSTRACT:   algebraic numbers
     
    106106extern void     (*nacNormalize)(number &a);
    107107extern void napWrite(alg l);
    108 extern number   naGetDenom(number n);
     108extern number   naGetDenom(number &n);
    109109#endif
    110110
  • Singular/longrat.cc

    r0cfdd0 r7eea80  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: longrat.cc,v 1.19 1999-06-21 16:46:38 Singular Exp $ */
     4/* $Id: longrat.cc,v 1.20 1999-06-22 08:09:18 Singular Exp $ */
    55/*
    66* ABSTRACT: computation with long rational numbers (Hubert Grassmann)
     
    21022102}
    21032103
    2104 number   nlGetDenom(number n)
     2104/*2
     2105* acces to denominator, other 1 for integers
     2106*/
     2107number   nlGetDenom(number &n)
    21052108{
    21062109  if (!(SR_HDL(n) & SR_INT))
    21072110  {
    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 }
     2111    if (n->s==0)
     2112    {
     2113      nlNormalize(n);
     2114    }
     2115    if (!(SR_HDL(n) & SR_INT))
     2116    {
     2117      if (n->s!=3)
     2118      {
     2119        number u=(number)Alloc(sizeof(rnumber));
     2120        u->s=3;
     2121        #ifdef LDEBUG
     2122        u->debug=123456;
     2123        #endif
     2124
     2125        mpz_init_set(&u->z,&n->n);
     2126        {
     2127          int ui=(int)mpz_get_si(&u->z);
     2128          if ((((ui<<3)>>3)==ui)
     2129          && (mpz_cmp_si(&u->z,(long)ui)==0))
     2130          {
     2131            mpz_clear(&u->z);
     2132            Free((ADDRESS)u,sizeof(rnumber));
     2133            return INT_TO_SR(ui);
     2134          }
     2135        }
     2136        return u;
     2137      }
     2138    }
     2139  }
     2140  return INT_TO_SR(1);
     2141}
  • Singular/longrat.h

    r0cfdd0 r7eea80  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: longrat.h,v 1.11 1999-06-21 16:46:39 Singular Exp $ */
     6/* $Id: longrat.h,v 1.12 1999-06-22 08:09:18 Singular Exp $ */
    77/*
    88* ABSTRACT: computation with long rational numbers
     
    7878int      nlModP(number n, int p);
    7979int      nlSize(number n);
    80 number   nlGetDenom(number n);
     80number   nlGetDenom(number &n);
    8181#ifdef LDEBUG
    8282BOOLEAN  nlDBTest(number a, char *f, int l);
  • Singular/numbers.cc

    r0cfdd0 r7eea80  
    22*  Computer Algebra System SINGULAR      *
    33*****************************************/
    4 /* $Id: numbers.cc,v 1.14 1999-06-21 16:46:39 Singular Exp $ */
     4/* $Id: numbers.cc,v 1.15 1999-06-22 08:09:19 Singular Exp $ */
    55
    66/*
     
    5353char *  (*nRead)(char *s,number *a);
    5454void    (*nPower)(number a, int i, number * result);
    55 number  (*nGetDenom)(number n);
     55number  (*nGetDenom)(number &n);
    5656numberfunc nGcd,nLcm;
    5757BOOLEAN (*nSetMap)(int c,char **par, int nop, number minpol);
     
    8787number ndIntMod(number a, number b) { return nInit(0); }
    8888
    89 number ndGetDenom(number n) { return nInit(1); }
     89number ndGetDenom(number &n) { return nInit(1); }
    9090
    9191int    nGetChar() { return nChar; }
  • Singular/numbers.h

    r0cfdd0 r7eea80  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: numbers.h,v 1.7 1999-06-21 16:46:40 Singular Exp $ */
     6/* $Id: numbers.h,v 1.8 1999-06-22 08:09:20 Singular Exp $ */
    77/*
    88* ABSTRACT: interface to coefficient aritmetics
     
    3939               (*nGreaterZero)(number a);
    4040extern void    (*nPower)(number a, int i, number * result);
    41 extern number  (*nGetDenom)(number n);
     41extern number  (*nGetDenom)(number &n);
    4242extern numberfunc nGcd, nLcm;
    4343
Note: See TracChangeset for help on using the changeset viewer.