My Project
Functions
loctriv.cc File Reference
#include "kernel/ideals.h"
#include "libpolys/polys/monomials/ring.h"
#include "kernel/GBEngine/kstd1.h"
#include "libpolys/polys/prCopy.h"
#include "Singular/tok.h"
#include "Singular/ipshell.h"
#include "Singular/mod_lib.h"
#include "Singular/ipid.h"

Go to the source code of this file.

Functions

static BOOLEAN kstd (leftv res, leftv args)
 
int SI_MOD_INIT() loctriv (SModulFunctions *p)
 

Function Documentation

◆ kstd()

static BOOLEAN kstd ( leftv  res,
leftv  args 
)
static

Definition at line 17 of file loctriv.cc.

18 {
19  const short t1[]={2,MODUL_CMD,INT_CMD};
20  if (iiCheckTypes(args,t1,1))
21  {
22  ideal h1=(ideal)args->CopyD();
23  int k=(int)(long)args->next->Data();
24  ideal s_h1;
25  ideal s_h3;
26  int j;
27  ring orig_ring;
28  ring syz_ring;
29  intvec *w=NULL;
30 
31  assume(currRing != NULL);
32  orig_ring=currRing;
33  syz_ring=rAssure_SyzComp(orig_ring);
34  rSetSyzComp(k,syz_ring);
35  rChangeCurrRing(syz_ring);
36 
37  if (orig_ring != syz_ring)
38  {
39  s_h1=idrCopyR_NoSort(h1,orig_ring,syz_ring);
40  }
41  else
42  {
43  s_h1 = h1;
44  }
45 
46  s_h3=kStd(s_h1,NULL,testHomog,&w,NULL,k);
47 
48  if (orig_ring != syz_ring)
49  {
50  idDelete(&s_h1);
51  idSkipZeroes(s_h3);
52  rChangeCurrRing(orig_ring);
53  s_h3 = idrMoveR_NoSort(s_h3, syz_ring, orig_ring);
54  rKill(syz_ring);
55  }
56  else
57  {
58  idSkipZeroes(s_h3);
59  }
60  res->data=(void *)s_h3;
61  res->rtyp=MODUL_CMD;
62  return FALSE;
63  }
64  else
65  return TRUE;
66 }
#define TRUE
Definition: auxiliary.h:100
#define FALSE
Definition: auxiliary.h:96
int k
Definition: cfEzgcd.cc:99
Definition: intvec.h:23
void * CopyD(int t)
Definition: subexpr.cc:710
void * Data()
Definition: subexpr.cc:1154
leftv next
Definition: subexpr.h:86
CanonicalForm res
Definition: facAbsFact.cc:60
const CanonicalForm & w
Definition: facAbsFact.cc:51
int j
Definition: facHensel.cc:110
@ MODUL_CMD
Definition: grammar.cc:287
#define idDelete(H)
delete an ideal
Definition: ideals.h:29
void rKill(ring r)
Definition: ipshell.cc:6174
BOOLEAN iiCheckTypes(leftv args, const short *type_list, int report)
check a list of arguemys against a given field of types return TRUE if the types match return FALSE (...
Definition: ipshell.cc:6566
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:2433
#define assume(x)
Definition: mod2.h:387
#define NULL
Definition: omList.c:12
void rChangeCurrRing(ring r)
Definition: polys.cc:15
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
ideal idrMoveR_NoSort(ideal &id, ring src_r, ring dest_r)
Definition: prCopy.cc:260
ideal idrCopyR_NoSort(ideal id, ring src_r, ring dest_r)
Definition: prCopy.cc:204
ring rAssure_SyzComp(const ring r, BOOLEAN complete)
Definition: ring.cc:4418
void rSetSyzComp(int k, const ring r)
Definition: ring.cc:5027
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
@ testHomog
Definition: structs.h:38
@ INT_CMD
Definition: tok.h:96

◆ loctriv()

int SI_MOD_INIT() loctriv ( SModulFunctions p)

Definition at line 70 of file loctriv.cc.

71 {
72  p->iiAddCproc("loctriv.so","kstd",FALSE,kstd);
73  return (MAX_TOK);
74 }
int p
Definition: cfModGcd.cc:4078
static BOOLEAN kstd(leftv res, leftv args)
Definition: loctriv.cc:17
@ MAX_TOK
Definition: tok.h:218