My Project
Loading...
Searching...
No Matches
customstd.cc File Reference

Go to the source code of this file.

Functions

static BOOLEAN satstd (leftv res, leftv args)
 
static BOOLEAN abort_if_monomial_sp (kStrategy strat)
 
static BOOLEAN print_spoly (kStrategy strat)
 
static BOOLEAN std_print_spoly (leftv res, leftv args)
 
static BOOLEAN monomialabortstd (leftv res, leftv args)
 
int SI_MOD_INIT customstd (SModulFunctions *p)
 

Variables

STATIC_VAR char * si_filename
 

Function Documentation

◆ abort_if_monomial_sp()

static BOOLEAN abort_if_monomial_sp ( kStrategy strat)
static

Definition at line 92 of file customstd.cc.

93{
94 BOOLEAN b = FALSE; // set b to TRUE, if spoly was changed,
95 // let it remain FALSE otherwise
96 if (strat->P.t_p==NULL)
97 {
98 poly p=strat->P.p;
99 if (pNext(p)==NULL)
100 {
101 while ((strat->Ll >= 0))
102 deleteInL(strat->L,&strat->Ll,strat->Ll,strat);
103 return FALSE;
104 }
105 }
106 else
107 {
108 poly p=strat->P.t_p;
109 if (pNext(p)==NULL)
110 {
111 while ((strat->Ll >= 0))
112 deleteInL(strat->L,&strat->Ll,strat->Ll,strat);
113 return FALSE;
114 }
115 }
116 return b; // return TRUE if sp was changed, FALSE if not
117}
int BOOLEAN
Definition auxiliary.h:88
#define FALSE
Definition auxiliary.h:97
int p
Definition cfModGcd.cc:4086
CanonicalForm b
Definition cfModGcd.cc:4111
int Ll
Definition kutil.h:352
LObject P
Definition kutil.h:303
LSet L
Definition kutil.h:328
void deleteInL(LSet set, int *length, int j, kStrategy strat)
Definition kutil.cc:1215
#define pNext(p)
Definition monomials.h:36
#define NULL
Definition omList.c:12

◆ customstd()

int SI_MOD_INIT customstd ( SModulFunctions * p)

Definition at line 662 of file customstd.cc.

663{
664 // p->iiAddCproc("std_demo","std_with_display",FALSE,std_with_display);
665 p->iiAddCproc("customstd.lib","satstdInternal",FALSE,satstd);
666 // p->iiAddCproc("std_demo","satstdWithInitialCheck",FALSE,satstdWithInitialCheck);
667 p->iiAddCproc("customstd.lib","monomialabortstdInternal",FALSE,monomialabortstd);
668 // PrintS("init of std_demo - type `listvar(Std_demo);` to its contents\n");
669 p->iiAddCproc("customstd.lib","std_print_spoly",FALSE,std_print_spoly);
670 p->iiAddCproc("customstd.lib","syz_print_spoly",FALSE,std_print_spoly);
671
672 return (MAX_TOK);
673}
static BOOLEAN satstd(leftv res, leftv args)
Definition customstd.cc:40
static BOOLEAN std_print_spoly(leftv res, leftv args)
Definition customstd.cc:170
static BOOLEAN monomialabortstd(leftv res, leftv args)
Definition customstd.cc:464
@ MAX_TOK
Definition tok.h:220

◆ monomialabortstd()

static BOOLEAN monomialabortstd ( leftv res,
leftv args )
static

Definition at line 464 of file customstd.cc.

465{
466 if (args!=NULL)
467 {
468 if ((args->Typ()==IDEAL_CMD) && (args->next==NULL))
469 {
470 ideal I=(ideal)args->Data();
472 idSkipZeroes(I);
473 res->rtyp=IDEAL_CMD;
474 res->data=(char*)I;
475 return FALSE;
476 }
477 }
478 WerrorS("monomialabortstd: unexpected parameters");
479 return TRUE;
480}
#define TRUE
Definition auxiliary.h:101
Matrices of numbers.
Definition bigintmat.h:51
int Typ()
Definition subexpr.cc:1048
void * Data()
Definition subexpr.cc:1192
leftv next
Definition subexpr.h:86
static BOOLEAN abort_if_monomial_sp(kStrategy strat)
Definition customstd.cc:92
CanonicalForm res
Definition facAbsFact.cc:60
void WerrorS(const char *s)
Definition feFopen.cc:24
@ IDEAL_CMD
Definition grammar.cc:285
ideal kStd2(ideal F, ideal Q, tHomog h, intvec **w, bigintmat *hilb, int syzComp, int newIdeal, intvec *vw, s_poly_proc_t sp)
generic interface to GB/SB computations, large hilbert vectors
Definition kstd1.cc:2602
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition polys.cc:13
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
@ testHomog
Definition structs.h:34

