From d6807ddec78403a3c051dac39be6168fa2a8316c Mon Sep 17 00:00:00 2001
From: Martin Beseda <martinbeseda@seznam.cz>
Date: Sun, 15 Jul 2018 00:15:08 +0200
Subject: [PATCH] ENH: Separated neuron serialization example.

---
 src/CMakeLists.txt    |   3 ++
 src/Neuron/Neuron.cpp |   6 +--
 src/main.cpp          | 111 +-----------------------------------------
 3 files changed, 6 insertions(+), 114 deletions(-)

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a2089b38..190ca2d7 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -37,6 +37,9 @@ target_link_libraries(data_set boost_serialization)
 add_executable(test_cases main.cpp)
 target_link_libraries(test_cases neuron particle_swarm boost_serialization data_set)
 
+add_executable(neuron_serialization_example neuron_serialization_example.cpp)
+target_link_libraries(neuron_serialization_example neuron boost_serialization)
+
 ##############
 # UNIT TESTS #
 ##############
diff --git a/src/Neuron/Neuron.cpp b/src/Neuron/Neuron.cpp
index 1bd0bc62..0ffd9bb4 100644
--- a/src/Neuron/Neuron.cpp
+++ b/src/Neuron/Neuron.cpp
@@ -49,11 +49,7 @@ void Neuron::adjust_saturation_out(int value) {
 
 
 bool Neuron::is_saturated_out() {
-    if(this->n_saturated_connections_out == this->edges_out->size()){
-        return true;
-    }
-
-    return false;
+    return this->n_saturated_connections_out == this->edges_out->size();
 }
 
 
diff --git a/src/main.cpp b/src/main.cpp
index e72bf404..cd223d56 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -23,6 +23,8 @@
 #include "Neuron/NeuronTanh.h"
 #include "DataSet/DataSet.h"
 
+//TODO rewrite "tests" to separate examples
+
 //TODO prepsat tak, aby neuronova sit managovala destruktory vsech potrebnych objektu (kvuli serializaci)
 /**
  * Test of simple neural network
@@ -65,115 +67,6 @@ void test1( ){
     delete u2;
 }
 
-/**
- * Test of the binary serialization
- */
-void test2() {
-    NeuronLinear n(2, 3);
-
-    std::cout << n.get_potential() << " "
-              << n.get_state() << " "
-              << n.activation_function_get_parameter(0) << " "
-              << n.activation_function_get_parameter(1) << std::endl;
-
-    std::ofstream ofs("stored_neuron.4n");
-    {
-        boost::archive::text_oarchive oa(ofs);
-        oa << n;
-        ofs.close();
-    }
-
-    NeuronLinear n2;
-    {
-        std::ifstream ifs("stored_neuron.4n");
-        boost::archive::text_iarchive ia(ifs);
-        ia >> n2;
-        ifs.close();
-    }
-
-    std::cout << n2.get_potential() << " "
-              << n2.get_state() << " "
-              << n2.activation_function_get_parameter(0) << " "
-              << n2.activation_function_get_parameter(1) << std::endl;
-
-    NeuronLinear n3(0.62, 0.4);
-
-    std::cout << n3.get_potential() << " "
-              << n3.get_state() << " "
-              << n3.activation_function_get_parameter(0) << " "
-              << n3.activation_function_get_parameter(1) << std::endl;
-
-    std::ofstream ofs2("stored_neuron2.4n");
-    {
-        boost::archive::text_oarchive oa(ofs2);
-        oa << n3;
-        ofs2.close();
-    }
-
-    NeuronLogistic n4;
-    {
-        std::ifstream ifs("stored_neuron2.4n");
-        boost::archive::text_iarchive ia(ifs);
-        ia >> n4;
-        ifs.close();
-    }
-
-    std::cout << n4.get_potential() << " "
-              << n4.get_state() << " "
-              << n4.activation_function_get_parameter(0) << " "
-              << n4.activation_function_get_parameter(1) << std::endl;
-
-    NeuronTanh n5(0.5);
-
-    std::cout << n5.get_potential() << " "
-              << n5.get_state() << " "
-              << n5.activation_function_get_parameter(0) << std::endl;
-
-    std::ofstream ofs3("stored_neuron3.4n");
-    {
-        boost::archive::text_oarchive oa(ofs3);
-        oa << n5;
-        ofs3.close();
-    }
-
-    NeuronTanh n6;
-    {
-        std::ifstream ifs("stored_neuron3.4n");
-        boost::archive::text_iarchive ia(ifs);
-        ia >> n6;
-        ifs.close();
-    }
-
-    std::cout << n6.get_potential() << " "
-              << n6.get_state() << " "
-              << n6.activation_function_get_parameter(0) << std::endl;
-
-    NeuronBinary n7(0.71);
-
-    std::cout << n7.get_potential() << " "
-              << n7.get_state() << " "
-              << n7.activation_function_get_parameter(0) << std::endl;
-
-    std::ofstream ofs4("stored_neuron4.4n");
-    {
-        boost::archive::text_oarchive oa(ofs4);
-        oa << n7;
-        ofs4.close();
-    }
-
-    NeuronBinary n8;
-    {
-        std::ifstream ifs("stored_neuron4.4n");
-        boost::archive::text_iarchive ia(ifs);
-        ia >> n8;
-        ifs.close();
-    }
-
-    std::cout << n8.get_potential() << " "
-              << n8.get_state() << " "
-              << n8.activation_function_get_parameter(0) << std::endl;
-}
-
 /**
  * Test of DataSet serialization
  */
-- 
GitLab