Data Structures | Macros | Typedefs | Functions
ipconv.cc File Reference
#include <kernel/mod2.h>
#include <Singular/tok.h>
#include <Singular/ipid.h>
#include <misc/intvec.h>
#include <misc/options.h>
#include <omalloc/omalloc.h>
#include <kernel/polys.h>
#include <kernel/ideals.h>
#include <Singular/subexpr.h>
#include <coeffs/numbers.h>
#include <coeffs/coeffs.h>
#include <coeffs/bigintmat.h>
#include <polys/matpol.h>
#include <Singular/links/silink.h>
#include <kernel/GBEngine/syz.h>
#include <Singular/attrib.h>
#include <polys/monomials/ring.h>
#include <Singular/ipshell.h>
#include <Singular/ipconv.h>
#include <Singular/table.h>

Go to the source code of this file.

Data Structures

struct  sConvertTypes
 

Macros

#define IPCONV
 
#define D(A)   A
 
#define NULL_VAL   NULL
 

Typedefs

typedef void *(* iiConvertProc) (void *data)
 
typedef void(* iiConvertProcL) (leftv out, leftv in)
 

Functions

static void * iiI2P (void *data)
 
static void * iiBI2P (void *data)
 
static void * iiI2V (void *data)
 
static void * iiBI2V (void *data)
 
static void * iiI2Id (void *data)
 
static void * iiBI2Id (void *data)
 
static void * iiP2V (void *data)
 
static void * iiP2Id (void *data)
 
static void * iiV2Ma (void *data)
 
static void * iiN2P (void *data)
 
static void * iiDummy (void *data)
 
static void * iiMo2Ma (void *data)
 
static void * iiMa2Mo (void *data)
 
static void * iiI2Iv (void *data)
 
static void * iiI2N (void *data)
 
static void * iiI2BI (void *data)
 
static void * iiBI2N (void *data)
 
static void * iiIm2Ma (void *data)
 
static void * iiIm2Bim (void *data)
 
static void * iiBim2Im (void *data)
 
static void * iiN2Ma (void *data)
 
static void * iiS2Link (void *data)
 
static void iiR2L_l (leftv out, leftv in)
 
static void * iiL2R (void *data)
 
BOOLEAN iiConvert (int inputType, int outputType, int index, leftv input, leftv output, struct sConvertTypes *dConvertTypes)
 
int iiTestConvert (int inputType, int outputType, struct sConvertTypes *dConvertTypes)
 

Data Structure Documentation

struct sConvertTypes

Definition at line 106 of file gentable.cc.

Data Fields
int i_typ
int o_typ
iiConvertProc p
int p
iiConvertProcL pl
int pl

Macro Definition Documentation

#define D (   A )    A

Definition at line 288 of file ipconv.cc.

#define IPCONV

Definition at line 287 of file ipconv.cc.

#define NULL_VAL   NULL

Definition at line 289 of file ipconv.cc.

Typedef Documentation

typedef void*(* iiConvertProc) (void *data)

Definition at line 32 of file ipconv.cc.

typedef void(* iiConvertProcL) (leftv out, leftv in)

Definition at line 33 of file ipconv.cc.

Function Documentation

static void* iiBI2Id ( void *  data)
static

Definition at line 93 of file ipconv.cc.

94 {
95  ideal I=idInit(1,1);
97  if (nMap==NULL)
98  {
99  Werror("no conversion from bigint to %s", nCoeffString(currRing->cf));
100  return NULL;
101  }
102  number n=nMap((number)data,coeffs_BIGINT,currRing->cf);
103  n_Delete((number *)&data,coeffs_BIGINT);
104  poly p=pNSet(n);
105  I->m[0]=p;
106  return (void *)I;
107 }
#define pNSet(n)
Definition: polys.h:284
return P p
Definition: myNF.cc:203
const ideal
Definition: gb_hack.h:42
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
coeffs coeffs_BIGINT
Definition: ipid.cc:53
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
polyrec * poly
Definition: hilb.h:10
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
Definition: coeffs.h:71
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
Definition: coeffs.h:718
ideal idInit(int idsize, int rank)
Definition: simpleideals.cc:40
#define NULL
Definition: omList.c:10
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
Definition: coeffs.h:455
static FORCE_INLINE char * nCoeffString(const coeffs cf)
TODO: make it a virtual method of coeffs, together with: Decompose & Compose, rParameter & rPar...
Definition: coeffs.h:958
void Werror(const char *fmt,...)
Definition: reporter.cc:199
static void* iiBI2N ( void *  data)
static

