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)
{
@@ -203,7 +203,7 @@ Solution FeedForward::solve(const Problem& p)
return ret;
}
FFLayer& FeedForward::operator[](size_t l)
FFLayer& FeedForward::operator[](const size_t& l)
{
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) { }
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 void setWeight(size_t i,float p) override { weights[i]=p; }
inline virtual float getWeight(const size_t& i ) const override { return weights[i];}
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 input() const { return inputs; }
inline virtual float derivatedOutput() const { return lambda*output()*(1.0-output()); }
inline virtual float output() const override { return sum; }
inline virtual float input() const override { return inputs; }
inline virtual float derivatedOutput() const override { return lambda*output()*(1.0-output()); }
protected:
float &potential;
float *weights;
@@ -61,7 +61,7 @@ namespace NeuronNetwork
FFLayer(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;};
protected:
FFNeuron **neurons=nullptr;
@@ -84,7 +84,7 @@ namespace NeuronNetwork
virtual Solution solve(const Problem& p) override;
virtual size_t size() const override { return layers;};
virtual FFLayer& operator[](size_t l) override;
virtual FFLayer& operator[](const size_t& l) override;
protected:
void solvePart(float *newSolution, size_t begin, size_t end,size_t prevSize, float* sol,size_t layer);
private:

View File

@@ -20,7 +20,7 @@ namespace NeuronNetwork
{
public:
virtual ~Layer() {};
virtual Neuron& operator[](size_t neuron)=0;
virtual Neuron& operator[](const size_t& neuron)=0;
virtual size_t size() const=0;
};
@@ -31,7 +31,7 @@ namespace NeuronNetwork
virtual ~Network() {};
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 virtual void setThreads(const unsigned&t) final {threads=t;}

View File

@@ -13,10 +13,10 @@ namespace NeuronNetwork
Neuron() {};
virtual ~Neuron() {};
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 void setWeight(size_t i,float p) =0;
virtual float getWeight(const size_t&) const =0;
virtual void setWeight(const size_t& i,const float &p) =0;
virtual float output() const =0;
virtual float input() const=0;