76 Cluster(
unsigned int numNeurons, QString name =
"unnamed" );
103 virtual void randomize(
double min,
double max ) = 0;
107 void setInput(
unsigned int neuron,
double value );
113 void setAllInputs(
double value );
120 double getInput(
unsigned int neuron )
const;
123 return *inputdataptr;
127 return *inputdataptr;
130 void setOutput(
unsigned int neuron,
double value );
134 double getOutput(
unsigned int neuron )
const;
137 return *outputdataptr;
141 return *outputdataptr;
150 return updater.get();
162 static void describe( QString type );
183 if ( stateDelegates.contains( stateVector ) ) {
184 return stateDelegates[stateVector];
186 throw ClusterStateVectorNotPresent( (QString(
"The state vector named ") + stateVector +
" is not part of this Cluster").toAscii().data() );
203 template <
class T, DoubleVector& (T::*TMethod)()>
205 stateDelegates[vectorName] = &staticDelegateMethod<T, TMethod>;
211 needRst = accOff && b;
219 unsigned int numneurons;
225 std::auto_ptr<OutputFunction> updater;
234 QMap<QString, getStateVectorFuncPtr> stateDelegates;
236 template <
class T, DoubleVector& (T::*TMethod)()>
238 T* p =
static_cast<T*
>(cluster_ptr);
240 return (p->*TMethod)();