/*****************************************************************************/
void cp_node_make(source,target)
list source, target; {
  int i,j,l;

  for(i=0;i<3;i++)
    for(j=0;j<2;j++)
      for(l=0;l<8;l++) {
        target->denom[i][j][l]=source->denom[i][j][l];
	target->child[i][j][l]=source->child[i][j][l];
  }
  for(i=0;i<8;i++)
    target->value[i]=source->value[i];

  target->prob=source->prob;
  /*target->Jmin=source->Jmin;
  target->Opti=source->Opti;
  target->Optj=source->Optj;
  target->optflag=source->optflag;
  target->cube=source->cube;
  target->left=source->left;
  target->right=source->right;
  target->parent=source->parent;*/
}
/*****************************************************************************/
void cp_node_find(source,target)
list source, target; {
  int i,j,l;

  for(i=0;i<3;i++)
    for(j=0;j<2;j++)
      for(l=0;l<8;l++) {
        target->denom[i][j][l]=source->denom[i][j][l];
	target->child[i][j][l]=source->child[i][j][l];
  }
  for(i=0;i<8;i++)
    target->value[i]=source->value[i];

  target->Jmin=source->Jmin;
  target->Opti=source->Opti;
  target->Optj=source->Optj;
  /*target->prob=source->prob;
  target->optflag=source->optflag;
  target->cube=source->cube;
  target->left=source->left;
  target->right=source->right;
  target->parent=source->parent;*/
}
/*****************************************************************************/
void cp_node_sort(source,target)
list source, target; {
  int i,j,l;

  for(i=0;i<3;i++)
    for(j=0;j<2;j++)
      for(l=0;l<8;l++) 
	target->child[i][j][l]=source->child[i][j][l];

  for(i=0;i<8;i++)
    target->value[i]=source->value[i];
  
  target->Opti=source->Opti;
  target->Optj=source->Optj;
  target->optflag=source->optflag;
  target->prob=source->prob;
/*target->Jmin=source->Jmin;
  target->cube=source->cube;
  target->left=source->left;
  target->right=source->right;
  target->parent=source->parent;*/
}
