 ! template class MRFEnergy<TypeTruncatedQuadratic2D>;
 ! */
 diff -crB TRW_S-v1.3/minimize.cpp TRWS-v1.3.src-patched/minimize.cpp
-*** TRW_S-v1.3/minimize.cpp	2006-11-17 16:29:24.000000000 +0100
---- TRWS-v1.3.src-patched/minimize.cpp	2013-04-26 10:56:40.000000000 +0200
+*** TRW_S-v1.3/minimize.cpp	Fri Nov 17 16:29:24 2006
+--- TRWS-v1.3.src-patched/minimize.cpp	Thu May 23 19:59:56 2013
 ***************
 *** 20,26 ****
   		CompleteGraphConstruction();

  		}
  
  		// if finishFlag==true terminate
Only in TRWS-v1.3.src-patched/: minimize.cpp~
diff -crB TRW_S-v1.3/MRFEnergy.cpp TRWS-v1.3.src-patched/MRFEnergy.cpp
*** TRW_S-v1.3/MRFEnergy.cpp	2006-11-18 15:15:38.000000000 +0100
--- TRWS-v1.3.src-patched/MRFEnergy.cpp	2013-04-25 09:25:55.000000000 +0200
***************
*** 40,52 ****
  {
  	if (m_isEnergyConstructionCompleted)
  	{
! 		m_errorFn("Error in AddNode(): graph construction completed - nodes cannot be added");
  	}
  
  	int actualVectorSize = Vector::GetSizeInBytes(m_Kglobal, K);
  	if (actualVectorSize < 0)
  	{
! 		m_errorFn("Error in AddNode() (invalid parameter?)");
  	}
  	if (m_vectorMaxSizeInBytes < actualVectorSize)
  	{
--- 40,52 ----
  {
  	if (m_isEnergyConstructionCompleted)
  	{
! 	  m_errorFn((char*)("Error in AddNode(): graph construction completed - nodes cannot be added"));
  	}
  
  	int actualVectorSize = Vector::GetSizeInBytes(m_Kglobal, K);
  	if (actualVectorSize < 0)
  	{
! 	  m_errorFn((char*)("Error in AddNode() (invalid parameter?)"));
  	}
  	if (m_vectorMaxSizeInBytes < actualVectorSize)
  	{
***************
*** 86,92 ****
  {
  	if (m_isEnergyConstructionCompleted)
  	{
! 		m_errorFn("Error in AddNode(): graph construction completed - nodes cannot be added");
  	}
  
  	MRFEdge* e;
--- 86,92 ----
  {
  	if (m_isEnergyConstructionCompleted)
  	{
! 	  m_errorFn((char*)("Error in AddNode(): graph construction completed - nodes cannot be added"));
  	}
  
  	MRFEdge* e;
***************
*** 94,100 ****
  	int actualEdgeSize = Edge::GetSizeInBytes(m_Kglobal, i->m_K, j->m_K, data);
  	if (actualEdgeSize < 0)
  	{
! 		m_errorFn("Error in AddEdge() (invalid parameter?)");
  	}
  	int MRFedgeSize = sizeof(MRFEdge) - sizeof(Edge) + actualEdgeSize;
  	e = (MRFEdge*) Malloc(MRFedgeSize);
--- 94,100 ----
  	int actualEdgeSize = Edge::GetSizeInBytes(m_Kglobal, i->m_K, j->m_K, data);
  	if (actualEdgeSize < 0)
  	{
! 	  m_errorFn((char*)("Error in AddEdge() (invalid parameter?)"));
  	}
  	int MRFedgeSize = sizeof(MRFEdge) - sizeof(Edge) + actualEdgeSize;
  	e = (MRFEdge*) Malloc(MRFedgeSize);
***************
*** 172,185 ****
  
  	if (m_isEnergyConstructionCompleted)
  	{
! 		m_errorFn("Fatal error in CompleteGraphConstruction");
  	}
  
! 	printf("Completing graph construction... ");
  
  	if (m_buf)
  	{
! 		m_errorFn("CompleteGraphConstruction(): fatal error");
  	}
  
  	m_buf = (char *) Malloc(m_vectorMaxSizeInBytes + 
--- 172,185 ----
  
  	if (m_isEnergyConstructionCompleted)
  	{
! 	  m_errorFn((char*)("Fatal error in CompleteGraphConstruction"));
  	}
  
! 	//printf("Completing graph construction... ");
  
  	if (m_buf)
  	{
! 	  m_errorFn((char*)("CompleteGraphConstruction(): fatal error"));
  	}
  
  	m_buf = (char *) Malloc(m_vectorMaxSizeInBytes + 
***************
*** 195,206 ****
  		  || (i->m_ordering == 0 && i->m_prev)
  		  || (i->m_ordering != 0 && i->m_prev->m_ordering != ordering-1) )
  		{
! 			m_errorFn("CompleteGraphConstruction(): fatal error (wrong ordering)");
  		}
  	}
  	if (ordering != m_nodeNum)
  	{
! 		m_errorFn("CompleteGraphConstruction(): fatal error");
  	}
  #endif
  	for (i=m_nodeFirst; i; i=i->m_next)
--- 195,206 ----
  		  || (i->m_ordering == 0 && i->m_prev)
  		  || (i->m_ordering != 0 && i->m_prev->m_ordering != ordering-1) )
  		{
! 		  m_errorFn((char*)("CompleteGraphConstruction(): fatal error (wrong ordering)"));
  		}
  	}
  	if (ordering != m_nodeNum)
  	{
! 	  m_errorFn((char*)("CompleteGraphConstruction(): fatal error"));
  	}
  #endif
  	for (i=m_nodeFirst; i; i=i->m_next)
***************
*** 255,259 ****
  
  	// ZeroMessages();
  
! 	printf("done\n");
  }
--- 255,259 ----
  
  	// ZeroMessages();
  
! 	//printf("done\n");
  }
diff -crB TRW_S-v1.3/MRFEnergy.h TRWS-v1.3.src-patched/MRFEnergy.h
*** TRW_S-v1.3/MRFEnergy.h	2006-11-18 15:14:50.000000000 +0100
--- TRWS-v1.3.src-patched/MRFEnergy.h	2013-04-25 09:25:55.000000000 +0200
***************
*** 223,229 ****
  	{
  		int size = (bytesNum > MallocBlock::minBlockSizeInBytes) ? bytesNum : MallocBlock::minBlockSizeInBytes;
  		MallocBlock* b = (MallocBlock*) new char[sizeof(MallocBlock) + size];
! 		if (!b) m_errorFn("Not enough memory");
  		b->m_current = (char*) b + sizeof(MallocBlock);
  		b->m_last    = b->m_current + size;
  
--- 223,229 ----
  	{
  		int size = (bytesNum > MallocBlock::minBlockSizeInBytes) ? bytesNum : MallocBlock::minBlockSizeInBytes;
  		MallocBlock* b = (MallocBlock*) new char[sizeof(MallocBlock) + size];
! 		if (!b) m_errorFn((char*)("Not enough memory"));
  		b->m_current = (char*) b + sizeof(MallocBlock);
  		b->m_last    = b->m_current + size;
  
diff -crB TRW_S-v1.3/typeGeneral.h TRWS-v1.3.src-patched/typeGeneral.h
*** TRW_S-v1.3/typeGeneral.h	2006-11-18 14:49:14.000000000 +0100
--- TRWS-v1.3.src-patched/typeGeneral.h	2013-04-25 09:25:55.000000000 +0200
***************
*** 480,499 ****
  	{

+ 	return 0;
  }
diff -crB TRW_S-v1.3/instances.inc TRWS-v1.3.src-patched/instances.inc
*** TRW_S-v1.3/instances.inc	Thu Mar  3 10:58:14 2005
--- TRWS-v1.3.src-patched/instances.inc	Thu May 23 19:59:56 2013
***************
*** 1,11 ****
! 
