diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index e5a3f88a27015ddb0ccd69a59f1e877151d371b6..b1f3bf7d82de3592dfee5544ff83f81c7316631e 100755
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -11,46 +11,13 @@
     </configurations>
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="2624f523-8bdb-4867-a32b-0c8fa25f5cda" name="Default" comment="Added the LrUpdate building block and updated the sigmoid one.">
-      <change afterPath="$PROJECT_DIR$/CRYPTO/EvalDotProd.cpp" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/CRYPTO/EvalDotProd.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.cpp" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.h" afterDir="false" />
+    <list default="true" id="2624f523-8bdb-4867-a32b-0c8fa25f5cda" name="Default" comment="Added dot product test">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/CONFIG/DAPPLE.config" beforeDir="false" afterPath="$PROJECT_DIR$/CONFIG/DAPPLE.config" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalLrUpdate.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalLrUpdate.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_1.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_1.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_10.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_10.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_11.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_11.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_12.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_12.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_13.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_13.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_14.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_14.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_15.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_15.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_16.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_16.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_2.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_2.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_3.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_3.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_4.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_4.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_5.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_5.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_6.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_6.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_7.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_7.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_8.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_8.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_9.data" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_9.data" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/ML/LR/LR.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/ML/LR/LR.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/ML/LR/LR.h" beforeDir="false" afterPath="$PROJECT_DIR$/ML/LR/LR.h" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.cpp" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/TEST/main.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/TEST/main.cpp" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile2" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile2" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/progress.marks" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/progress.marks" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/DAPPLE.cbp" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/DAPPLE.cbp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/Makefile" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/Makefile" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/cmake-build-debug/" />
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -68,17 +35,26 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/CONFIG/DAPPLE.config">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="195">
-              <caret line="13" column="24" selection-start-line="13" selection-start-column="24" selection-end-line="13" selection-end-column="24" />
+            <state relative-caret-position="30">
+              <caret line="2" column="32" selection-start-line="2" selection-start-column="32" selection-end-line="2" selection-end-column="32" />
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDotProd.h">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="165">
+              <caret line="11" column="13" lean-forward="true" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="255">
-              <caret line="469" column="18" lean-forward="true" selection-start-line="469" selection-start-column="18" selection-end-line="469" selection-end-column="18" />
+            <state relative-caret-position="210">
+              <caret line="153" column="28" selection-start-line="153" selection-start-column="28" selection-end-line="153" selection-end-column="28" />
               <folding>
                 <element signature="e#0#17#0" expanded="true" />
                 <element signature="e#92#1000#0" />
@@ -98,8 +74,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="210">
-              <caret line="14" column="8" lean-forward="true" selection-start-line="14" selection-start-column="8" selection-end-line="14" selection-end-column="8" />
+            <state relative-caret-position="195">
+              <caret line="49" lean-forward="true" selection-start-line="48" selection-start-column="3" selection-end-line="49" />
               <folding>
                 <element signature="e#67#101#0" expanded="true" />
               </folding>
@@ -107,11 +83,14 @@
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
+      <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/TEST/main.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-11715">
-              <caret line="14" column="18" lean-forward="true" selection-start-line="14" selection-start-column="18" selection-end-line="14" selection-end-column="18" />
+            <state relative-caret-position="75">
+              <caret line="622" column="82" selection-start-line="622" selection-start-column="82" selection-end-line="622" selection-end-column="82" />
+              <folding>
+                <element signature="e#52#93#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
@@ -119,8 +98,17 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="161">
-              <caret line="107" selection-start-line="107" selection-end-line="108" selection-end-column="25" />
+            <state relative-caret-position="185">
+              <caret line="588" column="56" lean-forward="true" selection-start-line="588" selection-start-column="56" selection-end-line="588" selection-end-column="56" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.h">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="225">
+              <caret line="15" column="31" selection-start-line="15" selection-start-column="31" selection-end-line="15" selection-end-column="31" />
             </state>
           </provider>
         </entry>
