#include "synapse.h" Synapse::Synapse(const double w){ setWeight(w); } double Synapse::getWeight() const{ return weight; } void Synapse::setWeight(const double w){ weight =(double) w; } void Synapse::operator=(const double w){ setWeight(w); } Synapse& Synapse::operator =(const Synapse& s){ if(this!=&s){ setWeight(s.getWeight()); } return *this; } void Synapse::setRandomWeight(){ //double range = SYNAPSE_WEIGHT_MAX - SYNAPSE_WEIGHT_MIN + 1; double range = SYNAPSE_WEIGHT_MAX - SYNAPSE_WEIGHT_MIN; //lau double res; do{ //res = (double)(range * rand()/(RAND_MAX + 1.0)) + SYNAPSE_WEIGHT_MIN; res=(double)(((rand()/2.0)/(RAND_MAX/2.0))*range)+SYNAPSE_WEIGHT_MIN; }while(res > SYNAPSE_WEIGHT_MAX && res < SYNAPSE_WEIGHT_MIN); setWeight(res); } ostream & operator<<(ostream & os,const Synapse & syn){ os << syn.getWeight(); return os; } istream& operator>>(istream & inp,Synapse & syn){ double tmp; inp >> tmp; syn.setWeight(tmp); return inp; }