◆ print_spoly()

static BOOLEAN print_spoly ( kStrategy strat)
static

Definition at line 120 of file customstd.cc.

121{
122 char *s;
123 if (strat->P.t_p==NULL)
124 {
125 s=pString(strat->P.p);
126 }
127 else
128 {
129 poly p=strat->P.t_p;
130 s=p_String(p,strat->tailRing);
131 }
132 FILE *f=fopen(si_filename,"a");
133 fwrite(s,strlen(s),1,f);
134 fwrite("\n",1,1,f);
135 fflush(f);
136 fclose(f);
137 return FALSE; // return TRUE if sp was changed, FALSE if not
138}
FILE * f
Definition checklibs.c:9
ring tailRing
Definition kutil.h:344
STATIC_VAR char * si_filename
Definition customstd.cc:119
const CanonicalForm int s
Definition facAbsFact.cc:51
char * p_String(poly p, ring lmRing, ring tailRing)
Definition polys0.cc:322
char * pString(poly p)
Definition polys.h:307

◆ satstd()

static BOOLEAN satstd ( leftv res,
leftv args )
static

Definition at line 40 of file customstd.cc.

41{
42 leftv u = args;
43 if ((u!=NULL)
44 && ((u->Typ()==IDEAL_CMD)||(u->Typ()==MODUL_CMD)))
45 {
46 ideal I=(ideal)u->Data();
47 leftv v = u->next;
48
49 res->rtyp=IDEAL_CMD;
50 ideal J;
51 if (v==NULL)
52 {
54 }
55 else
56 {
57 if (v->Typ()==IDEAL_CMD)
58 {
59 J = (ideal) v->Data();
60 }
61 else
62 {
63 args->CleanUp();
64 WerrorS("satstd: unexpected parameters");
65 return TRUE;
66 }
67 }
68 I=id_Satstd(I,J,currRing);
69
70#if 0 /* unused */
71 if (idealCache)
72 {
74 res->data = (char*) idealCache;
75 idealCache = NULL;
76 }
77 else
78#endif
79 {
80 idSkipZeroes(I);
81 res->data=(char*)I;
82 }
83 if (v==NULL) id_Delete(&J,currRing);
84 args->CleanUp();
86 return (res->data==NULL);
87 }
88 WerrorS("satstd: unexpected parameters");
89 return TRUE;
90}
void CleanUp(ring r=currRing)
Definition subexpr.cc:351
const Variable & v
< [in] a sqrfree bivariate poly
Definition facBivar.h:39
@ MODUL_CMD
Definition grammar.cc:288
ideal id_Satstd(const ideal I, ideal J, const ring r)
Definition ideals.cc:3334
#define setFlag(A, F)
Definition ipid.h:113
#define FLAG_STD
Definition ipid.h:106
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
ideal id_MaxIdeal(const ring r)
initialise the maximal ideal (at 0)
sleftv * leftv
Definition structs.h:53

◆ std_print_spoly()

static BOOLEAN std_print_spoly ( leftv res,
leftv args )
static

Definition at line 170 of file customstd.cc.

171{
172 if (args!=NULL)
173 {
174 if ((args->Typ()==IDEAL_CMD) && (args->next!=NULL)
175 && (args->next->Typ()==STRING_CMD))
176 {
177 si_filename=(char*)args->next->Data();
178 ideal I=(ideal)args->Data();
180 idSkipZeroes(I);
181 res->rtyp=IDEAL_CMD;
182 res->data=(char*)I;
183 return FALSE;
184 }
185 }
186 WerrorS("std_print_spoly: unexpected parameters");
187 return TRUE;
188}
static BOOLEAN print_spoly(kStrategy strat)
Definition customstd.cc:120
@ STRING_CMD
Definition tok.h:187

Variable Documentation

◆ si_filename

STATIC_VAR char* si_filename

Definition at line 119 of file customstd.cc.