Typedefs | Functions
ipprint.h File Reference
#include <kernel/structs.h>

Go to the source code of this file.

Typedefs

typedef sleftvleftv
 

Functions

BOOLEAN jjPRINT (leftv res, leftv u)
 
BOOLEAN jjPRINT_FORMAT (leftv res, leftv u, leftv v)
 
BOOLEAN jjDBPRINT (leftv res, leftv u)
 

Typedef Documentation

◆ leftv

typedef sleftv* leftv

Definition at line 11 of file ipprint.h.

Function Documentation

◆ jjDBPRINT()

BOOLEAN jjDBPRINT ( leftv  res,
leftv  u 
)

Definition at line 320 of file ipprint.cc.

321 {
322  BOOLEAN print=(printlevel>myynest);
323  if ((u->next!=NULL)&&(u->Typ()==INT_CMD))
324  {
325  print= (((int)((long)(u->Data()))) > 0);
326  u=u->next;
327  }
328  if (print)
329  {
330  // BOOLEAN r=FALSE;
331  leftv h=u;
332  leftv hh;
333  while (h!=NULL)
334  {
335  hh=h->next;
336  h->next=NULL;
337  if (jjPRINT(res, h)) return TRUE;
338  PrintS((char*)res->data);
339  omFree(res->data);
340  PrintLn();
341  h->next=hh;
342  h=hh;
343  }
344  }
345  return FALSE;
346 }
Class used for (list of) interpreter objects.
Definition: subexpr.h:83
void PrintLn()
Definition: reporter.cc:310
Definition: tok.h:95
#define FALSE
Definition: auxiliary.h:94
#define TRUE
Definition: auxiliary.h:98
int Typ()
Definition: subexpr.cc:995
void * data
Definition: subexpr.h:89
int myynest
Definition: febase.cc:46
BOOLEAN jjPRINT(leftv res, leftv u)
Definition: ipprint.cc:255
#define omFree(addr)
Definition: omAllocDecl.h:261
void PrintS(const char *s)
Definition: reporter.cc:284
leftv next
Definition: subexpr.h:87
#define NULL
Definition: omList.c:10
void * Data()
Definition: subexpr.cc:1137
int printlevel
Definition: febase.cc:42
static Poly * h
Definition: janet.cc:978
int BOOLEAN
Definition: auxiliary.h:85

◆ jjPRINT()

BOOLEAN jjPRINT ( leftv  res,
leftv  u 
)

Definition at line 255 of file ipprint.cc.

256 {
257  SPrintStart();
258  BOOLEAN bo=FALSE;
259  switch(u->Typ())
260  {
261  case INTVEC_CMD:
262  bo=ipPrint_INTVEC(u);
263  break;
264 
265  case INTMAT_CMD:
266  bo=ipPrint_INTMAT(u);
267  break;
268 
269  case MATRIX_CMD:
270  bo=ipPrint_MA(u);
271  break;
272 
273  case IDEAL_CMD:
274  {
275  char* s = u->String(NULL, FALSE, 2);
276  PrintS(s);
277  PrintLn();
278  omFree(s);
279  break;
280  }
281 
282  case MODUL_CMD:
283  {
285  ipPrint_MA0(m, u->Name());
286  id_Delete((ideal *) &m,currRing);
287  break;
288  }
289 
290  case VECTOR_CMD:
291  bo=ipPrint_V(u);
292  break;
293 
294  case RING_CMD:
295  bo=ipPrint_RING(u);
296  break;
297 
298  case CRING_CMD:
299  bo=ipPrint_CRING(u);
300  break;
301 
302  default:
303  u->Print();
304  break;
305  }
306  char *s=SPrintEnd();
307  if (u->next==NULL)
308  {
309  int l=strlen(s);
310  if (s[l-1]=='\n') s[l-1]='\0';
311  }
312  res->data=(void*)s;
313  return bo;
314 }
const CanonicalForm int s
Definition: facAbsFact.cc:55
void PrintLn()
Definition: reporter.cc:310
#define FALSE
Definition: auxiliary.h:94
ideal id_Copy(ideal h1, const ring r)
copy an ideal
static BOOLEAN ipPrint_MA(leftv u)
Definition: ipprint.cc:186
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
static BOOLEAN ipPrint_RING(leftv u)
Definition: ipprint.cc:196
static void ipPrint_MA0(matrix m, const char *name)
Definition: ipprint.cc:60
int Typ()
Definition: subexpr.cc:995
const char * Name()
Definition: subexpr.h:121
void Print(leftv store=NULL, int spaces=0)
Called by type_cmd (e.g. "r;") or as default in jPRINT.
Definition: subexpr.cc:72
char * String(void *d=NULL, BOOLEAN typed=FALSE, int dim=1)
Called for conversion to string (used by string(..), write(..),..)
Definition: subexpr.cc:751
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:10
Definition: tok.h:56
static BOOLEAN ipPrint_V(leftv u)
Definition: ipprint.cc:229
#define omFree(addr)
Definition: omAllocDecl.h:261
static BOOLEAN ipPrint_INTMAT(leftv u)
Definition: ipprint.cc:42
int m
Definition: cfEzgcd.cc:119
void PrintS(const char *s)
Definition: reporter.cc:284
matrix id_Module2Matrix(ideal mod, const ring R)
static BOOLEAN ipPrint_CRING(leftv u)
Definition: ipprint.cc:214
char * SPrintEnd()
Definition: reporter.cc:273
leftv next
Definition: subexpr.h:87
#define NULL
Definition: omList.c:10
static BOOLEAN ipPrint_INTVEC(leftv u)
Definition: ipprint.cc:31
void * Data()
Definition: subexpr.cc:1137
void SPrintStart()
Definition: reporter.cc:246
int BOOLEAN
Definition: auxiliary.h:85
int l
Definition: cfEzgcd.cc:94