Definition at line 177 of file ipconv.cc.

178 {
179  if (currRing==NULL) return NULL;
181  if (nMap==NULL)
182  {
183  Werror("no conversion from bigint to %s", nCoeffString(currRing->cf));
184  return NULL;
185  }
186  number n=nMap((number)data,coeffs_BIGINT,currRing->cf);
187  n_Delete((number *)&data, coeffs_BIGINT);
188  return (void*)n;
189 }
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
coeffs coeffs_BIGINT
Definition: ipid.cc:53
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
Definition: coeffs.h:71
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
Definition: coeffs.h:718
#define NULL
Definition: omList.c:10
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
Definition: coeffs.h:455
static FORCE_INLINE char * nCoeffString(const coeffs cf)
TODO: make it a virtual method of coeffs, together with: Decompose & Compose, rParameter & rPar...
Definition: coeffs.h:958
void Werror(const char *fmt,...)
Definition: reporter.cc:199
static void* iiBI2P ( void *  data)
static

Definition at line 50 of file ipconv.cc.

51 {
53  if (nMap==NULL)
54  {
55  Werror("no conversion from bigint to %s", nCoeffString(currRing->cf));
56  return NULL;
57  }
58  number n=nMap((number)data,coeffs_BIGINT,currRing->cf);
59  n_Delete((number *)&data, coeffs_BIGINT);
60  poly p=p_NSet(n, currRing);
61  return (void *)p;
62 }
return P p
Definition: myNF.cc:203
poly p_NSet(number n, const ring r)
returns the poly representing the number n, destroys n
Definition: p_polys.cc:1448
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
coeffs coeffs_BIGINT
Definition: ipid.cc:53
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
polyrec * poly
Definition: hilb.h:10
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
Definition: coeffs.h:71
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
Definition: coeffs.h:718
#define NULL
Definition: omList.c:10
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
Definition: coeffs.h:455
static FORCE_INLINE char * nCoeffString(const coeffs cf)
TODO: make it a virtual method of coeffs, together with: Decompose & Compose, rParameter & rPar...
Definition: coeffs.h:958
void Werror(const char *fmt,...)
Definition: reporter.cc:199
static void* iiBI2V ( void *  data)
static

Definition at line 71 of file ipconv.cc.

72 {
74  if (nMap==NULL)
75  {
76  Werror("no conversion from bigint to %s", nCoeffString(currRing->cf));
77  return NULL;
78  }
79  number n=nMap((number)data,coeffs_BIGINT,currRing->cf);
80  n_Delete((number *)&data, coeffs_BIGINT);
81  poly p=p_NSet(n, currRing);
82  if (p!=NULL) pSetComp(p,1);
83  return (void *)p;
84 }
return P p
Definition: myNF.cc:203
poly p_NSet(number n, const ring r)
returns the poly representing the number n, destroys n
Definition: p_polys.cc:1448
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
coeffs coeffs_BIGINT
Definition: ipid.cc:53
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
polyrec * poly
Definition: hilb.h:10
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
Definition: coeffs.h:71
#define pSetComp(p, v)
Definition: polys.h:38
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
Definition: coeffs.h:718
#define NULL
Definition: omList.c:10
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
Definition: coeffs.h:455
static FORCE_INLINE char * nCoeffString(const coeffs cf)
TODO: make it a virtual method of coeffs, together with: Decompose & Compose, rParameter & rPar...
Definition: coeffs.h:958
void Werror(const char *fmt,...)
Definition: reporter.cc:199
static void* iiBim2Im ( void *  data)
static

Definition at line 216 of file ipconv.cc.

217 {
218  bigintmat *b=(bigintmat*)data;
219  void *r=(void *)bim2iv(b);
220  delete b;
221  return r;
222 }
Matrices of numbers.
Definition: bigintmat.h:32
const ring r
Definition: syzextra.cc:208
intvec * bim2iv(bigintmat *b)
Definition: bigintmat.cc:339
const poly b
Definition: syzextra.cc:213
BOOLEAN iiConvert ( int  inputType,
int  outputType,
int  index,
leftv  input,
leftv  output,
struct sConvertTypes dConvertTypes 
)

