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 {