◆ jjPRINT_FORMAT()

BOOLEAN jjPRINT_FORMAT ( leftv  res,
leftv  u,
leftv  v 
)

Definition at line 393 of file ipprint.cc.

394 {
395 /* ==================== betti ======================================== */
396  if ((u->Typ()==INTMAT_CMD)&&(strcmp((char *)v->Data(),"betti")==0))
397  {
398  SPrintStart();
399  ipPrintBetti(u);
400  char *s = SPrintEnd();
401  s[strlen(s)]='\0';
402  res->data=s;
403  }
404  else
405 /* ======================== end betti ================================= */
406  {
407  char* ns = omStrDup((char*) v->Data());
408  int dim = 1;
409  if (strlen(ns) == 3 && ns[1] == '2')
410  {
411  dim = 2;
412  ns[1] = ns[2];
413  ns[2] = '\0';
414  }
415  if (strcmp(ns,"%l") == 0)
416  {
417  res->data = (char*) u->String(NULL, TRUE, dim);
418  if (dim == 2)
419  {
420  char* ns = (char*) omAlloc(strlen((char*) res->data) + 2);
421  strcpy(ns, (char*) res->data);
422  omFree(res->data);
423  strcat(ns, "\n");
424  res->data = ns;
425  }
426  }
427  else if (strcmp(ns,"%t") == 0)
428  {
429  SPrintStart();
430  type_cmd(u);
431  res->data = SPrintEnd();
432  if (dim != 2)
433  ((char*)res->data)[strlen((char*)res->data) -1] = '\0';
434  }
435  else if (strcmp(ns,"%;") == 0)
436  {
437  SPrintStart();
438  u->Print();
439  if (dim == 2) PrintLn();
440  res->data = SPrintEnd();
441  }
442  else if (strcmp(ns,"%p") == 0)
443  {
444  iiExprArith1(res, u, PRINT_CMD);
445  }
446  else if (strcmp(ns,"%b") == 0 && (u->Typ()==INTMAT_CMD))
447  {
448  SPrintStart();
449  ipPrintBetti(u);
450  if (dim == 2) PrintLn();
451  res->data = SPrintEnd();
452  }
453  else
454  {
455  res->data = u->String(NULL, FALSE, dim);
456  if (dim == 2)
457  {
458  char* ns = (char*) omAlloc(strlen((char*) res->data) + 2);
459  strcpy(ns, (char*) res->data);
460  omFree(res->data);
461  strcat(ns, "\n");
462  res->data = ns;
463  }
464  }
465  omFree(ns);
466  }
467  return FALSE;
468 }
Definition: tok.h:154
const CanonicalForm int s
Definition: facAbsFact.cc:55
void PrintLn()
Definition: reporter.cc:310
BOOLEAN iiExprArith1(leftv res, leftv a, int op)
Definition: iparith.cc:8215
#define FALSE
Definition: auxiliary.h:94
#define TRUE
Definition: auxiliary.h:98
void type_cmd(leftv v)
Definition: ipshell.cc:246
int Typ()
Definition: subexpr.cc:995
#define omAlloc(size)
Definition: omAllocDecl.h:210
void Print(leftv store=NULL, int spaces=0)
Called by type_cmd (e.g. "r;") or as default in jPRINT.
Definition: subexpr.cc:72
char * String(void *d=NULL, BOOLEAN typed=FALSE, int dim=1)
Called for conversion to string (used by string(..), write(..),..)
Definition: subexpr.cc:751
void * data
Definition: subexpr.h:89
#define omFree(addr)
Definition: omAllocDecl.h:261
int dim(ideal I, ring r)
char * SPrintEnd()
Definition: reporter.cc:273
#define NULL
Definition: omList.c:10
static void ipPrintBetti(leftv u)
Definition: ipprint.cc:348
void * Data()
Definition: subexpr.cc:1137
void SPrintStart()
Definition: reporter.cc:246
#define omStrDup(s)
Definition: omAllocDecl.h:263