Definition at line 295 of file ipconv.cc.

296 {
297  memset(output,0,sizeof(sleftv));
298  if ((inputType==outputType)
299  || (outputType==DEF_CMD)
300  || ((outputType==IDHDL)&&(input->rtyp==IDHDL)))
301  {
302  memcpy(output,input,sizeof(*output));
303  memset(input,0,sizeof(*input));
304  return FALSE;
305  }
306  else if (outputType==ANY_TYPE)
307  {
308  output->rtyp=ANY_TYPE;
309  output->data=(char *)(long)input->Typ();
310  /* the name of the object:*/
311  if (input->e==NULL)
312  {
313  if (input->rtyp==IDHDL)
314  /* preserve name: copy it */
315  output->name=omStrDup(IDID((idhdl)(input->data)));
316  else if (input->name!=NULL)
317  {
318  if (input->rtyp==ALIAS_CMD)
319  output->name=omStrDup(input->name);
320  else
321  {
322  output->name=input->name;
323  input->name=NULL;
324  }
325  }
326  else if ((input->rtyp==POLY_CMD) && (input->name==NULL))
327  {
328  if (input->data!=NULL)
329  {
330  int nr=pIsPurePower((poly)input->data);
331  if (nr!=0)
332  {
333  if (pGetExp((poly)input->data,nr)==1)
334  {
335  output->name=omStrDup(currRing->names[nr-1]);
336  }
337  else
338  {
339  char *tmp=(char *)omAlloc(4);
340  sprintf(tmp,"%c%d",*(currRing->names[nr-1]),
341  (int)pGetExp((poly)input->data,nr));
342  output->name=tmp;
343  }
344  }
345  else if(pIsConstant((poly)input->data))
346  {
347  StringSetS("");
348  number n=(pGetCoeff((poly)input->data));
349  n_Write(n, currRing->cf);
350  (pGetCoeff((poly)input->data))=n;
351  output->name=StringEndS();
352  }
353  }
354  }
355  else if ((input->rtyp==NUMBER_CMD) && (input->name==NULL))
356  {
357  StringSetS("");
358  number n=(number)input->data;
359  n_Write(n, currRing->cf);
360  input->data=(void*)n;
361  output->name=StringEndS();
362  }
363  else
364  {
365  /* no need to preserve name: use it */
366  output->name=input->name;
367  memset(input,0,sizeof(*input));
368  }
369  }
370  output->next=input->next;
371  input->next=NULL;
372  return FALSE;
373  }
374  if (index!=0) /* iiTestConvert does not returned 'failure' */
375  {
376  index--;
377 
378  if((dConvertTypes[index].i_typ==inputType)
379  &&(dConvertTypes[index].o_typ==outputType))
380  {
381  if(traceit&TRACE_CONV)
382  {
383  Print("automatic conversion %s -> %s\n",
384  Tok2Cmdname(inputType),Tok2Cmdname(outputType));
385  }
386  if ((currRing==NULL) && (outputType>BEGIN_RING) && (outputType<END_RING))
387  return TRUE;
388  output->rtyp=outputType;
389  if (dConvertTypes[index].p!=NULL)
390  {
391  output->data=dConvertTypes[index].p(input->CopyD());
392  }
393  else
394  {
395  dConvertTypes[index].pl(output,input);
396  }
397  if ((output->data==NULL)
398  && ((outputType!=INT_CMD)
399  &&(outputType!=POLY_CMD)
400  &&(outputType!=VECTOR_CMD)
401  &&(outputType!=NUMBER_CMD)))
402  {
403  return TRUE;
404  }
405  output->next=input->next;
406  input->next=NULL;
407  //if (outputType==MATRIX_CMD) Print("convert %d -> matrix\n",inputType);
408  return FALSE;
409  }
410  }
411  return TRUE;
412 }
#define pIsPurePower(p)
Definition: polys.h:219
Class used for (list of) interpreter objects.
Definition: subexpr.h:83
#define ANY_TYPE
Definition: tok.h:34
#define Print
Definition: emacs.cc:83
Definition: tok.h:85
Subexpr e
Definition: subexpr.h:106
#define IDID(a)
Definition: ipid.h:121
#define FALSE
Definition: auxiliary.h:140
return P p
Definition: myNF.cc:203
#define TRACE_CONV
Definition: reporter.h:34
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
#define TRUE
Definition: auxiliary.h:144
char * StringEndS()
Definition: reporter.cc:151
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy ...
Definition: monomials.h:51
int traceit
Definition: febase.cc:47
int Typ()
Definition: subexpr.cc:949
#define omAlloc(size)
Definition: omAllocDecl.h:210
Definition: idrec.h:34
#define IDHDL
Definition: tok.h:35
void * data
Definition: subexpr.h:89
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
#define pGetExp(p, i)
Exponent.
Definition: polys.h:41
Definition: tok.h:58
const char * name
Definition: subexpr.h:88
polyrec * poly
Definition: hilb.h:10
void StringSetS(const char *st)
Definition: reporter.cc:128
static FORCE_INLINE void n_Write(number &n, const coeffs r, const BOOLEAN bShortOut=TRUE)
Definition: coeffs.h:590
#define pIsConstant(p)
like above, except that Comp might be != 0
Definition: polys.h:209
leftv next
Definition: subexpr.h:87
static int index(p_Length length, p_Ord ord)
Definition: p_Procs_Impl.h:597
Definition: tok.h:38
#define NULL
Definition: omList.c:10
const char * Tok2Cmdname(int tok)
Definition: gentable.cc:128
int rtyp
Definition: subexpr.h:92
void * CopyD(int t)
Definition: subexpr.cc:656
#define omStrDup(s)
Definition: omAllocDecl.h:263
static void* iiDummy ( void *  data)
static

