Public Member Functions | Private Attributes
RTagNode Class Reference

#include <f5lists.h>

Public Member Functions

 RTagNode ()
 
 RTagNode (RNode *r)
 
 RTagNode (RNode *r, RTagNode *n)
 
 ~RTagNode ()
 
RTagNodeinsert (RNode *r)
 
RNodegetRNode ()
 
RTagNodegetNext ()
 
RNodeget (int idx, int length)
 
void set (RNode *)
 
void print ()
 

Private Attributes

RNodedata
 
RTagNodenext
 

Detailed Description

Definition at line 337 of file f5lists.h.

Constructor & Destructor Documentation

RTagNode::RTagNode ( )

Definition at line 1107 of file f5lists.cc.

1107  {
1108  data = NULL;
1109  next = NULL;
1110 }
RTagNode * next
Definition: f5lists.h:340
#define NULL
Definition: omList.c:10
RNode * data
Definition: f5lists.h:339
RTagNode::RTagNode ( RNode r)

Definition at line 1112 of file f5lists.cc.

1112  {
1113  data = r;
1114  next = NULL;
1115 }
RTagNode * next
Definition: f5lists.h:340
const ring r
Definition: syzextra.cc:208
#define NULL
Definition: omList.c:10
RNode * data
Definition: f5lists.h:339
RTagNode::RTagNode ( RNode r,
RTagNode n 
)

Definition at line 1117 of file f5lists.cc.

1117  {
1118 
1119  data = r;
1120  next = n;
1121 }
RTagNode * next
Definition: f5lists.h:340
const ring r
Definition: syzextra.cc:208
RNode * data
Definition: f5lists.h:339
RTagNode::~RTagNode ( )

Definition at line 1123 of file f5lists.cc.

1123  {
1124  delete data;
1125 }
RNode * data
Definition: f5lists.h:339

Member Function Documentation

RNode * RTagNode::get ( int  idx,
int  length 
)

Definition at line 1148 of file f5lists.cc.

1148  {
1149  if(idx==1 || idx==0) {
1150  // NOTE: We set this NULL as putting it the last element in the list, i.e. the element having
1151  // RNode* = NULL would cost lots of iterations at each step of F5inc, with increasing
1152  // length of the list this should be prevented
1153  return NULL;
1154  }
1155  else {
1156  int j;
1157  RTagNode* temp = this;
1158  //Print("\n\nHIER IN GET IDX\n");
1159  //Print("FOR LOOP: %d\n",length-idx+1);
1160  for(j=1; j<=length-idx+1; j++) {
1161  temp = temp->next;
1162  }
1163  return temp->data;
1164  }
1165 }
RTagNode * next
Definition: f5lists.h:340
int j
Definition: myNF.cc:70
#define NULL
Definition: omList.c:10
RNode * data
Definition: f5lists.h:339
RTagNode * RTagNode::getNext ( )

Definition at line 1141 of file f5lists.cc.

1141  {
1142  return next;
1143 }
RTagNode * next
Definition: f5lists.h:340
RNode * RTagNode::getRNode ( )

Definition at line 1135 of file f5lists.cc.

1135  {
1136  //Print("%p\n", this);
1137  //Print("%p\n",this->data);
1138  return this->data;
1139 }
RNode * data
Definition: f5lists.h:339
RTagNode * RTagNode::insert ( RNode r)

Definition at line 1128 of file f5lists.cc.

1128  {
1129  //Print("Hier1\n");
1130  RTagNode* newElement = new RTagNode(r, this);
1131  //Print("Hier2\n");
1132  return newElement;
1133 }
RTagNode()
Definition: f5lists.cc:1107
void RTagNode::print ( )

Definition at line 1172 of file f5lists.cc.

1172  {
1173  RTagNode* temp = this;
1174  if(NULL != temp && NULL != temp->getRNode()) {
1175  Print("1. element: %d, ",getRNode()->getRuleOld()->getIndex());
1176  pWrite(getRNode()->getRuleOld()->getTerm());
1177  temp = temp->next;
1178  int i = 2;
1179  while(NULL != temp->getRNode() && NULL != temp) {
1180  Print("%d. element: %d, ",i,getRNode()->getRuleOld()->getIndex());
1181  pWrite(getRNode()->getRuleOld()->getTerm());
1182  temp = temp->next;
1183  i++;
1184  }
1185  }
1186 }
#define Print
Definition: emacs.cc:83
static poly getTerm(const ideal H, const mark ab)
void pWrite(poly p)
Definition: polys.h:279
RTagNode * next
Definition: f5lists.h:340
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10
RNode * getRNode()
Definition: f5lists.cc:1135
void RTagNode::set ( RNode r)

Definition at line 1167 of file f5lists.cc.

1167  {
1168  this->data = r;
1169 }
const ring r
Definition: syzextra.cc:208
RNode * data
Definition: f5lists.h:339

Field Documentation

RNode* RTagNode::data
private

Definition at line 339 of file f5lists.h.

RTagNode* RTagNode::next
private

Definition at line 340 of file f5lists.h.


The documentation for this class was generated from the following files: