about summary refs log tree commit diff
path: root/sourcecodes/k-best/src/arcToNet.cc
diff options
context:
space:
mode:
authorziejd22021-03-02 11:17:06 -0600
committerGitHub2021-03-02 11:17:06 -0600
commit33c4b9f23a53daed3b0a97114d7658015da6a07f (patch)
tree3ed43fec4c313b81d5586a3a2969bcbe33297b6d /sourcecodes/k-best/src/arcToNet.cc
parentb798acc788139830c427769c1b8a5ade717d8c20 (diff)
downloadBNW-33c4b9f23a53daed3b0a97114d7658015da6a07f.tar.gz
Delete sourcecodes/k-best directory
Diffstat (limited to 'sourcecodes/k-best/src/arcToNet.cc')
-rw-r--r--sourcecodes/k-best/src/arcToNet.cc233
1 files changed, 0 insertions, 233 deletions
diff --git a/sourcecodes/k-best/src/arcToNet.cc b/sourcecodes/k-best/src/arcToNet.cc
deleted file mode 100644
index b071baab..00000000
--- a/sourcecodes/k-best/src/arcToNet.cc
+++ /dev/null
@@ -1,233 +0,0 @@
-#include <iostream>
-#include <fstream>
-#include <iomanip>
-//#include "varpar.h"
-#include <stdlib.h>
-#include <math.h>
-#include <list>
-#include <stdio.h>
-#include <vector>
-//#include "cfg.h"
-#include <string.h>
-#include <cmath>
-//HR
-//#define EPSILON 0.001
-#define EPSILON 0.00001
-
-
-//HR: Add for hash_set
-#if __GNUC__ < 3 && __GNUC__ >= 2 && __GNUC_MINOR__ >= 95
-# include <hash_set>
-# include <functional>
-# define gnu_namespace std
-#elif __GNUC__ >= 3
-# include <ext/hash_set>
-# if __GNUC_MINOR__ == 0
-# include <functional>
-# define gnu_namespace std
-# else
-# include <ext/functional>
-# define gnu_namespace __gnu_cxx
-# endif
-#else
-# include <hash_set.h>
-# include <functional.h>
-# define gnu_namespace std
-#endif
-using namespace gnu_namespace;
-#include <set>
-//
-
-
-using namespace std;
-
-
-//HR: add from Engine.h in BayesNw
-#define MARK 9e99
-#define LOG_ZERO -1e101
-//#define LOGMINUS_NEW(logA, logB) if(logA == MARK) logA = logB; else if (logA == LOG_ZERO) logA = logB; else if (logB == LOG_ZERO) logA = logA; else logA = logA + log(1-exp(logB-logA));
-//HR: add from UpdateHR.h in BayesNw to deal with the problem in sum = 0 in comp_post()
-//call by reference to the original value
-//the log sum result is stored in logA
-//may change double into long double; no, use double
-void logAddComp(double & logA, double & logB){
-	    if(logA == MARK){
-    		logA = logB;
-    	}
-    	else if (logA == LOG_ZERO){
-    		logA = logB;
-    	}
-    	else if(logB == MARK){
-    		logA = logA;
-    	}
-    	else if(logB == LOG_ZERO){
-    		logA = logA;
-    	}
-    	//Nither logA nor logB is MARK/LOG_ZERO
-    	else{
-    		//1
-    		if(logA < 0 && logB < 0 ){
-    			logA = logA + log( 1 + exp(logB-logA) );
-    		}
-    		//2
-    		else if(logA > 0 && logB > 0){
-    			//always make exp(.): . > 0
-    			//2.1
-    			if(logA >= logB){
-    				logA = -( -logA + log( 1 + exp(-logB+logA) ) );
-    			}
-    			//2.2
-    			else{
-    				logA = -( -logB + log( 1 + exp(-logA+logB) ) );
-    			}
-    			
-    		}
-    		//3
-    		else if(logA < 0 && logB > 0){
-    			//3.1
-    			if(logA + logB > 0){   				
-    				//logA = logA + log( 1 - exp(-logB-logA) );
-    				logA = -logB + log( exp(logA + logB) - 1 );
-    				
-    			}
-    			//3.2
-    			else if(logA + logB < 0){
-    				logA = -( logA + log( exp(-logB-logA)  - 1) );
-    			}
-    			//3.3
-    			else{
-    				logA = LOG_ZERO;
-    			}
-    		}
-    		//4
-    		else if(logA > 0 && logB < 0){
-    			//4.1
-    			if(logA + logB > 0){
-    				logA = -logA + log( exp(logB+logA) - 1);
-    			}
-    			//4.2
-    			else if(logA + logB < 0){
-    				//logA = -( -logA + log(1 - exp(logB+logA)) );
-    				logA = -( logB + log( exp(-logA-logB) - 1) );
-    				
-    			}
-    			//4.3
-    			else{
-    				logA = LOG_ZERO;
-    			}			
-    		}
-		
-    	}
-	
-}
-
-
-//HR: Add
-//Will be used for checking edges-based feasure for Engineer in BayesNW
-void arcToNet(char * inFeasFileName, char* outFeasFileName){
-
-	cout << "inFeasFileName: " << inFeasFileName << endl;
-	
-	cout << "outFeasFileName: " << outFeasFileName << endl;
-	
-	int MAX_VAR_NUM = 32;
-	
-	int inFeatureEdges[MAX_VAR_NUM];
-	for(int i = 0; i < MAX_VAR_NUM; i++){
-		inFeatureEdges[i] = 0;
-	}
-	
-	string str;
-	str.assign(inFeasFileName);
-	
-  
-	FILE* fp = fopen(str.c_str(), "r");
-
-	int fromNode;
-	int toNode;
-	//int i=0;
-	while(!feof(fp)){
-		char c;
-		fromNode = -1;
-		toNode = -1;
-
-		fscanf(fp,"%d",&fromNode);
-		fscanf(fp,"%d",&toNode);
-		fscanf(fp,"%c",&c);
-		
-		cout << "fromNode = "<< fromNode << endl;
-		cout << "toNode = "<< toNode << endl;
-
-		inFeatureEdges[toNode] += (1 << fromNode);
-
-
-		
-	}
-	fclose(fp);
-	int no_var = toNode;
-	
-	for(int i = 0; i < MAX_VAR_NUM; i++){
-		cout << "inFeatureEdges[" << i << "] " << inFeatureEdges[i] << endl; 
-	}
-	
-	
-	int outFeatureEdges[MAX_VAR_NUM];
-	for(int i = 0; i < MAX_VAR_NUM; i++){
-		outFeatureEdges[i] = 0;
-	}
-	
-	string str2;
-	str2.assign(outFeasFileName);
-	
-  
-	fp=fopen(str2.c_str(), "r");
-
-	//int fromNode;
-	//int toNode;
-	//int i=0;
-	while(!feof(fp)){
-		char c;
-		fromNode = -1;
-		toNode = -1;
-
-		fscanf(fp,"%d",&fromNode);
-		fscanf(fp,"%d",&toNode);
-		fscanf(fp,"%c",&c);
-		
-		cout << "fromNode = "<< fromNode << endl;
-		cout << "toNode = "<< toNode << endl;
-
-		outFeatureEdges[toNode] += (1 << fromNode);
-
-
-		
-	}
-	fclose(fp);
-	//int no_var = toNode;
-	
-	
-	for(int i = 0; i < MAX_VAR_NUM; i++){
-		cout << "outFeatureEdges[" << i << "] " << outFeatureEdges[i] << endl; 
-	}
-	
-	
-	
-	
-}
-
-	
-
-//HR:F
-int main(int argc, char* argv[]){
-	
-	if (argc!=3){
-    	cout << "Please type the correct format: arcToNet inFeatureFileName outFeatureFileName\n" << endl;
-        return 1;
-    }
-      
-     arcToNet(argv[1], argv[2]);
-		
-}
-	
-
-