Definition at line 141 of file ipconv.cc.

142 {
143  return data;
144 }
static void* iiI2BI ( void *  data)
static

Definition at line 171 of file ipconv.cc.

172 {
173  number n=n_Init((int)(long)data, coeffs_BIGINT);
174  return (void *)n;
175 }
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
Definition: coeffs.h:537
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
coeffs coeffs_BIGINT
Definition: ipid.cc:53
static void* iiI2Id ( void *  data)
static

Definition at line 86 of file ipconv.cc.

87 {
88  ideal I=idInit(1,1);
89  I->m[0]=pISet((int)(long)data);
90  return (void *)I;
91 }
const ideal
Definition: gb_hack.h:42
ideal idInit(int idsize, int rank)
Definition: simpleideals.cc:40
#define pISet(i)
Definition: polys.h:283
static void* iiI2Iv ( void *  data)
static

Definition at line 158 of file ipconv.cc.

159 {
160  int s=(int)(long)data;
161  intvec *iv=new intvec(s,s);
162  return (void *)iv;
163 }
const const intvec const intvec const ring _currRing const const intvec const intvec const ring _currRing int
Definition: gb_hack.h:53
const CanonicalForm int s
Definition: facAbsFact.cc:55
Definition: intvec.h:16
static void* iiI2N ( void *  data)
static

Definition at line 165 of file ipconv.cc.

166 {
167  number n=nInit((int)(long)data);
168  return (void *)n;
169 }
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
#define nInit(i)
Definition: numbers.h:24
static void* iiI2P ( void *  data)
static

Definition at line 44 of file ipconv.cc.

45 {
46  poly p=pISet((int)(long)data);
47  return (void *)p;
48 }
return P p
Definition: myNF.cc:203
polyrec * poly
Definition: hilb.h:10
#define pISet(i)
Definition: polys.h:283
static void* iiI2V ( void *  data)
static

Definition at line 64 of file ipconv.cc.

65 {
66  poly p=pISet((int)(long)data);
67  if (p!=NULL) pSetComp(p,1);
68  return (void *)p;
69 }
return P p
Definition: myNF.cc:203
polyrec * poly
Definition: hilb.h:10
#define pSetComp(p, v)
Definition: polys.h:38
#define NULL
Definition: omList.c:10
#define pISet(i)
Definition: polys.h:283
static void* iiIm2Bim ( void *  data)
static

Definition at line 208 of file ipconv.cc.

