Changeset 8d0331d in git


Ignore:
Timestamp:
Apr 29, 2010, 11:35:00 AM (13 years ago)
Author:
Frank Seelisch <seelisch@…>
Branches:
(u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
Children:
14b11bba0b33b67ddc0e94233db4a7517190715e
Parents:
bd6142c14705f6b8f27233e5ed1c2e662e4688a2
git-author:
Frank Seelisch <seelisch@mathematik.uni-kl.de>2010-04-29 11:35:00+02:00
git-committer:
Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 11:50:23+01:00
Message:
changed Z/n and Z/2^m files
Location:
coeffs
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • coeffs/numbers.cc

    rbd6142 r8d0331d  
    368368     n->nGetUnit = nrnGetUnit;
    369369     n->nExtGcd = nrnExtGcd;
    370      n->nName= ndName;
     370     n->nName= nrnName;
    371371#ifdef LDEBUG
    372372     n->nDBTest=nrnDBTest;
  • coeffs/rmodulo2m.cc

    rbd6142 r8d0331d  
    88
    99#include <string.h>
    10 #include <kernel/mod2.h>
     10#include "config.h"
    1111
    1212#ifdef HAVE_RINGS
    13 #include <omalloc/mylimits.h>
    14 #include <kernel/structs.h>
    15 #include <kernel/febase.h>
    16 #include <omalloc/omalloc.h>
    17 #include <kernel/numbers.h>
    18 #include <kernel/longrat.h>
    19 #include <kernel/mpr_complex.h>
    20 #include <kernel/ring.h>
    21 #include <kernel/rmodulo2m.h>
    22 #include <kernel/si_gmp.h>
     13#include <mylimits.h>
     14#include "coeffs.h"
     15#include "output.h"
     16#include "omalloc.h"
     17#include "numbers.h"
     18#include "longrat.h"
     19#include "mpr_complex.h"
     20#include "rmodulo2m.h"
     21#include "si_gmp.h"
    2322
    2423int nr2mExp;
     
    644643}
    645644#endif
     645/* #ifdef HAVE_RINGS */
  • coeffs/rmodulo2m.h

    rbd6142 r8d0331d  
    1515                               bit pattern '11..1' of length m */
    1616
    17 number  nr2mCopy        (number a);
    18 BOOLEAN nr2mGreaterZero (number k);
    19 number  nr2mMult        (number a, number b);
    20 number  nr2mInit        (int i, const ring r);
    21 int     nr2mInt         (number &n, const ring r);
    22 number  nr2mAdd         (number a, number b);
    23 number  nr2mSub         (number a, number b);
    24 void    nr2mPower       (number a, int i, number * result);
    25 BOOLEAN nr2mIsZero      (number a);
    26 BOOLEAN nr2mIsOne       (number a);
    27 BOOLEAN nr2mIsMOne      (number a);
    28 BOOLEAN nr2mIsUnit      (number a);
    29 number  nr2mGetUnit     (number a);
    30 number  nr2mDiv         (number a, number b);
    31 number  nr2mIntDiv      (number a,number b);
    32 number  nr2mMod         (number a,number b);
    33 number  nr2mNeg         (number c);
    34 number  nr2mInvers      (number c);
    35 BOOLEAN nr2mGreater     (number a, number b);
    36 BOOLEAN nr2mDivBy       (number a, number b);
    37 int     nr2mDivComp     (number a, number b);
    38 BOOLEAN nr2mEqual       (number a, number b);
    39 number  nr2mLcm         (number a,number b, ring r);
    40 number  nr2mGcd         (number a,number b,ring r);
    41 number  nr2mExtGcd      (number a, number b, number *s, number *t);
     17number  nr2mCopy        (number a, const coeffs r);
     18BOOLEAN nr2mGreaterZero (number k, const coeffs r);
     19number  nr2mMult        (number a, number b, const coeffs r);
     20number  nr2mInit        (int i, const coeffs r);
     21int     nr2mInt         (number &n, const coeffs r);
     22number  nr2mAdd         (number a, number b, const coeffs r);
     23number  nr2mSub         (number a, number b, const coeffs r);
     24void    nr2mPower       (number a, int i, number * result, const coeffs r);
     25BOOLEAN nr2mIsZero      (number a, const coeffs r);
     26BOOLEAN nr2mIsOne       (number a, const coeffs r);
     27BOOLEAN nr2mIsMOne      (number a, const coeffs r);
     28BOOLEAN nr2mIsUnit      (number a, const coeffs r);
     29number  nr2mGetUnit     (number a, const coeffs r);
     30number  nr2mDiv         (number a, number b, const coeffs r);
     31number  nr2mIntDiv      (number a,number b, const coeffs r);
     32number  nr2mMod         (number a,number b, const coeffs r);
     33number  nr2mNeg         (number c, const coeffs r);
     34number  nr2mInvers      (number c, const coeffs r);
     35BOOLEAN nr2mGreater     (number a, number b, const coeffs r);
     36BOOLEAN nr2mDivBy       (number a, number b, const coeffs r);
     37int     nr2mDivComp     (number a, number b, const coeffs r);
     38BOOLEAN nr2mEqual       (number a, number b, const coeffs r);
     39number  nr2mLcm         (number a, number b, const coeffs r);
     40number  nr2mGcd         (number a, number b, const coeffs r);
     41number  nr2mExtGcd      (number a, number b, number *s, number *t, const coeffs r);
    4242nMapFunc nr2mSetMap     (const ring src, const ring dst);
    43 void    nr2mWrite       (number &a, const ring r);
    44 const char *  nr2mRead  (const char *s, number *a);
    45 char *  nr2mName        (number n);
     43void    nr2mWrite       (number &a, const coeffs r);
     44const char *  nr2mRead  (const char *s, number *a, const coeffs r);
     45char *  nr2mName        (number n, const coeffs r);
    4646#ifdef LDEBUG
    47 BOOLEAN nr2mDBTest      (number a, const char *f, const int l);
     47BOOLEAN nr2mDBTest      (number a, const char *f, const int l, const coeffs r);
    4848#endif
    49 void    nr2mSetExp(int c, const ring r);
    50 void    nr2mInitExp(int c, const ring r);
     49void    nr2mSetExp(int c, const coeffs r);
     50void    nr2mInitExp(int c, const coeffs r);
    5151
    5252
    53 static inline number nr2mMultM(number a, number b)
     53static inline number nr2mMultM(number a, number b, const coeffs r)
    5454{
    5555  return (number)
    56     ((((NATNUMBER) a) * ((NATNUMBER) b)) & ((NATNUMBER) currRing->nr2mModul));
     56    ((((NATNUMBER) a) * ((NATNUMBER) b)) & ((NATNUMBER) r->nr2mModul));
    5757}
    5858
    59 static inline number nr2mAddM(number a, number b)
     59static inline number nr2mAddM(number a, number b, const coeffs r)
    6060{
    6161  return (number)
    62     ((((NATNUMBER) a) + ((NATNUMBER) b)) & ((NATNUMBER) currRing->nr2mModul));
     62    ((((NATNUMBER) a) + ((NATNUMBER) b)) & ((NATNUMBER) r->nr2mModul));
    6363}
    6464
    65 static inline number nr2mSubM(number a, number b)
     65static inline number nr2mSubM(number a, number b, const coeffs r)
    6666{
    67   return (number)((NATNUMBER)a < (NATNUMBER)b ?
    68                      currRing->nr2mModul - (NATNUMBER)b + (NATNUMBER)a + 1 :
    69                      (NATNUMBER)a - (NATNUMBER)b);
     67  return (number)((NATNUMBER)a<(NATNUMBER)b ?
     68                       r->nr2mModul-(NATNUMBER)b+(NATNUMBER)a + 1: (NATNUMBER)a-(NATNUMBER)b);
    7069}
    7170
    72 #define nr2mNegM(A) (number)(currRing->nr2mModul - (NATNUMBER)(A) + 1)
     71#define nr2mNegM(A,r) (number)(r->nr2mModul-(NATNUMBER)(A) + 1)
    7372#define nr2mEqualM(A,B)  ((A)==(B))
    7473
    75 number nr2mMapQ(number from);
    7674#endif
    7775#endif
  • coeffs/rmodulon.cc

    rbd6142 r8d0331d  
    88
    99#include <string.h>
    10 #include <kernel/mod2.h>
    11 #include <omalloc/mylimits.h>
    12 #include <kernel/structs.h>
    13 #include <kernel/febase.h>
    14 #include <omalloc/omalloc.h>
    15 #include <kernel/numbers.h>
    16 #include <kernel/longrat.h>
    17 #include <kernel/mpr_complex.h>
    18 #include <kernel/ring.h>
    19 #include <kernel/rmodulon.h>
    20 #include <kernel/si_gmp.h>
     10#include "config.h"
    2111
    2212#ifdef HAVE_RINGS
    23   extern omBin gmp_nrz_bin;
     13#include <mylimits.h>
     14#include "coeffs.h"
     15#include "output.h"
     16#include "omalloc.h"
     17#include "numbers.h"
     18#include "longrat.h"
     19#include "mpr_complex.h"
     20#include "rmodulon.h"
     21#include "si_gmp.h"
     22
     23extern omBin gmp_nrz_bin;
    2424
    2525int_number nrnMinusOne = NULL;
     
    570570}
    571571#endif
     572/* #ifdef HAVE_RINGS */
  • coeffs/rmodulon.h

    rbd6142 r8d0331d  
    1515#endif
    1616
    17 number  nrnCopy        (number a);
    1817number  cfrnCopy       (number a, const ring r);
    19 int     nrnSize        (number a);
     18int     nrnSize        (number a, const ring r);
    2019void    nrnDelete      (number *a, const ring r);
    21 BOOLEAN nrnGreaterZero (number k);
    22 number  nrnMult        (number a, number b);
     20BOOLEAN nrnGreaterZero (number k, const ring r);
     21number  nrnMult        (number a, number b, const ring r);
    2322number  nrnInit        (int i, const ring r);
    2423int     nrnInt         (number &n, const ring r);
    25 number  nrnAdd         (number a, number b);
    26 number  nrnSub         (number a, number b);
    27 void    nrnPower       (number a, int i, number * result);
    28 BOOLEAN nrnIsZero      (number a);
    29 BOOLEAN nrnIsOne       (number a);
    30 BOOLEAN nrnIsMOne      (number a);
    31 BOOLEAN nrnIsUnit      (number a);
    32 number  nrnGetUnit     (number a);
    33 number  nrnDiv         (number a, number b);
    34 number  nrnMod         (number a,number b);
    35 number  nrnIntDiv      (number a,number b);
    36 number  nrnNeg         (number c);
    37 number  nrnInvers      (number c);
    38 BOOLEAN nrnGreater     (number a, number b);
    39 BOOLEAN nrnDivBy       (number a, number b);
    40 int     nrnDivComp     (number a, number b);
    41 BOOLEAN nrnEqual       (number a, number b);
    42 number  nrnLcm         (number a,number b, ring r);
    43 number  nrnGcd         (number a,number b,ring r);
    44 number  nrnExtGcd      (number a, number b, number *s, number *t);
     24number  nrnAdd         (number a, number b, const ring r);
     25number  nrnSub         (number a, number b, const ring r);
     26void    nrnPower       (number a, int i, number * result, const ring r);
     27BOOLEAN nrnIsZero      (number a, const ring r);
     28BOOLEAN nrnIsOne       (number a, const ring r);
     29BOOLEAN nrnIsMOne      (number a, const ring r);
     30BOOLEAN nrnIsUnit      (number a, const ring r);
     31number  nrnGetUnit     (number a, const ring r);
     32number  nrnDiv         (number a, number b, const ring r);
     33number  nrnMod         (number a,number b, const ring r);
     34number  nrnIntDiv      (number a,number b, const ring r);
     35number  nrnNeg         (number c, const ring r);
     36number  nrnInvers      (number c, const ring r);
     37BOOLEAN nrnGreater     (number a, number b, const ring r);
     38BOOLEAN nrnDivBy       (number a, number b, const ring r);
     39int     nrnDivComp     (number a, number b, const ring r);
     40BOOLEAN nrnEqual       (number a, number b, const ring r);
     41number  nrnLcm         (number a,number b, const ring r);
     42number  nrnGcd         (number a,number b, const ring r);
     43number  nrnExtGcd      (number a, number b, number *s, number *t, const ring r);
    4544nMapFunc nrnSetMap     (const ring src, const ring dst);
    4645#define  nrnWrite      nrzWrite
    47 const char *  nrnRead  (const char *s, number *a);
    48 char *  nrnName        (number n);
     46const char *  nrnRead  (const char *s, number *a, const ring r);
     47char *  nrnName        (number n, const ring r);
    4948#ifdef LDEBUG
    50 BOOLEAN nrnDBTest      (number a, const char *f, const int l);
     49BOOLEAN nrnDBTest      (number a, const char *f, const int l, const ring r);
    5150#endif
    52 void    nrnSetExp(int c, ring r);
    53 void    nrnInitExp(int c, ring r);
     51void    nrnSetExp(int c, const ring r);
     52void    nrnInitExp(int c, const ring r);
    5453
    55 number nrnMapQ(number from);
    56 number nrnMapGMP(number from);
    5754#endif
    5855#endif
Note: See TracChangeset for help on using the changeset viewer.