@@ -134,7 +122,7 @@
         <entry file="file://$PROJECT_DIR$/ML/LR/LR.cpp">
           <provider selected="true" editor-type-id="text-editor">
             <state relative-caret-position="-684">
-              <caret line="355" column="5" lean-forward="true" selection-start-line="355" selection-start-column="5" selection-end-line="355" selection-end-column="5" />
+              <caret line="355" column="5" selection-start-line="355" selection-start-column="5" selection-end-line="355" selection-end-column="5" />
               <folding>
                 <element signature="e#0#16#0" expanded="true" />
                 <element signature="e#35#889#0" />
@@ -207,7 +195,6 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/CRYPTO/EvalDiv.cpp" />
         <option value="$PROJECT_DIR$/CRYPTO/EvalCmp.cpp" />
         <option value="$PROJECT_DIR$/CRYPTO/EvalAddPow2.cpp" />
         <option value="$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp" />
@@ -248,16 +235,17 @@
         <option value="$PROJECT_DIR$/CRYPTO/EvalSigmoid.cpp" />
         <option value="$PROJECT_DIR$/CRYPTO/EvalLrUpdate.h" />
         <option value="$PROJECT_DIR$/CRYPTO/EvalLrUpdate.cpp" />
-        <option value="$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp" />
         <option value="$PROJECT_DIR$/PPML/PPLR/PPNB_Classifier.h" />
-        <option value="$PROJECT_DIR$/CONFIG/DAPPLE.config" />
         <option value="$PROJECT_DIR$/ML/LR/LR.h" />
-        <option value="$PROJECT_DIR$/TEST/main.cpp" />
         <option value="$PROJECT_DIR$/ML/LR/LR.cpp" />
-        <option value="$PROJECT_DIR$/CRYPTO/EvalDotProd.h" />
         <option value="$PROJECT_DIR$/CRYPTO/EvalDotProd.cpp" />
         <option value="$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.h" />
+        <option value="$PROJECT_DIR$/TEST/TESTBuildingBlocks.h" />
+        <option value="$PROJECT_DIR$/CONFIG/DAPPLE.config" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalDotProd.h" />
+        <option value="$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp" />
         <option value="$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.cpp" />
+        <option value="$PROJECT_DIR$/TEST/main.cpp" />
       </list>
     </option>
   </component>
@@ -287,27 +275,10 @@
               <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
               <item name="CONFIG" type="462c0819:PsiDirectoryNode" />
             </path>
-            <path>
-              <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
-              <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="ML" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
-              <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="ML" type="462c0819:PsiDirectoryNode" />
-              <item name="LR" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
-              <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="PPML" type="462c0819:PsiDirectoryNode" />
-            </path>
             <path>
               <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
               <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
               <item name="PPML" type="462c0819:PsiDirectoryNode" />
-              <item name="IO" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
@@ -315,12 +286,6 @@
               <item name="PPML" type="462c0819:PsiDirectoryNode" />
               <item name="PPLR" type="462c0819:PsiDirectoryNode" />
             </path>
-            <path>
-              <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
-              <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="PPML" type="462c0819:PsiDirectoryNode" />
-              <item name="PPVFDT" type="462c0819:PsiDirectoryNode" />
-            </path>
             <path>
               <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
               <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
@@ -432,21 +397,7 @@
       <workItem from="1553555726404" duration="2609000" />
       <workItem from="1553591361409" duration="14332000" />
       <workItem from="1553676823720" duration="36106000" />
-      <workItem from="1554383548410" duration="9555000" />
-    </task>
-    <task id="LOCAL-00006" summary="31/10/2018 (Added NTL)">
-      <created>1541154737102</created>
-      <option name="number" value="00006" />
-      <option name="presentableId" value="LOCAL-00006" />
-      <option name="project" value="LOCAL" />
-      <updated>1541154737102</updated>
-    </task>
-    <task id="LOCAL-00007" summary="02/11/2018 (Error in decryption )">
-      <created>1541166453566</created>
-      <option name="number" value="00007" />
-      <option name="presentableId" value="LOCAL-00007" />
-      <option name="project" value="LOCAL" />
-      <updated>1541166453566</updated>
+      <workItem from="1554383548410" duration="11467000" />
     </task>
     <task id="LOCAL-00008" summary="05/11/2018 (DTPKC functions tested and working)">
       <created>1541411881891</created>
