serializatioin / deserialization and tests

This commit is contained in:
2016-04-06 15:54:47 +02:00
parent adb6708b39
commit 17cbf5effe
28 changed files with 437 additions and 280 deletions

View File

@@ -1,13 +1,19 @@
#pragma once
#include <SimpleJSON/SerializableObject.h>
#include <SimpleJSON/Factory.h>
#include <math.h>
#include <vector>
#include <string>
#define NEURAL_NETWORK_REGISTER_BASIS_FUNCTION(name,function) SIMPLEJSON_REGISTER(NeuralNetwork::BasisFunction::Factory,name,function)
#define NEURAL_NETWORK_REGISTER_BASIS_FUNCTION_FINISH(name,function) SIMPLEJSON_REGISTER_FINISH(NeuralNetwork::BasisFunction::Factory,name,function)
namespace NeuralNetwork {
namespace BasisFunction {
class BasisFunction {
class BasisFunction : public SimpleJSON::SerializableObject {
public:
virtual ~BasisFunction() {}
virtual float operator()(const std::vector<float>& weights, const std::vector<float>& input) const =0;
@@ -15,13 +21,9 @@ namespace BasisFunction {
/**
* @brief Function returns clone of object
*/
virtual BasisFunction* clone() const = 0;
/**
* @brief This is a virtual function for storing Basis function
* @returns json describing function
*/
virtual std::string stringify() const =0;
virtual std::unique_ptr<BasisFunction> clone() const = 0;
};
typedef SimpleJSON::Factory<BasisFunction> Factory;
}
}