www.pudn.com > bp_cpp.zip > hfneuron.cpp
/* * public/ann/hopfield/hfneuron.cpp * 2004-05-28 by ShanLanshan */ #include#include #include "public/ann/hopfield/hfneuron.h" namespace ann { ////////////////////////////////////////////////////////////// // class HFNeuron ////////////////////////////////////////////////////////////// HFNeuron::HFNeuron(): m_old_value(ANN_FLOAT_ZERO), m_adjust(ANN_FLOAT_ZERO) { } HFNeuron::~HFNeuron(){} ////////////////////////////////////////////////////////////// // class HFGroup ////////////////////////////////////////////////////////////// HFGroup::HFGroup(){} HFGroup::HFGroup(int size) { init(size); } HFGroup::~HFGroup(){} bool HFGroup::init(int size) { NeuronObj *obj; HFNeuron *hfn; for (int i=0; i (hfn); assert(obj != NULL); this->add(obj, 0); } return true; } bool HFGroup::mutual_conn() { Neuron *n, *n2; NeuronObj *obj, *obj2; assert(b != NULL); NeuronGroup::iterator i, j; for (obj=move_first(&i); not_end(&i); obj=move_next(&i)) { assert(obj != NULL); n = dynamic_cast (obj); assert(n != NULL); n->accept_conn(&b->m_fix_neuron); for (obj2=b->move_first(); b->not_end(); obj2=b->move_next()) { n2 = dynamic_cast (obj2); assert(n2 != NULL); n->accept_conn(n2); } } return true; } void HFGroup::learn() { } void HFGroup::restart() { } } // namespace ann