@@ -777,11 +728,25 @@
       <option name="project" value="LOCAL" />
       <updated>1554308558845</updated>
     </task>
-    <option name="localTasksCounter" value="55" />
+    <task id="LOCAL-00055" summary="Almost their (Third classifier)">
+      <created>1554395668610</created>
+      <option name="number" value="00055" />
+      <option name="presentableId" value="LOCAL-00055" />
+      <option name="project" value="LOCAL" />
+      <updated>1554395668613</updated>
+    </task>
+    <task id="LOCAL-00056" summary="Added dot product test">
+      <created>1554396286152</created>
+      <option name="number" value="00056" />
+      <option name="presentableId" value="LOCAL-00056" />
+      <option name="project" value="LOCAL" />
+      <updated>1554396286152</updated>
+    </task>
+    <option name="localTasksCounter" value="57" />
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="711141000" />
+    <option name="totallyTimeSpent" value="713053000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
@@ -866,8 +831,6 @@
   <component name="VcsManagerConfiguration">
     <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
     <option name="CHECK_NEW_TODO" value="false" />
-    <MESSAGE value="16/11/2018 : Half of the VFDT algo is coded but not tested" />
-    <MESSAGE value="19/11/2018 : NPFDT done but still not tested nor working" />
     <MESSAGE value="19/11/2018 : Clean code  :: still didn't code threshold selection" />
     <MESSAGE value="20/11/2018 : NPPVFDT entirely coded but not properly tested : don't forget to add parallelism to this version too" />
     <MESSAGE value="21/11/2018 : NPPVFDT almost works but still has a problem with the choice of the thresholds" />
@@ -891,7 +854,9 @@
     <MESSAGE value="Added the maxNode parameter" />
     <MESSAGE value="Testing PPNB" />
     <MESSAGE value="Added the LrUpdate building block and updated the sigmoid one." />
-    <option name="LAST_COMMIT_MESSAGE" value="Added the LrUpdate building block and updated the sigmoid one." />
+    <MESSAGE value="Almost their (Third classifier)" />
+    <MESSAGE value="Added dot product test" />
+    <option name="LAST_COMMIT_MESSAGE" value="Added dot product test" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
@@ -1077,7 +1042,7 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/TEST/main.cpp</url>
-          <line>825</line>
+          <line>927</line>
           <option name="timeStamp" value="699" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -1371,11 +1336,6 @@
     </watches-manager>
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/DATA/Datasets/Nursery/result.data">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-5738" />
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/DATA/Datasets/Nursery/testing.data">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
@@ -1603,13 +1563,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CONFIG/DAPPLE.config">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="195">
-          <caret line="13" column="24" selection-start-line="13" selection-start-column="24" selection-end-line="13" selection-end-column="24" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/ML/LR/LR.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="285">
@@ -1617,13 +1570,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDotProd.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="240">
-          <caret line="28" column="11" selection-start-line="28" selection-start-column="11" selection-end-line="28" selection-end-column="11" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDotProd.cpp">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="195">
@@ -1641,34 +1587,10 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/main.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-11715">
-          <caret line="14" column="18" lean-forward="true" selection-start-line="14" selection-start-column="18" selection-end-line="14" selection-end-column="18" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="161">
-          <caret line="107" selection-start-line="107" selection-end-line="108" selection-end-column="25" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="210">
-          <caret line="14" column="8" lean-forward="true" selection-start-line="14" selection-start-column="8" selection-end-line="14" selection-end-column="8" />
-          <folding>
-            <element signature="e#67#101#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/ML/LR/LR.cpp">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="-684">
-          <caret line="355" column="5" lean-forward="true" selection-start-line="355" selection-start-column="5" selection-end-line="355" selection-end-column="5" />
+          <caret line="355" column="5" selection-start-line="355" selection-start-column="5" selection-end-line="355" selection-end-column="5" />
           <folding>
             <element signature="e#0#16#0" expanded="true" />
             <element signature="e#35#889#0" />
