From 28997fa0e17259c71402bce239e43b480debca01 Mon Sep 17 00:00:00 2001 From: sakethed Date: Tue, 10 Dec 2024 18:39:37 -0600 Subject: [PATCH] Update Witness.h --- src/Witness.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Witness.h b/src/Witness.h index 5505068..d95b651 100644 --- a/src/Witness.h +++ b/src/Witness.h @@ -6,7 +6,7 @@ class WitnessPlan : public Plan public: WitnessPlan (char const * const name, Plan * const input); ~WitnessPlan (); - Iterator * init () const; + Iterator * init () const override; private: Plan * const _input; }; // class WitnessPlan @@ -16,10 +16,18 @@ class WitnessIterator : public Iterator public: WitnessIterator (WitnessPlan const * const plan); ~WitnessIterator (); - bool next (Row & row); - void free (Row & row); + bool next (Row & row) override; + void free (Row & row) override; + size_t getRowCount() const {return _rows;} + size_t getParity() const{return _parity;} + size_t getInversions() const {return _inversions;} private: WitnessPlan const * const _plan; Iterator * const _input; RowCount _rows; + size_t _parity; //store XOR of row values + size_t _inversions; //Number of inversions + Row _previousRow; //Last observed row + bool _hasPrevious; //If previous row is valid + }; // class WitnessIterator