Changeset 585bbcb in git for kernel/polys.cc


Ignore:
Timestamp:
Nov 27, 2005, 4:28:46 PM (17 years ago)
Author:
Oliver Wienand <wienand@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
Children:
6a972af1108afd9ad6a0a74a519e0b3107421d16
Parents:
f498f1081627c853c4d77077fcaa2ea32d82a711
Message:
Makefile.in:
--> rmodulo2m.[h/cc] in HEADERS / CXXSOURCES eingetragen

kspoly.cc:
--> ksReducePoly beachtet Nullteiler
--> ksRingReducePoly (neu)
--> ksCreateSpoly beachtet Nullteiler

kstd1.cc:
--> use strat->red = redRing2toM if currRing->cring == 1

kstd2.cc:
--> kRingFindDivisibleByInT (neu)
--> kRingFindDivisibleByInS (neu)
--> redRing2toM (neu)

kutil.cc:
--> kRingFindDivisibleByInS (neu)
--> redTailBba beachtet Nullteiler und andere Strategien (zum Teil)

kutil.h:
--> int redRing2toM (LObject* h,kStrategy strat); (neu)
--> Dekl. von kRingFind* und ksRingReducePoly

numbers.cc:
--> Unterstützung für Z/2^m

pDebug.cc:
--> p_DebugLmDivisibleByNoComp beachtet coeff für Ringe

pInline1.h:
--> *LmRing* Teilbarkeit mit Beachtung des Koeff

p_Minus_mm_Mult_qq__T.cc:
--> Term*Term = 0 möglich

polys.cc:
--> nGetUnit (neu)
--> pNorm beachtet Nullteiler

polys.h:
--> nGetUnit (neu)

polys1.cc:
--> pCleardenom: in case of ring, just do a pNorm
--> pContent: in case of ring do nothing

pp_Mult_mm__T.cc:
--> Term*Term = 0 möglich bei KoeffRing

ring.cc:
--> rSetOption: setze intStrategy

ring.h:
--> rField_is_Ring_2toM (neu)
--> alle anderen Fkt. angepasst

ringgb.cc, ringgb.h: test container in Zshg. mit extra.cc

structs.h:
--> ring->cring property (neu) cring = 0 bei Körpern, cring = 1 bei Z/2^m


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

Legend:

Unmodified
Added
Removed
  • kernel/polys.cc

    rf498f10 r585bbcb  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: polys.cc,v 1.6 2005-04-21 17:15:49 Singular Exp $ */
     4/* $Id: polys.cc,v 1.7 2005-11-27 15:28:45 wienand Exp $ */
    55
    66/*
     
    651651}
    652652
     653#ifdef HAVE_RING2TOM
     654number nGetUnit(number k) {
     655  long test = (long) k;
     656  while (test%2 == 0) {
     657    test = test / 2;
     658  }
     659  return (number) test;
     660}
     661#endif
    653662
    654663/*2
     
    659668  poly h;
    660669  number k, c;
    661 
     670#ifdef HAVE_RING2TOM
     671  if (currRing->cring != 0)
     672  {
     673    if (p1!=NULL)
     674    {
     675      k = nGetUnit(pGetCoeff(p1));
     676      if (!nIsOne(k))
     677      {
     678        k = nGetUnit(pGetCoeff(p1));
     679        c = nDiv(pGetCoeff(p1), k);
     680        pSetCoeff0(p1, c);
     681        h = pNext(p1);
     682        while (h != NULL)
     683        {
     684          c = nDiv(pGetCoeff(h), k);
     685          pSetCoeff(h, c);
     686          pIter(h);
     687        }
     688        nDelete(&k);
     689      }
     690     return;
     691    }
     692  }
     693#endif 
    662694  if (p1!=NULL)
    663695  {
     
    670702    {
    671703      nNormalize(pGetCoeff(p1));
    672       k=pGetCoeff(p1);
     704      k = pGetCoeff(p1);
    673705      c = nInit(1);
    674706      pSetCoeff0(p1,c);
     
    701733*normalize all coefficients
    702734*/
    703 void p_Normalize(poly p, ring r) 
     735void p_Normalize(poly p, ring r)
    704736{
    705737  if (rField_has_simple_inverse(r)) return; /* Z/p, GF(p,n), R, long R/C */
Note: See TracChangeset for help on using the changeset viewer.