Changeset c90b43 in git


Ignore:
Timestamp:
May 6, 2009, 2:53:49 PM (14 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a657104b677b4c461d018cbf3204d72d34ad66a9')
Children:
f16a76d72e29ae88bdd1b8cd60bff79fb200f3cd
Parents:
63f9d7f203418a51870fe958f2fbc8332b67925c
Message:
*hannes: HAVE_RINGS only


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

Legend:

Unmodified
Added
Removed
  • Singular/mod2.h.in

    r63f9d7 rc90b43  
    66 *          DO NOT EDIT!
    77 *
    8  *  Version: $Id: mod2.h.in,v 1.140 2009-05-06 10:29:59 Singular Exp $
     8 *  Version: $Id: mod2.h.in,v 1.141 2009-05-06 12:53:17 Singular Exp $
    99 *******************************************************************/
    1010#ifndef MOD2_H
     
    204204#define HAVE_RINGS
    205205
    206 #ifdef HAVE_RINGS
    207 #define HAVE_RING2TOM
    208 #define HAVE_RINGMODN
    209 #define HAVE_RINGZ
    210 #endif
    211 
    212206/* procedures to compute with units */
    213207#define HAVE_UNITS
  • kernel/kstd2.cc

    r63f9d7 rc90b43  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: kstd2.cc,v 1.85 2009-04-23 16:24:08 Singular Exp $ */
     4/* $Id: kstd2.cc,v 1.86 2009-05-06 12:53:48 Singular Exp $ */
    55/*
    66*  ABSTRACT -  Kernel: alg. of Buchberger
     
    148148}
    149149
    150 #ifdef HAVE_RING2TOM
     150#ifdef HAVE_RINGS
    151151NATNUMBER factorial(NATNUMBER arg)
    152152{
  • kernel/kutil.cc

    r63f9d7 rc90b43  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: kutil.cc,v 1.136 2009-04-23 17:39:31 Singular Exp $ */
     4/* $Id: kutil.cc,v 1.137 2009-05-06 12:53:48 Singular Exp $ */
    55/*
    66* ABSTRACT: kernel: utils for kStd
     
    2222#endif
    2323
    24 #ifdef HAVE_RING2TOM
     24#ifdef HAVE_RINGS
    2525#include "ideals.h"
    2626#endif
     
    24872487#endif
    24882488
    2489 #ifdef HAVE_RING2TOM
     2489#ifdef HAVE_RINGS
    24902490long ind2(long arg)
    24912491{
  • kernel/kutil.h

    r63f9d7 rc90b43  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: kutil.h,v 1.43 2009-03-18 16:56:02 Singular Exp $ */
     6/* $Id: kutil.h,v 1.44 2009-05-06 12:53:48 Singular Exp $ */
    77/*
    88* ABSTRACT: kernel: utils for kStd
     
    415415void superenterpairs (poly h,int k,int ecart,int pos,kStrategy strat, int atR = -1);
    416416poly kCreateZeroPoly(long exp[], long cabsind, poly* t_p, ring leadRing, ring tailRing);
    417 #endif
    418 #ifdef HAVE_RING2TOM
    419417long ind2(long arg);
     418
    420419long ind_fact_2(long arg);
    421420long twoPow(long arg);
  • kernel/mod2.h.in

    r63f9d7 rc90b43  
    66 *          DO NOT EDIT!
    77 *
    8  *  Version: $Id: mod2.h.in,v 1.32 2009-05-06 10:29:59 Singular Exp $
     8 *  Version: $Id: mod2.h.in,v 1.33 2009-05-06 12:53:48 Singular Exp $
    99 *******************************************************************/
    1010#ifndef MOD2_H
     
    204204#define HAVE_RINGS
    205205
    206 #ifdef HAVE_RINGS
    207 #define HAVE_RING2TOM
    208 #define HAVE_RINGMODN
    209 #define HAVE_RINGZ
    210 #endif
    211 
    212206/* procedures to compute with units */
    213207#define HAVE_UNITS
  • kernel/numbers.cc

    r63f9d7 rc90b43  
    22*  Computer Algebra System SINGULAR      *
    33*****************************************/
    4 /* $Id: numbers.cc,v 1.20 2008-12-09 08:59:32 Singular Exp $ */
     4/* $Id: numbers.cc,v 1.21 2009-05-06 12:53:48 Singular Exp $ */
    55
    66/*
     
    2323#include "ffields.h"
    2424#include "shortfl.h"
    25 #ifdef HAVE_RING2TOM
     25#ifdef HAVE_RINGS
    2626#include "rmodulo2m.h"
    27 #endif
    28 #ifdef HAVE_RINGMODN
    2927#include "rmodulon.h"
    30 #endif
    31 #ifdef HAVE_RINGZ
    3228#include "rintegers.h"
    3329#endif
     
    137133
    138134  n__Delete= r->cf->cfDelete;
    139  
     135
    140136  /*--------------------- Q -----------------*/
    141137  if (rField_is_Q(r))
     
    150146    if (rField_is_Zp_a()) nInit_bigint=naMap0P;
    151147  }
    152 #ifdef HAVE_RING2TOM
     148#ifdef HAVE_RINGS
    153149  /*----------------------ring Z / 2^m----------------*/
    154150  else if (rField_is_Ring_2toM(r))
     
    157153    nInit_bigint=nr2mMapQ;
    158154  }
    159 #endif 
    160 #ifdef HAVE_RINGZ
    161155  /*----------------------ring Z / 2^m----------------*/
    162156  else if (rField_is_Ring_Z(r))
     
    165159    nInit_bigint=nrzMapQ;
    166160  }
    167 #endif 
    168 #ifdef HAVE_RINGMODN
    169161  /*----------------------ring Z / n----------------*/
    170162  else if (rField_is_Ring_ModN(r))
     
    173165    nInit_bigint=nrnMapQ;
    174166  }
    175 #endif
    176 #ifdef HAVE_RINGMODN
    177167  /*----------------------ring Z / n----------------*/
    178168  else if (rField_is_Ring_PtoM(r))
     
    364354#endif
    365355  }
    366 #ifdef HAVE_RING2TOM
     356#ifdef HAVE_RINGS
    367357  /* -------------- Z/2^m ----------------------- */
    368358  else if (rField_is_Ring_2toM(r))
     
    403393#endif
    404394  }
    405 #endif
    406 #ifdef HAVE_RINGMODN
    407395  /* -------------- Z/n ----------------------- */
    408396  else if (rField_is_Ring_ModN(r) || rField_is_Ring_PtoM(r)
     
    447435#endif
    448436  }
    449 #endif
    450 #ifdef HAVE_RINGZ
    451437  /* -------------- Z ----------------------- */
    452438  else if (rField_is_Ring_Z(r))
     
    733719            case n_Zp:
    734720                 #ifdef HAVE_DIV_MOD
    735                 if (r->cf->npInvTable!=NULL)
     721                if (r->cf->npInvTable!=NULL)
    736722                 omFreeSize( (ADDRESS)r->cf->npInvTable,
    737723                             r->cf->npPrimeM*sizeof(CARDINAL) );
    738724                 #else
    739                 if (r->cf->npExpTable!=NULL)
    740                 {
     725                if (r->cf->npExpTable!=NULL)
     726                {
    741727                   omFreeSize( (ADDRESS)r->cf->npExpTable,
    742728                               r->cf->npPrimeM*sizeof(CARDINAL) );
    743729                   omFreeSize( (ADDRESS)r->cf->npLogTable,
    744730                               r->cf->npPrimeM*sizeof(CARDINAL) );
    745                  }
     731                 }
    746732                 #endif
    747733                 break;
    748             case n_Zp_a:
    749             case n_Q_a:
    750                  {
    751                    number n=r->minpoly;
    752                    if (n!=NULL)
    753                    {
    754                      r->minpoly=NULL;
    755                      if (r==currRing) naMinimalPoly=NULL;
    756                      naDelete(&n,r);
    757                    }
    758                 }
    759                 break;
     734            case n_Zp_a:
     735            case n_Q_a:
     736                 {
     737                   number n=r->minpoly;
     738                   if (n!=NULL)
     739                   {
     740                     r->minpoly=NULL;
     741                     if (r==currRing) naMinimalPoly=NULL;
     742                     naDelete(&n,r);
     743                   }
     744                }
     745                break;
    760746
    761747            default:
  • kernel/ring.cc

    r63f9d7 rc90b43  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ring.cc,v 1.116 2009-04-03 20:02:20 motsak Exp $ */
     4/* $Id: ring.cc,v 1.117 2009-05-06 12:53:49 Singular Exp $ */
    55
    66/*
     
    287287  {
    288288    PrintS("//   coeff. ring is : ");
    289 #ifdef HAVE_RINGZ
    290289    if (rField_is_Ring_Z(r)) PrintS("Integers\n");
    291 #endif
    292290    int l = mpz_sizeinbase(r->ringflaga, 10) + 2;
    293291    char* s = (char*) omAlloc(l);
    294292    mpz_get_str(s,10,r->ringflaga);
    295 #ifdef HAVE_RINGMODN
    296293    if (rField_is_Ring_ModN(r)) Print("Z/%s\n", s);
    297 #endif
    298 #ifdef HAVE_RING2TOM
    299294    if (rField_is_Ring_2toM(r)) Print("Z/2^%lu\n", r->ringflagb);
    300 #endif
    301 #ifdef HAVE_RINGMODN
    302295    if (rField_is_Ring_PtoM(r)) Print("Z/%s^%lu\n", s, r->ringflagb);
    303 #endif
    304296    omFreeSize((ADDRESS)s, l);
    305297  }
     
    15071499#ifdef HAVE_RINGS
    15081500  res->ringtype=r->ringtype;  /* cring = 0 => coefficient field, cring = 1 => coeffs from Z/2^m */
    1509   if (r->ringflaga!=NULL) 
     1501  if (r->ringflaga!=NULL)
    15101502  {
    15111503    res->ringflaga = (int_number) omAlloc(sizeof(MP_INT));
     
    44044396#endif
    44054397
    4406  
     4398
    44074399//  ring r = rCopy0(src,TRUE); /* TRUE for copy the qideal: Why??? */
    44084400  ring r = rCopy0(src,FALSE); /* qideal will be deleted later on!!! */
    4409  
     4401
    44104402  /*  rChangeCurrRing(r); */
    44114403  // change vars v1..vN -> vN..v1
     
    46304622#endif
    46314623
    4632  
     4624
    46334625#ifdef HAVE_PLURAL
    46344626  // now, we initialize a non-comm structure on r
     
    46704662      WarnS("Error initializing non-commutative multiplication!");
    46714663
    4672    
    46734664#ifdef RDEBUG
    46744665    rTest(r);
     
    46804671
    46814672    omFreeSize((ADDRESS)perm,(rVar(r)+1)*sizeof(int));
    4682 
    46834673  }
    46844674#endif /* HAVE_PLURAL */
    4685 
    46864675
    46874676  /* now oppose the qideal for qrings */
     
    46964685#endif
    46974686
    4698 
    46994687#ifdef HAVE_PLURAL
    47004688    if( rIsPluralRing(r) )
    47014689    {
    47024690      nc_SetupQuotient(r);
    4703 
    47044691#ifdef RDEBUG
    47054692      rTest(r);
     
    47084695#endif
    47094696    }
    4710 
    4711 #endif
    4712   }
    4713 
    4714 
     4697#endif
     4698  }
    47154699#ifdef HAVE_PLURAL
    47164700  if( rIsPluralRing(r) )
    47174701    assume( ncRingType(r) == ncRingType(src) );
    47184702#endif
    4719 
    4720  
    47214703  rTest(r);
    47224704
  • kernel/ring.h

    r63f9d7 rc90b43  
    77* ABSTRACT - the interpreter related ring operations
    88*/
    9 /* $Id: ring.h,v 1.40 2009-02-23 11:26:29 Singular Exp $ */
     9/* $Id: ring.h,v 1.41 2009-05-06 12:53:49 Singular Exp $ */
    1010
    1111/* includes */
     
    103103BOOLEAN rRing_has_CompLastBlock(ring r=currRing);
    104104
    105 #ifdef HAVE_RING2TOM
     105#ifdef HAVE_RINGS
    106106inline BOOLEAN rField_is_Ring_2toM(ring r=currRing)
    107107{ return (r->ringtype == 1); }
    108 #endif
    109 
    110 #ifdef HAVE_RINGMODN
     108
    111109inline BOOLEAN rField_is_Ring_ModN(ring r=currRing)
    112110{ return (r->ringtype == 2); }
     
    114112inline BOOLEAN rField_is_Ring_PtoM(ring r=currRing)
    115113{ return (r->ringtype == 3); }
    116 #endif
    117 
    118 #ifdef HAVE_RINGZ
     114
    119115inline BOOLEAN rField_is_Ring_Z(ring r=currRing)
    120116{ return (r->ringtype == 4); }
    121 #endif
    122 
    123 #ifdef HAVE_RINGS
     117
    124118inline BOOLEAN rField_is_Ring(ring r=currRing)
    125119{ return (r->ringtype != 0); }
     
    243237{ return (rField_is_Zp(r)
    244238       || rField_is_GF(r)
    245 #ifdef HAVE_RING2TOM
     239#ifdef HAVE_RINGS
    246240       || rField_is_Ring_2toM(r)
    247241#endif
  • kernel/ringgb.cc

    r63f9d7 rc90b43  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ringgb.cc,v 1.16 2007-06-20 09:39:25 wienand Exp $ */
     4/* $Id: ringgb.cc,v 1.17 2009-05-06 12:53:49 Singular Exp $ */
    55/*
    66* ABSTRACT: ringgb interface
     
    2929#include "ringgb.h"
    3030
    31 #ifdef HAVE_RING2TOM
     31#ifdef HAVE_RINGS
    3232poly reduce_poly_fct(poly p, ring r)
    3333{
     
    3939 * 2^k | n
    4040 */
    41 int indexOf2(number n) {
     41int indexOf2(number n)
     42{
    4243  long test = (long) n;
    4344  int i = 0;
    44   while (test%2 == 0) {
     45  while (test%2 == 0)
     46  {
    4547    i++;
    4648    test = test / 2;
     
    5961                               poly &m1, poly &m2, const ring m_r)
    6062{
    61 
    6263  int i;
    6364  Exponent_t x;
     
    8384  long cp1 = (long) pGetCoeff(p1);
    8485  long cp2 = (long) pGetCoeff(p2);
    85   if (cp1 != 0 && cp2 != 0) {
    86     while (cp1%2 == 0 && cp2%2 == 0) {
     86  if (cp1 != 0 && cp2 != 0)
     87  {
     88    while (cp1%2 == 0 && cp2%2 == 0)
     89    {
    8790      cp1 = cp1 / 2;
    8891      cp2 = cp2 / 2;
     
    101104}
    102105
    103 poly spolyRing2toM(poly f, poly g, ring r) {
     106poly spolyRing2toM(poly f, poly g, ring r)
     107{
    104108  poly m1 = NULL;
    105109  poly m2 = NULL;
     
    114118}
    115119
    116 poly ringRedNF (poly f, ideal G, ring r) {
     120poly ringRedNF (poly f, ideal G, ring r)
     121{
    117122  // If f = 0, then normal form is also 0
    118123  if (f == NULL) { return NULL; }
     
    147152 * of the suitable g from G.
    148153 */
    149 int findRingSolver(poly rside, ideal G, ring r) {
     154int findRingSolver(poly rside, ideal G, ring r)
     155{
    150156  if (rside == NULL) return -1;
    151157  int i;
    152158//  int iO2rside = indexOf2(pGetCoeff(rside));
    153   for (i = 0; i < IDELEMS(G); i++) {
     159  for (i = 0; i < IDELEMS(G); i++)
     160  {
    154161    if // (indexOf2(pGetCoeff(G->m[i])) <= iO2rside &&    / should not be necessary any more
    155        (p_LmDivisibleBy(G->m[i], rside, r)) {
     162       (p_LmDivisibleBy(G->m[i], rside, r))
     163    {
    156164      return i;
    157165    }
     
    160168}
    161169
    162 poly plain_spoly(poly f, poly g) {
     170poly plain_spoly(poly f, poly g)
     171{
    163172  number cf = nCopy(pGetCoeff(f)), cg = nCopy(pGetCoeff(g));
    164173  int ct = ksCheckCoeff(&cf, &cg); // gcd and zero divisors
     
    188197}
    189198
    190 poly ringNF(poly f, ideal G, ring r) {
     199poly ringNF(poly f, ideal G, ring r)
     200{
    191201  // If f = 0, then normal form is also 0
    192202  if (f == NULL) { return NULL; }
     
    259269  {
    260270    Print(" Yes!\nzero-spoly --> 0?");
    261     for (i = 0; i < IDELEMS(GI); i++) 
     271    for (i = 0; i < IDELEMS(GI); i++)
    262272    {
    263273      f = plain_zero_spoly(GI->m[i]);
  • kernel/ringgb.h

    r63f9d7 rc90b43  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ringgb.h,v 1.7 2007-05-11 10:56:03 wienand Exp $ */
     4/* $Id: ringgb.h,v 1.8 2009-05-06 12:53:49 Singular Exp $ */
    55/*
    66* ABSTRACT: ringgb interface
     
    1717int testGB(ideal I, ideal GI);
    1818
    19 #ifdef HAVE_RING2TOM
    2019poly reduce_poly_fct(poly p, ring r);
    2120poly ringRedNF(poly f, ideal G, ring r);
    22 #endif
    2321
    2422#endif
  • kernel/rintegers.cc

    r63f9d7 rc90b43  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: rintegers.cc,v 1.20 2009-01-19 12:34:50 Singular Exp $ */
     4/* $Id: rintegers.cc,v 1.21 2009-05-06 12:53:49 Singular Exp $ */
    55/*
    66* ABSTRACT: numbers modulo n
     
    2020#include "si_gmp.h"
    2121
    22 #ifdef HAVE_RINGZ
     22#ifdef HAVE_RINGS
    2323
    2424omBin gmp_nrz_bin = omGetSpecBin(sizeof(MP_INT));
  • kernel/rintegers.h

    r63f9d7 rc90b43  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: rintegers.h,v 1.7 2008-07-16 12:41:33 wienand Exp $ */
     6/* $Id: rintegers.h,v 1.8 2009-05-06 12:53:49 Singular Exp $ */
    77/*
    88* ABSTRACT: numbers modulo n
    99*/
    10 #ifdef HAVE_RINGZ
     10#ifdef HAVE_RINGS
    1111#include "structs.h"
    1212
  • kernel/rmodulo2m.cc

    r63f9d7 rc90b43  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: rmodulo2m.cc,v 1.23 2008-12-08 15:00:43 Singular Exp $ */
     4/* $Id: rmodulo2m.cc,v 1.24 2009-05-06 12:53:49 Singular Exp $ */
    55/*
    66* ABSTRACT: numbers modulo 2^m
     
    1010#include "mod2.h"
    1111
    12 #ifdef HAVE_RING2TOM
     12#ifdef HAVE_RINGS
    1313#include <mylimits.h>
    1414#include "structs.h"
     
    165165number  nr2mGetUnit (number k)
    166166{
    167   if (k == NULL) 
     167  if (k == NULL)
    168168    return (number) 1;
    169169  NATNUMBER tmp = (NATNUMBER) k;
  • kernel/rmodulo2m.h

    r63f9d7 rc90b43  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: rmodulo2m.h,v 1.10 2008-07-16 12:41:33 wienand Exp $ */
     6/* $Id: rmodulo2m.h,v 1.11 2009-05-06 12:53:49 Singular Exp $ */
    77/*
    88* ABSTRACT: numbers modulo 2^m
    99*/
    10 #ifdef HAVE_RING2TOM
     10#ifdef HAVE_RINGS
    1111#include "structs.h"
    1212
  • kernel/rmodulon.cc

    r63f9d7 rc90b43  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: rmodulon.cc,v 1.32 2009-01-19 12:43:53 Singular Exp $ */
     4/* $Id: rmodulon.cc,v 1.33 2009-05-06 12:53:49 Singular Exp $ */
    55/*
    66* ABSTRACT: numbers modulo n
     
    2020#include "si_gmp.h"
    2121
    22 #ifdef HAVE_RINGMODN
    23   #ifdef HAVE_RINGZ
    24     #define gmp_nrn_bin gmp_nrz_bin
    25     extern omBin gmp_nrz_bin;
    26   #else
    27     omBin gmp_nrn_bin = omGetSpecBin(sizeof(MP_INT));
    28   #endif
     22#ifdef HAVE_RINGS
     23  #define gmp_nrn_bin gmp_nrz_bin
     24  extern omBin gmp_nrz_bin;
    2925
    3026int_number nrnModul = NULL;
  • kernel/rmodulon.h

    r63f9d7 rc90b43  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: rmodulon.h,v 1.9 2008-07-16 12:41:33 wienand Exp $ */
     6/* $Id: rmodulon.h,v 1.10 2009-05-06 12:53:49 Singular Exp $ */
    77/*
    88* ABSTRACT: numbers modulo n
    99*/
    10 #ifdef HAVE_RINGMODN
     10#ifdef HAVE_RINGS
    1111#include "structs.h"
    1212
Note: See TracChangeset for help on using the changeset viewer.