diff --git a/GDE_3_2008/GDE_3.vcxproj b/GDE_3_2008/GDE_3.vcxproj
index d2bb8be..88de017 100644
--- a/GDE_3_2008/GDE_3.vcxproj
+++ b/GDE_3_2008/GDE_3.vcxproj
@@ -28,7 +28,7 @@
Application
Static
MultiByte
- v100
+ v120
diff --git a/GDE_3_2008/res/input8-KNF.txt b/GDE_3_2008/res/input8-KNF.txt
new file mode 100644
index 0000000..a3a0215
--- /dev/null
+++ b/GDE_3_2008/res/input8-KNF.txt
@@ -0,0 +1,3 @@
+Variables: a, b, c, d , e , f, g, h
+Terms:
+"xx01xx01">0
\ No newline at end of file
diff --git a/GDE_3_2008/res/input8.txt b/GDE_3_2008/res/input8.txt
new file mode 100644
index 0000000..2c7f617
--- /dev/null
+++ b/GDE_3_2008/res/input8.txt
@@ -0,0 +1,3 @@
+Variables: a, b, c, d , e , f, g, h
+Terms:
+"xx01xx01">1
\ No newline at end of file
diff --git a/GDE_3_2008/res/listParser.txt b/GDE_3_2008/res/listParser.txt
index f80fb34..e69de29 100644
--- a/GDE_3_2008/res/listParser.txt
+++ b/GDE_3_2008/res/listParser.txt
@@ -1,26 +0,0 @@
- 1 Variables: a,Variable a
- bar,Variable bar
- char,Variable char
- d
-Variable d
- 2 Terms:
-
- 3 "0010"Term Key 0010
->1
-Term Value 1
-
- 4 7>Term Key 7
-1
-Term Value 1
-
- 5 14>Term Key 14
-1
-Term Value 1
-
- 6 "01xx"Term Key 01xx
->1
-Term Value 1
-
- 7 "x000"Term Key x000
->1Term Value 1
-
diff --git a/Hazard/Hazard/Cell.cpp b/Hazard/Hazard/Cell.cpp
index 0f059a5..01da538 100644
--- a/Hazard/Hazard/Cell.cpp
+++ b/Hazard/Hazard/Cell.cpp
@@ -7,6 +7,7 @@
using namespace std;
extern uint dimension;
+extern bool KNF;
void Cell::refresh(PrimImplikantCollection* &globalPIC)
{
@@ -34,10 +35,12 @@ vector* Cell::getHazards(vector &allCells)
for (vector::iterator neighbor = neighbors->begin(); neighbor < neighbors->end(); neighbor++)
{
- if ((*neighbor)->value == false)
- continue;
- if ((*neighbor)->hasOneOfThose(this->primImplikanten) == false)
- hazardous->push_back(*neighbor);
+
+ if ((*neighbor)->value == KNF)
+ continue;
+ if ((*neighbor)->hasOneOfThose(this->primImplikanten) == false)
+ hazardous->push_back(*neighbor);
+
}
delete neighbors;
diff --git a/Hazard/Hazard/Cell.h b/Hazard/Hazard/Cell.h
index c9f6674..d7b2dae 100644
--- a/Hazard/Hazard/Cell.h
+++ b/Hazard/Hazard/Cell.h
@@ -3,6 +3,7 @@
#include "PrimImplikantCollection.h"
using namespace std;
+extern bool KNF;
#ifndef CELL
#define CELL
@@ -21,7 +22,7 @@ public:
{
this->index = index;
this->refresh(globalPIC);
- this->value = this->primImplikanten.size() > 0;
+ this->value = (this->primImplikanten.size() > 0) ^ KNF;
}
PrimImplikantCollection primImplikanten;
diff --git a/Hazard/Hazard/CellCollection.cpp b/Hazard/Hazard/CellCollection.cpp
index 8f38a1e..208c66d 100644
--- a/Hazard/Hazard/CellCollection.cpp
+++ b/Hazard/Hazard/CellCollection.cpp
@@ -30,7 +30,7 @@ void CellCollection::findHazards()
uint I = i ^ (i/2); // transform to gray code --> Schachbrettmuster
Cell* currentCell = cells[I]; // this is the cell we are currently checking
- if (currentCell->value == false) // no hazard can occur
+ if (currentCell->value == KNF) // no hazard can occur
continue;
cout << " Checking cell " << I << endl;
diff --git a/Hazard/Hazard/Tools.cpp b/Hazard/Hazard/Tools.cpp
index 42beb6e..420eba1 100644
--- a/Hazard/Hazard/Tools.cpp
+++ b/Hazard/Hazard/Tools.cpp
@@ -28,7 +28,7 @@ uint Tools::GrayToBinary(uint x)
char r = 0; // r = ceil(ld(x))
do
r++;
- while (x1 >>= 1);
+ while (x1 >>= 1); // x1=x1>>1
if ((r & (r-1)) != 0) // keine Potenz von 2
{
| | |