Functions
std_wrapper.h File Reference
#include "polys/simpleideals.h"
#include "kernel/structs.h"

Go to the source code of this file.

Functions

ideal gfanlib_kStd_wrapper (ideal I, ring r, tHomog h=testHomog)
 
ideal gfanlib_satStd_wrapper (ideal I, ring r, tHomog h=testHomog)
 
ideal gfanlib_monomialabortStd_wrapper (ideal I, ring r, tHomog h=testHomog)
 

Function Documentation

◆ gfanlib_kStd_wrapper()

ideal gfanlib_kStd_wrapper ( ideal  I,
ring  r,
tHomog  h = testHomog 
)

Definition at line 6 of file std_wrapper.cc.

7 {
8  ring origin = currRing;
9  if (origin != r)
10  rChangeCurrRing(r);
11 
12  intvec* nullVector = NULL;
13  ideal stdI = kStd(I,currRing->qideal,h,&nullVector); // there is still a memory leak here!!!
14  id_DelDiv(stdI,currRing);
15  idSkipZeroes(stdI);
16  if (nullVector!=NULL) delete nullVector;
17 
18  if (origin != r)
19  rChangeCurrRing(origin);
20 
21  return stdI;
22 }
void id_DelDiv(ideal id, const ring r)
delete id[j], if LT(j) == coeff*mon*LT(i) and vice versa, i.e., delete id[i], if LT(i) == coeff*mon*L...
ideal kStd(ideal F, ideal Q, tHomog h, intvec **w, intvec *hilb, int syzComp, int newIdeal, intvec *vw, s_poly_proc_t sp)
Definition: kstd1.cc:2088
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
Definition: intvec.h:19
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
void rChangeCurrRing(ring r)
Definition: polys.cc:15
STATIC_VAR Poly * h
Definition: janet.cc:971
#define NULL
Definition: omList.c:12

◆ gfanlib_monomialabortStd_wrapper()

ideal gfanlib_monomialabortStd_wrapper ( ideal  I,
ring  r,
tHomog  h = testHomog 
)

Definition at line 172 of file std_wrapper.cc.

173 {
174  ring origin = currRing;
175  if (origin != r)
176  rChangeCurrRing(r);
177 
178  ideal stdI = kStd(I,currRing->qideal,h,NULL,NULL,0,0,NULL,abort_if_monomial_sp);
179  id_DelDiv(stdI,currRing);
180  idSkipZeroes(stdI);
181 
182  if (origin != r)
183  rChangeCurrRing(origin);
184 
185  return stdI;
186 }
void id_DelDiv(ideal id, const ring r)
delete id[j], if LT(j) == coeff*mon*LT(i) and vice versa, i.e., delete id[i], if LT(i) == coeff*mon*L...
ideal kStd(ideal F, ideal Q, tHomog h, intvec **w, intvec *hilb, int syzComp, int newIdeal, intvec *vw, s_poly_proc_t sp)
Definition: kstd1.cc:2088
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
static BOOLEAN abort_if_monomial_sp(kStrategy strat)
Definition: std_wrapper.cc:145
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
void rChangeCurrRing(ring r)
Definition: polys.cc:15
STATIC_VAR Poly * h
Definition: janet.cc:971
#define NULL
Definition: omList.c:12

◆ gfanlib_satStd_wrapper()

ideal gfanlib_satStd_wrapper ( ideal  I,
ring  r,
tHomog  h = testHomog 
)

Definition at line 124 of file std_wrapper.cc.

125 {
126  ring origin = currRing;
127  if (origin != r)
128  rChangeCurrRing(r);
129 
130  int n = rVar(currRing);
131  gitfan_satstdSaturatingVariables = std::vector<int>(n);
132  for (int i=n-1; i>=0; i--)
134 
135  ideal stdI = kStd(I,currRing->qideal,h,NULL,NULL,0,0,NULL,sat_vars_sp);
136  id_DelDiv(stdI,currRing);
137  idSkipZeroes(stdI);
138 
139  if (origin != r)
140  rChangeCurrRing(origin);
141 
142  return stdI;
143 }
void id_DelDiv(ideal id, const ring r)
delete id[j], if LT(j) == coeff*mon*LT(i) and vice versa, i.e., delete id[i], if LT(i) == coeff*mon*L...
std::vector< int > gitfan_satstdSaturatingVariables
Definition: std_wrapper.cc:5
static short rVar(const ring r)
#define rVar(r) (r->N)
Definition: ring.h:587
ideal kStd(ideal F, ideal Q, tHomog h, intvec **w, intvec *hilb, int syzComp, int newIdeal, intvec *vw, s_poly_proc_t sp)
Definition: kstd1.cc:2088
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
int i
Definition: cfEzgcd.cc:125
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
void rChangeCurrRing(ring r)
Definition: polys.cc:15
STATIC_VAR Poly * h
Definition: janet.cc:971
static BOOLEAN sat_vars_sp(kStrategy strat)
Definition: std_wrapper.cc:27
#define NULL
Definition: omList.c:12