@@ -1686,10 +1608,48 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="15" column="31" selection-start-line="15" selection-start-column="31" selection-end-line="15" selection-end-column="31" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/CONFIG/DAPPLE.config">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="30">
+          <caret line="2" column="32" selection-start-line="2" selection-start-column="32" selection-end-line="2" selection-end-column="32" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDotProd.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="165">
+          <caret line="11" column="13" lean-forward="true" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="185">
+          <caret line="588" column="56" lean-forward="true" selection-start-line="588" selection-start-column="56" selection-end-line="588" selection-end-column="56" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="195">
+          <caret line="49" lean-forward="true" selection-start-line="48" selection-start-column="3" selection-end-line="49" />
+          <folding>
+            <element signature="e#67#101#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="255">
-          <caret line="469" column="18" lean-forward="true" selection-start-line="469" selection-start-column="18" selection-end-line="469" selection-end-column="18" />
+        <state relative-caret-position="210">
+          <caret line="153" column="28" selection-start-line="153" selection-start-column="28" selection-end-line="153" selection-end-column="28" />
           <folding>
             <element signature="e#0#17#0" expanded="true" />
             <element signature="e#92#1000#0" />
@@ -1705,5 +1665,15 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/TEST/main.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="75">
+          <caret line="622" column="82" selection-start-line="622" selection-start-column="82" selection-end-line="622" selection-end-column="82" />
+          <folding>
+            <element signature="e#52#93#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
   </component>
 </project>
\ No newline at end of file
diff --git a/PPML/PPLR/PPLR_Classifier.cpp b/PPML/PPLR/PPLR_Classifier.cpp
index aac035396c2fbe5fa66f158bc84d323ffae484e2..1308659becf59d56d1d9a7c9ea52bf3fab903d89 100755
--- a/PPML/PPLR/PPLR_Classifier.cpp
+++ b/PPML/PPLR/PPLR_Classifier.cpp
@@ -149,7 +149,7 @@ PPLR_Classifier:: recvMsg(int sockfd,  sockaddr_in cliaddr)
 }
 
 