209 {
210  intvec *iv=(intvec*)data;
211  void *r=(void *)iv2bim(iv,coeffs_BIGINT);
212  delete iv;
213  return r;
214 }
bigintmat * iv2bim(intvec *b, const coeffs C)
Definition: bigintmat.cc:347
coeffs coeffs_BIGINT
Definition: ipid.cc:53
const ring r
Definition: syzextra.cc:208
Definition: intvec.h:16
static void* iiIm2Ma ( void *  data)
static

Definition at line 191 of file ipconv.cc.

192 {
193  int i, j;
194  intvec *iv = (intvec *)data;
195  matrix m = mpNew(iv->rows(), iv->cols());
196 
197  for (i=iv->rows(); i>0; i--)
198  {
199  for (j=iv->cols(); j>0; j--)
200  {
201  MATELEM(m, i, j) = pISet(IMATELEM(*iv, i, j));
202  }
203  }
204  delete iv;
205  return (void *)m;
206 }
Definition: intvec.h:16
int j
Definition: myNF.cc:70
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123
matrix mpNew(int r, int c)
create a r x c zero-matrix
Definition: matpol.cc:48
int cols() const
Definition: intvec.h:86
int rows() const
Definition: intvec.h:87
#define pISet(i)
Definition: polys.h:283
#define IMATELEM(M, I, J)
Definition: intvec.h:76
#define MATELEM(mat, i, j)
Definition: matpol.h:29
static void* iiL2R ( void *  data)
static

Definition at line 279 of file ipconv.cc.

280 {
281  return (void *)syConvList((lists)data,TRUE);
282 }
Definition: lists.h:22
#define TRUE
Definition: auxiliary.h:144
syStrategy syConvList(lists li, BOOLEAN toDel)
Definition: ipshell.cc:2961
static void* iiMa2Mo ( void *  data)
static

Definition at line 152 of file ipconv.cc.

153 {
154  void *res=id_Matrix2Module((matrix)data,currRing);
155  return res;
156 }
poly res
Definition: myNF.cc:322
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
ideal id_Matrix2Module(matrix mat, const ring R)
static void* iiMo2Ma ( void *  data)
static

Definition at line 146 of file ipconv.cc.

147 {
148  void *res=id_Module2Matrix((ideal)data,currRing);
149  return res;
150 }
const ideal
Definition: gb_hack.h:42
poly res
Definition: myNF.cc:322
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
matrix id_Module2Matrix(ideal mod, const ring R)
static void* iiN2Ma ( void *  data)
static

Definition at line 238 of file ipconv.cc.

239 {
240  ideal I=idInit(1,1);
241  if (!nIsZero((number)data))
242  {
243  poly p=pNSet((number)data);
244  I->m[0]=p;
245  }
246  //else
247  //{
248  // nDelete((number *)&data);
249  //}
250  return (void *)I;
251 }
#define pNSet(n)
Definition: polys.h:284
return P p
Definition: myNF.cc:203
const ideal
Definition: gb_hack.h:42
polyrec * poly
Definition: hilb.h:10
ideal idInit(int idsize, int rank)
Definition: simpleideals.cc:40
#define nIsZero(n)
Definition: numbers.h:19
static void * iiN2P ( void *  data)
static

Definition at line 224 of file ipconv.cc.

225 {
226  poly p=NULL;
227  if (!nIsZero((number)data))
228  {
229  p=pNSet((number)data);
230  }
231  //else
232  //{
233  // nDelete((number *)&data);
234  //}
235  return (void *)p;
236 }
#define pNSet(n)
Definition: polys.h:284
return P p
Definition: myNF.cc:203
polyrec * poly
Definition: hilb.h:10
#define nIsZero(n)
Definition: numbers.h:19
#define NULL
Definition: omList.c:10
static void* iiP2Id ( void *  data)
static

Definition at line 115 of file ipconv.cc.

116 {
117  ideal I=idInit(1,1);
118 
119  if (data!=NULL)
120  {
121  poly p=(poly)data;
122  I->m[0]=p;
123  if (pGetComp(p)!=0) I->rank=pMaxComp(p);
124  }
125  return (void *)I;
126 }
#define pMaxComp(p)
Definition: polys.h:270
return P p
Definition: myNF.cc:203
const ideal
Definition: gb_hack.h:42
#define pGetComp(p)
Component.
Definition: polys.h:37
polyrec * poly
Definition: hilb.h:10
ideal idInit(int idsize, int rank)
Definition: simpleideals.cc:40
#define NULL
Definition: omList.c:10
static void* iiP2V ( void *  data)
static

