Go to the source code of this file.
 | 
| poly  | reduce_poly_fct (poly p, ring r) | 
|   | 
| int  | indexOf2 (number n) | 
|   | 
| BOOLEAN  | ring2toM_GetLeadTerms (const poly p1, const poly p2, const ring p_r, poly &m1, poly &m2, const ring m_r) | 
|   | 
| void  | printPolyMsg (const char *start, poly f, const char *end) | 
|   | 
| poly  | spolyRing2toM (poly f, poly g, ring r) | 
|   | 
| poly  | ringRedNF (poly f, ideal G, ring r) | 
|   | 
| int  | findRingSolver (poly rside, ideal G, ring r) | 
|   | 
| poly  | plain_spoly (poly f, poly g) | 
|   | 
| poly  | plain_zero_spoly (poly h) | 
|   | 
| poly  | ringNF (poly f, ideal G, ring r) | 
|   | 
| int  | testGB (ideal I, ideal GI) | 
|   | 
◆ NO_BUCKETS
◆ findRingSolver()
      
        
          | int findRingSolver  | 
          ( | 
          poly  | 
          rside,  | 
        
        
           | 
           | 
          ideal  | 
          G,  | 
        
        
           | 
           | 
          ring  | 
          r  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 152 of file ringgb.cc.
  153{
  154  if (rside == 
NULL) 
return -1;
 
  156
  158  {
  159    if 
  161    {
  163    }
  164  }
  165  return -1;
  166}
static BOOLEAN p_LmDivisibleBy(poly a, poly b, const ring r)
 
 
 
 
◆ indexOf2()
◆ plain_spoly()
      
        
          | poly plain_spoly  | 
          ( | 
          poly  | 
          f,  | 
        
        
           | 
           | 
          poly  | 
          g  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 168 of file ringgb.cc.
  169{
  172  poly fm, gm;
  179  return(sp);
  180}
KINLINE BOOLEAN k_GetLeadTerms(const poly p1, const poly p2, const ring p_r, poly &m1, poly &m2, const ring m_r)
 
int ksCheckCoeff(number *a, number *b, const coeffs r)
 
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
 
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
 
 
 
 
◆ plain_zero_spoly()
      
        
          | poly plain_zero_spoly  | 
          ( | 
          poly  | 
          h | ) | 
           | 
        
      
 
Definition at line 185 of file ringgb.cc.
  186{
  191  {
  196  }
  199}
static FORCE_INLINE number n_Gcd(number a, number b, const coeffs r)
in Z: return the gcd of 'a' and 'b' in Z/nZ, Z/2^kZ: computed as in the case Z in Z/pZ,...
 
static FORCE_INLINE number n_Ann(number a, const coeffs r)
if r is a ring with zero divisors, return an annihilator!=0 of b otherwise return NULL
 
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
 
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
 
static FORCE_INLINE BOOLEAN n_IsOne(number n, const coeffs r)
TRUE iff 'n' represents the one element.
 
static poly p_Copy(poly p, const ring r)
returns a copy of p
 
#define __p_Mult_nn(p, n, r)
 
 
 
 
◆ printPolyMsg()
      
        
          | void printPolyMsg  | 
          ( | 
          const char *  | 
          start,  | 
        
        
           | 
           | 
          poly  | 
          f,  | 
        
        
           | 
           | 
          const char *  | 
          end  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 96 of file ringgb.cc.
   97{
  101}
void PrintS(const char *s)
 
 
 
 
◆ reduce_poly_fct()
      
        
          | poly reduce_poly_fct  | 
          ( | 
          poly  | 
          p,  | 
        
        
           | 
           | 
          ring  | 
          r  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 29 of file ringgb.cc.
   30{
   32}
poly kFindZeroPoly(poly input_p, ring leadRing, ring tailRing)
 
 
 
 
◆ ring2toM_GetLeadTerms()
Definition at line 57 of file ringgb.cc.
   59{
   64 
   65  for (
i = p_r->N; 
i; 
i--)
 
   66  {
   69    {
   72    }
   73    else
   74    {
   77    }
   78  }
   83  if (cp1 != 0 && cp2 != 0)
   84  {
   85    while (cp1%2 == 0 && cp2%2 == 0)
   86    {
   87      cp1 = cp1 / 2;
   88      cp2 = cp2 / 2;
   89    }
   90  }
   94}
static long p_GetExpDiff(poly p1, poly p2, int i, ring r)
 
static unsigned long p_SetExp(poly p, const unsigned long e, const unsigned long iBitmask, const int VarOffset)
set a single variable exponent @Note: VarOffset encodes the position in p->exp
 
static void p_Setm(poly p, const ring r)
 
static number p_SetCoeff(poly p, number n, ring r)
 
static poly p_Init(const ring r, omBin bin)
 
 
 
 
◆ ringNF()
      
        
          | poly ringNF  | 
          ( | 
          poly  | 
          f,  | 
        
        
           | 
           | 
          ideal  | 
          G,  | 
        
        
           | 
           | 
          ring  | 
          r  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 201 of file ringgb.cc.
  202{
  203  
  208  int c = 1;
  209  while (
h != 
NULL && 
i >= 0) {
 
  210
  211
  212
  213
  214
  215
  219
  220
  221
  223    c++;
  224  }
  226}
#define pCopy(p)
return a copy of the poly
 
int findRingSolver(poly rside, ideal G, ring r)
 
poly plain_spoly(poly f, poly g)
 
 
 
 
◆ ringRedNF()
      
        
          | poly ringRedNF  | 
          ( | 
          poly  | 
          f,  | 
        
        
           | 
           | 
          ideal  | 
          G,  | 
        
        
           | 
           | 
          ring  | 
          r  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 117 of file ringgb.cc.
  118{
  119  
  123  int c = 0;
  125  {
  126    Print(
"%d-step RedNF - g=", c);
 
  135    }
  136    c++;
  137  }
  139}
#define pHead(p)
returns newly allocated copy of Lm(p), coef is copied, next=NULL, p might be NULL
 
#define pLmDelete(p)
assume p != NULL, deletes Lm(p)->coef and Lm(p)
 
poly ringNF(poly f, ideal G, ring r)
 
 
 
 
◆ spolyRing2toM()
      
        
          | poly spolyRing2toM  | 
          ( | 
          poly  | 
          f,  | 
        
        
           | 
           | 
          poly  | 
          g,  | 
        
        
           | 
           | 
          ring  | 
          r  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 103 of file ringgb.cc.
  104{
  108  
  109  
  110  
  114  return(sp);
  115}
static poly pp_Mult_mm(poly p, poly m, const ring r)
 
static poly p_Mult_mm(poly p, poly m, const ring r)
 
BOOLEAN ring2toM_GetLeadTerms(const poly p1, const poly p2, const ring p_r, poly &m1, poly &m2, const ring m_r)
 
 
 
 
◆ testGB()
      
        
          | int testGB  | 
          ( | 
          ideal  | 
          I,  | 
        
        
           | 
           | 
          ideal  | 
          GI  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 228 of file ringgb.cc.
  228                              {
  235      PrintS(
"Not reduced to zero from I: ");
 
  240      return(0);
  241    }
  243  }
  244  PrintS(
" Yes!\nspoly --> 0?");
 
  246  {
  248    {
  254      {
  264        return(0);
  265      }
  271    }
  272  }
  274  {
  275    PrintS(
" Yes!\nzero-spoly --> 0?");
 
  277    {
  290        return(0);
  291      }
  295    }
  296  }
  299  return(1);
  300}
static BOOLEAN rField_is_Domain(const ring r)
 
poly plain_zero_spoly(poly h)