-PPLR_Classifier::PPLR_Classifier(vector<Cipher> wieghts, int alpha, int epochs, int batchSize, int th,
+PPLR_Classifier::PPLR_Classifier(vector<Cipher> weights, int alpha, int epochs, int batchSize, int th,
                                  PPDatasetReader *datasetReader, string log, int sockfd, sockaddr_in cliaddr,
                                  bool debug, string mainpath)
 {
@@ -164,7 +164,7 @@ PPLR_Classifier::PPLR_Classifier(vector<Cipher> wieghts, int alpha, int epochs,
     this->testTime=0;
     this->clientTestTime=0;
     this->extTestBd=0;
-    this->w = w;
+    this->w = weights;
     this->alpha = alpha;
     this->batchSize=batchSize;
     this->th = dtpkc.enc(th, dtpkc.pkw);
diff --git a/TEST/main.cpp b/TEST/main.cpp
index ed3efcf605f015ec46ab420e19de23ac6ade1675..1f7a47bb681a6991dc8c712f84d71bb0a658d84e 100755
--- a/TEST/main.cpp
+++ b/TEST/main.cpp
@@ -567,6 +567,108 @@ int main (int argc, char **argv) {
                 datasetReader->closeTesting();
                 delete datasetReader;
 
+            }else{
+
+                for (int i = 0; i < runs_number; i++) {
+                    if (debug) cout << "Run : " << i << "Over " << runs_number << endl;
+                    stats << "--------Run@" << i + 1 << " over : " << runs_number << "---------" << endl;
+
+                    vector<Cipher> w;
+                    Cipher zero = dtpkc.enc(0, dtpkc.pkw);
+                    for (int k=0; k < datasetReader->dimension-1; k ++ )
+                        w.push_back(zero);
+
+                    PPLR_Classifier *classifier = new PPLR_Classifier (w,(int)(alpha/batchSize),epochs, batchSize, (int)(LRTH*100), datasetReader, OutputPath + classOutput,
+                                             sockfd, cliaddr, debug, mainPath);
+
+
+                    if (Incremental) {
+                        stats << "TrainTime,TrainBd,TestServerTime,TestClientTime,TestBd,P,R,F1"
+                              << endl;
+                        for (int ch = 0; ch < chunk_number; ch++) {
+
+                            if (debug)
+                                cout << "Started training on chunk n°: " << ch + 1 << " from: " << chunk_number << endl;
+                            classifier->train();
+                            datasetReader->nextChunk();
+                            //cout << "Ended training on chunk n°: " << ch+1 << endl;
+                            if (remoteClient) {
+
+                                classifier->sendMsg("start", sockfd, cliaddr);
+                                string msg = classifier->recvMsg(sockfd, cliaddr);
+
+                                if (msg == "ok") {
+                                    if (debug)
+                                        cout << "Started remote testing after update n°: " << ch + 1 << " from: "
+                                             << chunk_number << endl;
+                                    classifier->RemoteTest();
+                                    if (debug) cout << " Remote test " << ch + 1 << "done" << endl;
+                                }
+
+                            } else {
+                                if (debug)
+                                    cout << "Started testing after update n°: " << ch + 1 << " from: " << chunk_number
+                                         << endl;
+                                classifier->Test();
+                                if (debug) cout << "Test " << ch + 1 << " done" << endl;
+                            }
+                            //cout << "Client Test Time " << c << endl;
+                            evaluateAccuracy(clearPath, mainPath, OutputPath, classOutput, datasetReader->test_size, P,
+                                             R, F1);
+
+                            stats << std::to_string(classifier->trainTime) + "," + classifier->extTrainBd.get_str() +
+                                     "," + std::to_string(classifier->testTime) + "," +
+                                     std::to_string(classifier->clientTestTime) + "," +
+                                     classifier->extTestBd.get_str() + "," + std::to_string(P) + "," +
+                                     std::to_string(R) + "," + std::to_string(F1) << endl;
+
+                            datasetReader->reloadTest();
+                        }
+                    } else {
+                        if (debug) cout << "Training started" << endl;
+                        classifier->train();
+                        if (debug) cout << "Training done" << endl;
+
+                        if (remoteClient) {
+                            classifier->sendMsg("start", sockfd, cliaddr);
+                            if (debug) cout << " Remote testing started " << endl;
+                            classifier->RemoteTest();
+                            if (debug) cout << " Remote testing done " << endl;
+
+                        } else {
+                            if (debug) cout << " Testing started " << endl;
+                            classifier->Test();
+                            if (debug) cout << " Testing done " << endl;
+                        }
+
+                    }
+                    datasetReader->closeTraining();
+                    datasetReader->closeTesting();
+                    datasetReader->reinit();
+
+                    if (i == (runs_number - 1) && remoteClient) {
+                        classifier->sendMsg("stop", sockfd, cliaddr);
+                        close(sockfd);
+
+                    }
+                    try {
+
+                        delete classifier;
+
+                    } catch (exception e) {
+                        cout << "Trying to delete classifier " << endl;
+                        cout << e.what() << endl;
+                    }
+
+                }
+
+                datasetReader->closeTraining();
+                datasetReader->closeTesting();
+                delete datasetReader;
+
+
+
+
             }
 
 
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache b/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache
index e64b1afd9706c76a42b1127e61d9fcd465c869d4..95143b3ffc5e5e65204527b7d071101e05a35918 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache
@@ -32,23 +32,97 @@ fstream
 netinet/in.h
 -
 
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAddPow2.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalCmp.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.h
 DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
 
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+EvalDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLrUpdate.h
 DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
 
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+EvalDiv100.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h
 DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
 ../UTIL/math_util.hh
 /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
 
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+EvalDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+EvalMult.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+EvalSub.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalThreashold.h
 DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
 
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/SkeySwitch.h
 DTPKC.h
@@ -58,6 +132,168 @@ DTPKC.h
 vector
 -
 
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/Configuration.h
+namespace.h
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/namespace.h
+ConfigurationException.h
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/ConfigurationException.h
+StringBuffer.h
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/StringBuffer.h
+StringVector.h
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/StringVector.h
+stddef.h
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/ConfigurationException.h
+namespace.h
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/namespace.h
+string.h
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/StringBuffer.h
+namespace.h
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/namespace.h
+assert.h
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/StringVector.h
+namespace.h
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/namespace.h
+StringBuffer.h
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/StringBuffer.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/namespace.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/DatasetReader.h
+fstream
+-
+stdio.h
+-
+string.h
+-
+vector
+-
+cstring
+-
+Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+../../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+time.h
+-
+string
+-
+omp.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/omp.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+vector
+-
+iostream
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/LR/LR.h
+string
+-
+fstream
+-
+vector
+-
+math.h
+-
+stdlib.h
+-
+iostream
+-
+string.h
+-
+netinet/in.h
+-
+../IO/Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+../IO/DatasetReader.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/DatasetReader.h
+chrono
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/NB/NB_Classifier.h
+netinet/in.h
+-
+../IO/DatasetReader.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/DatasetReader.h
+../../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+Stats.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/NB/Stats.h
+math.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/NB/math.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/NB/Stats.h
+iostream
+-
+map
+-
+iterator
+-
+../IO/Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+gmpxx.h
+-
+gmp.h
+-
+../../UTIL/util_gmp_rand.h
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
+../../UTIL/num_th_alg.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+../../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/Node.h
+../IO/Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+NodeStats.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeStats.h
+NodeTest.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeTest.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeStats.h
+iostream
+-
+map
+-
+iterator
+-
+../IO/Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+gmpxx.h
+-
+gmp.h
+-
+../../UTIL/util_gmp_rand.h
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
+../../UTIL/num_th_alg.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+../../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeTest.h
+map
+-
+../IO/Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/VFDT_Classifier.h
+netinet/in.h
+-
+../IO/DatasetReader.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/DatasetReader.h
+Node.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/Node.h
+../../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+math.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/math.h
+
 /home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPDatasetReader.h
 PPRecord.h
 /home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPRecord.h
@@ -82,12 +318,6 @@ iostream
 ../../CRYPTO/DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
 
-/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPLR/PPLR_Classifier.cpp
-chrono
--
-PPLR_Classifier.h
-/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPLR/PPLR_Classifier.h
-
 /home/rania/CLionProjects/DAPPLE-2.0/PPML/PPLR/PPLR_Classifier.h
 ../IO/PPDatasetReader.h
 /home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPDatasetReader.h
@@ -104,6 +334,198 @@ PPLR_Classifier.h
 math.h
 /home/rania/CLionProjects/DAPPLE-2.0/PPML/PPLR/math.h
 
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPNB/PPNB_Classifier.h
+../IO/PPDatasetReader.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPDatasetReader.h
+../../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+PPStats.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPNB/PPStats.h
+math.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPNB/math.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPNB/PPStats.h
+iostream
+-
+map
+-
+iterator
+-
+../IO/PPRecord.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPRecord.h
+gmpxx.h
+-
+gmp.h
+-
+omp.h
+-
+../../UTIL/util_gmp_rand.h
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
+../../UTIL/num_th_alg.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+../../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+../../CRYPTO/DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../../CRYPTO/EvalAdd.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
+../../CRYPTO/EvalMult.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+../../CRYPTO/EvalDiv100.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
+../../CRYPTO/EvalProba.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPNode.h
+../IO/PPRecord.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPRecord.h
+PPNodeStats.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPNodeStats.h
+PPNodeTest.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPNodeTest.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPNodeStats.h
+iostream
+-
+map
+-
+iterator
+-
+../IO/PPRecord.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPRecord.h
+gmpxx.h
+-
+gmp.h
+-
+../../UTIL/util_gmp_rand.h
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
+../../UTIL/num_th_alg.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+../../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+../../CRYPTO/DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../../CRYPTO/EvalAdd.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
+../../CRYPTO/EvalAddPow2.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAddPow2.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPNodeTest.h
+map
+-
+../IO/PPRecord.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPRecord.h
+../../CRYPTO/EvalCmp.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalCmp.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPVFDT_Classifier.h
+netinet/in.h
+-
+../IO/PPDatasetReader.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPDatasetReader.h
+PPNode.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPNode.h
+../../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+math.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/math.h
+../../CRYPTO/DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../../CRYPTO/EvalEntropy.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
+../../CRYPTO/EvalHBound.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
+../../CRYPTO/EvalMult.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+../../CRYPTO/EvalAddPow2.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAddPow2.h
+../../CRYPTO/EvalStandardDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.h
+../../CRYPTO/EvalDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+../../CRYPTO/EvalDiv100.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
+../../CRYPTO/EvalAdd.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
+../../CRYPTO/EvalSub.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+../../CRYPTO/EvalThreashold.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalThreashold.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTBuildingBlocks.h
+iostream
+-
+../CRYPTO/DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../CRYPTO/EvalAdd.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
+../CRYPTO/EvalSub.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+../CRYPTO/EvalDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+../CRYPTO/EvalDiv100.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
+../CRYPTO/EvalEntropy.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
+../CRYPTO/EvalProba.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.h
+../CRYPTO/EvalHBound.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
+../CRYPTO/SkeySwitch.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/SkeySwitch.h
+../CRYPTO/EvalCmp.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalCmp.h
+../CRYPTO/EvalMult.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+../CRYPTO/EvalAddPow2.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAddPow2.h
+../CRYPTO/EvalStandardDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.h
+../CRYPTO/EvalSigmoid.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h
+../CRYPTO/EvalDotProd.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.h
+../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+../UTIL/num_th_alg.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+
+/home/rania/CLionProjects/DAPPLE-2.0/TEST/main.cpp
+../PPML/PPNB/PPNB_Classifier.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPNB/PPNB_Classifier.h
+../PPML/PPLR/PPLR_Classifier.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPLR/PPLR_Classifier.h
+../PPML/PPVFDT/PPVFDT_Classifier.h
+/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPVFDT_Classifier.h
+../ML/NB/NB_Classifier.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/NB/NB_Classifier.h
+../ML/VFDT/VFDT_Classifier.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/VFDT_Classifier.h
+../LIB/config4cpp/include/config4cpp/Configuration.h
+/home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/Configuration.h
+TESTBuildingBlocks.h
+/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTBuildingBlocks.h
+../ML/LR/LR.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/LR/LR.h
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+unistd.h
+-
+sys/types.h
+-
+sys/socket.h
+-
+netinet/in.h
+-
+arpa/inet.h
+-
+mcheck.h
+-
+
 /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
 vector
 -
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal
index a39efdc4bf6c9d3bab48a6b3edecf95dc917c581..23e687ec478d57454a2c28af34f0b9effbc73bb8 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal
@@ -323,6 +323,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalCmp.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLrUpdate.h
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make
index 5eea18e9007d2a13ff11896cac97c3454742fc86..9351ba06fd69463160fbd8e989cca24dce214587 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make
@@ -322,6 +322,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalAddPow2.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalCmp.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalDiv.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalDiv100.h
+CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalDotProd.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalEntropy.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalHBound.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalLrUpdate.h