Definition at line 108 of file ipconv.cc.

109 {
110  poly p=(poly)data;
111  if (p!=NULL) pSetCompP(p,1);
112  return (void *)p;
113 }
return P p
Definition: myNF.cc:203
#define pSetCompP(a, i)
Definition: polys.h:274
polyrec * poly
Definition: hilb.h:10
#define NULL
Definition: omList.c:10
static void iiR2L_l ( leftv  out,
leftv  in 
)
static

Definition at line 268 of file ipconv.cc.

269 {
270  int add_row_shift = 0;
271  intvec *weights=(intvec*)atGet(in,"isHomog",INTVEC_CMD);
272  if (weights!=NULL) add_row_shift=weights->min_in();
273 
274  syStrategy tmp=(syStrategy)in->CopyD();
275 
276  out->data=(void *)syConvRes(tmp,TRUE,add_row_shift);
277 }
lists syConvRes(syStrategy syzstr, BOOLEAN toDel, int add_row_shift)
Definition: ipshell.cc:2885
#define TRUE
Definition: auxiliary.h:144
int min_in()
Definition: intvec.h:109
void * data
Definition: subexpr.h:89
Definition: intvec.h:16
Definition: tok.h:88
void * atGet(idhdl root, const char *name, int t, void *defaultReturnValue)
Definition: attrib.cc:135
#define NULL
Definition: omList.c:10
void * CopyD(int t)
Definition: subexpr.cc:656
ssyStrategy * syStrategy
Definition: syz.h:35
static void* iiS2Link ( void *  data)
static

Definition at line 253 of file ipconv.cc.

254 {
256  slInit(l, (char *) data);
257  omFree((ADDRESS)data);
258  return (void *)l;
259 }
void * ADDRESS
Definition: auxiliary.h:161
#define omFree(addr)
Definition: omAllocDecl.h:261
#define omAlloc0Bin(bin)
Definition: omAllocDecl.h:206
int l
Definition: cfEzgcd.cc:94
int iiTestConvert ( int  inputType,
int  outputType,
struct sConvertTypes dConvertTypes 
)

Definition at line 418 of file ipconv.cc.

419 {
420  if ((inputType==outputType)
421  || (outputType==DEF_CMD)
422  || (outputType==IDHDL)
423  || (outputType==ANY_TYPE))
424  {
425  return -1;
426  }
427 
428  if ((currRing==NULL) && (outputType>BEGIN_RING) && (outputType<END_RING))
429  return 0;
430 
431  // search the list
432  int i=0;
433  while (dConvertTypes[i].i_typ!=0)
434  {
435  if((dConvertTypes[i].i_typ==inputType)
436  &&(dConvertTypes[i].o_typ==outputType))
437  {
438  //Print("test convert %d to %d (%s -> %s):%d\n",inputType,outputType,
439  //Tok2Cmdname(inputType), Tok2Cmdname(outputType),i+1);
440  return i+1;
441  }
442  i++;
443  }
444  //Print("test convert %d to %d (%s -> %s):0\n",inputType,outputType,
445  // Tok2Cmdname(inputType), Tok2Cmdname(outputType));
446  return 0;
447 }
#define ANY_TYPE
Definition: tok.h:34
#define IDHDL
Definition: tok.h:35
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
Definition: tok.h:58
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10
static void* iiV2Ma ( void *  data)
static

Definition at line 128 of file ipconv.cc.

129 {
130  matrix m=(matrix)idVec2Ideal((poly)data);
131  int h=MATCOLS(m);
132  MATCOLS(m)=MATROWS(m);
133  MATROWS(m)=h;
134  m->rank=h;
135  pDelete((poly *)&data);
136  return (void *)m;
137 }
polyrec * poly
Definition: hilb.h:10
ip_smatrix * matrix
int m
Definition: cfEzgcd.cc:119
#define MATCOLS(i)
Definition: matpol.h:28
ideal idVec2Ideal(poly vec, const ring R=currRing)
Definition: ideals.h:172
#define pDelete(p_ptr)
Definition: polys.h:157
#define MATROWS(i)
Definition: matpol.h:27
static Poly * h
Definition: janet.cc:978
long rank
Definition: matpol.h:20