modified passing by value to passing by const reference

This commit is contained in:
2014-12-11 00:45:46 +01:00
parent 2736ede1be
commit 19b034f1c1
4 changed files with 15 additions and 15 deletions

View File

@@ -14,7 +14,7 @@ FFLayer::~FFLayer()
} }
} }
FFNeuron& FFLayer::operator[](size_t neuron) FFNeuron& FFLayer::operator[](const size_t& neuron)
{ {
if(neurons==nullptr) if(neurons==nullptr)
{ {
@@ -203,7 +203,7 @@ Solution FeedForward::solve(const Problem& p)
return ret; return ret;
} }
FFLayer& FeedForward::operator[](size_t l) FFLayer& FeedForward::operator[](const size_t& l)
{ {
if(ffLayers==nullptr) if(ffLayers==nullptr)
{ {

View File

@@ -35,14 +35,14 @@ namespace NeuronNetwork
FFNeuron(float &pot, float *w, float &s, float &i,float lam):potential(pot),weights(w),sum(s),inputs(i),lambda(lam) { } FFNeuron(float &pot, float *w, float &s, float &i,float lam):potential(pot),weights(w),sum(s),inputs(i),lambda(lam) { }
inline virtual float getPotential() const override {return potential;} inline virtual float getPotential() const override {return potential;}
inline virtual void setPotential(float p) { potential=p;} inline virtual void setPotential(const float& p) override { potential=p;}
inline virtual float getWeight(size_t i ) const override { return weights[i];} inline virtual float getWeight(const size_t& i ) const override { return weights[i];}
inline virtual void setWeight(size_t i,float p) override { weights[i]=p; } inline virtual void setWeight(const size_t& i,const float &p) override { weights[i]=p; }
inline virtual float output() const { return sum; } inline virtual float output() const override { return sum; }
inline virtual float input() const { return inputs; } inline virtual float input() const override { return inputs; }
inline virtual float derivatedOutput() const { return lambda*output()*(1.0-output()); } inline virtual float derivatedOutput() const override { return lambda*output()*(1.0-output()); }
protected: protected:
float &potential; float &potential;
float *weights; float *weights;
@@ -61,7 +61,7 @@ namespace NeuronNetwork
FFLayer(const FFLayer &) = delete; FFLayer(const FFLayer &) = delete;
FFLayer& operator=(const FFLayer &) = delete; FFLayer& operator=(const FFLayer &) = delete;
virtual FFNeuron& operator[](size_t layer) override; virtual FFNeuron& operator[](const size_t& layer) override;
inline virtual size_t size() const override {return layerSize;}; inline virtual size_t size() const override {return layerSize;};
protected: protected:
FFNeuron **neurons=nullptr; FFNeuron **neurons=nullptr;
@@ -84,7 +84,7 @@ namespace NeuronNetwork
virtual Solution solve(const Problem& p) override; virtual Solution solve(const Problem& p) override;
virtual size_t size() const override { return layers;}; virtual size_t size() const override { return layers;};
virtual FFLayer& operator[](size_t l) override; virtual FFLayer& operator[](const size_t& l) override;
protected: protected:
void solvePart(float *newSolution, size_t begin, size_t end,size_t prevSize, float* sol,size_t layer); void solvePart(float *newSolution, size_t begin, size_t end,size_t prevSize, float* sol,size_t layer);
private: private:

View File

@@ -20,7 +20,7 @@ namespace NeuronNetwork
{ {
public: public:
virtual ~Layer() {}; virtual ~Layer() {};
virtual Neuron& operator[](size_t neuron)=0; virtual Neuron& operator[](const size_t& neuron)=0;
virtual size_t size() const=0; virtual size_t size() const=0;
}; };
@@ -31,7 +31,7 @@ namespace NeuronNetwork
virtual ~Network() {}; virtual ~Network() {};
virtual Solution solve(const Problem&)=0; virtual Solution solve(const Problem&)=0;
virtual Layer& operator[](size_t layer)=0; virtual Layer& operator[](const size_t &layer)=0;
inline float getLambda() const {return lambda;} inline float getLambda() const {return lambda;}
inline virtual void setThreads(const unsigned&t) final {threads=t;} inline virtual void setThreads(const unsigned&t) final {threads=t;}

View File

@@ -13,10 +13,10 @@ namespace NeuronNetwork
Neuron() {}; Neuron() {};
virtual ~Neuron() {}; virtual ~Neuron() {};
virtual float getPotential() const =0; virtual float getPotential() const =0;
virtual void setPotential(float p) =0; virtual void setPotential(const float &p) =0;
virtual float getWeight(size_t) const =0; virtual float getWeight(const size_t&) const =0;
virtual void setWeight(size_t i,float p) =0; virtual void setWeight(const size_t& i,const float &p) =0;
virtual float output() const =0; virtual float output() const =0;
virtual float input() const=0; virtual float input() const=0;