next up previous contents
Next: Run-Time Results: Up: The New Access Objects: Previous: Updates to graphacces.h

Updates to graphaccess.c

The implementations are very similar to what we did for the graph access methods:

//ACCESS_DPEDGESTRUCT
int ACCESS_DPEDGESTRUCT::equal(Arbent a,Arbent b)
{ 
  DPEdgeStruct *t = (DPEdgeStruct *)a;
  DPEdgeStruct *s = (DPEdgeStruct *)b;
  
  return(  (t->time==s->time)); 
}
void ACCESS_DPEDGESTRUCT::entry(Arbent *a,Arbent b)
{ 
  (DPEdgeStruct *)(*a) = new DPEdgeStruct;
  DPEdgeStruct *t = (DPEdgeStruct *)b;
  ((DPEdgeStruct *)(*a))->time = t->time;
}  
ostream& ACCESS_DPEDGESTRUCT::show(ostream& out, Arbent a)
{ 
  DPEdgeStruct *t = (DPEdgeStruct *)a;
  out << "time = " << t->time << endl;
  return out; 
}

//ACCESS_DPNODESTRUCT  
int ACCESS_DPNODESTRUCT::equal(Arbent a,Arbent b)
{ 
  DPNodeStruct *t = (DPNodeStruct *)a;
  DPNodeStruct *s = (DPNodeStruct *)b;
  
  return(  (t->value==s->value)
	 &&(t->previous_value==s->previous_value)
	 &&(t->control==s->control)); 
}
void ACCESS_DPNODESTRUCT::entry(Arbent *a,Arbent b)
{ 
  (DPNodeStruct *)(*a) = new DPNodeStruct;
  DPNodeStruct *t = (DPNodeStruct *)b;
  ((DPNodeStruct *)(*a))->value = t->value;
  ((DPNodeStruct *)(*a))->previous_value = t->previous_value;
  ((DPNodeStruct *)(*a))->control = t->control;
}  
ostream& ACCESS_DPNODESTRUCT::show(ostream& out, Arbent a)
{ 
  DPNodeStruct *t = (DPNodeStruct *)a;
  out << "value = " << t->value << endl; 
  out << "previous_value = " << t->previous_value << endl;
  //out << "control = " << t->control->from() << "->" 
  //                    << t->control->to()   << endl;  
  return out; 
}


Jim Peterson
1999-04-13