Source: BlankTopoConnection.h
|
|
|
|
// =======================================================================================
// BlankTopoConnection.h
// Time-stamp: <2004-02-25 15:54:15 aknoblau>
// Simple BlankTopo kernel connection
// programmed in September 2001 by Andreas Knoblauch
// Department of Neural Information Processing
// University of Ulm, Germany
// Version 1.0 alpha
// last documented change: November 27, 2001
// =======================================================================================
// types/classes/interfaces:
// ---------------------------------------------------------------------------------------
// global objects:
// ---------------------------------------------------------------------------------------
// related modules:
// ---------------------------------------------------------------------------------------
// notes:
// ---------------------------------------------------------------------------------------
// history:
// Version 1.0 alpha programmed on November 27, 2001 by Andreas Knoblauch
// ---------------------------------------------------------------------------------------
// bugs:
// ---------------------------------------------------------------------------------------
// 2 do:
// =======================================================================================
#ifndef BlankTopoConnection_H
#define BlankTopoConnection_H
#include "TopoConnection.h"
// **************************************************************************************************************************
// **************************************************************************************************************************
/**
* TMBlankTopoConnection
* template for topographical delayed connections with BlankTopo kernels
*
* @short template for topographical delayed connections with BlankTopo kernels
* @author Andreas Knoblauch
* @version 1.0 alpha
* last change: June 8, 2001
*/
template
class TMBlankTopoConnection : public TMTopoConnection {
// **************************************************************************************************************************
public:
TLayout* kernelLT; // layout of BlankTopo kernels
// constructors/destructors
TMBlankTopoConnection(TSimulationEnvironment& simEnv_arg, const char* name_arg, // constructors (complete/default)
TMPort* preOut_arg, TMPort* postIn_arg, // - cMode=CM_OutToIn
TLayout* kernelLT_arg); // zero-centered delays
TMBlankTopoConnection(TSimulationEnvironment& simEnv_arg, const char* name_arg, // constructors (complete/default)
int nPostIn_arg, TMPort* preOut_arg, TMPort** postIn_arg, // - cMode=CM_OutToIn
TLayout* kernelLT_arg); // zero-centered delays
TMBlankTopoConnection(TSimulationEnvironment& simEnv_arg, const char* name_arg, TConnectionMode cMode_arg, // - cMode as parameter
TMPort* preOut_arg, TMPort* postIn_arg, // zeroCenteredDelays as pars
TLayout* kernelLT_arg, TProjectionMap* pMap_arg, int zeroCenteredDelays_arg);
TMBlankTopoConnection(TSimulationEnvironment& simEnv_arg, const char* name_arg, TConnectionMode cMode_arg, // - cMode as parameter
int nPostIn_arg, TMPort* preOut_arg, TMPort** postIn_arg, // zeroCenteredDelays as pars
TLayout* kernelLT_arg, TProjectionMap* pMap_arg, int zeroCenteredDelays_arg);
TMBlankTopoConnection(TMBlankTopoConnection& pattern, // constructor(patt./copy)
const char* name_arg, TMPort* preOut_arg, TMPort* postIn_arg, // - new memory for weight
TLayout* kernelLT_arg); // and delay kernels
TMBlankTopoConnection(TMBlankTopoConnection& pattern, // constructor(patt./copy)
const char* name_arg, int nPostIn_arg, // - new memory for weight
TMPort* preOut_arg, TMPort** postIn_arg, // and delay kernels
TLayout* kernelLT_arg);
TMBlankTopoConnection(TMBlankTopoConnection& pattern, // if sameWeights/Delays
const char* name_arg, TMPort* preOut_arg, TMPort* postIn_arg, // no memory is allocated
TLayout* kernelLT_arg, int sameWeights, int sameDelays,
TProjectionMap* pMap_arg, int zeroCenteredDelays_arg);
TMBlankTopoConnection(TMBlankTopoConnection& pattern, // if sameWeights/Delays
const char* name_arg, int nPostIn_arg, // no memory is allocated
TMPort* preOut_arg, TMPort** postIn_arg,
TLayout* kernelLT_arg, int sameWeights, int sameDelays,
TProjectionMap* pMap_arg, int zeroCenteredDelays_arg);
~TMBlankTopoConnection(); // destructor
// methods
void allocateKernels(int nwKernels, int ndKernels, int nModes); // simple standard allocation
void allocateKernels(int nwKernels, int ndKernels, int nModes, // simple standard allocation
const TKernelDescriptor& wkdes, const TKernelDescriptor& dkdes);
void allocateKernels(int nwKernels, int ndKernels, int nModes, // simple standard allocation
const TKernelDescriptor& wkdes, const TKernelDescriptor& dkdes, int zeroCenteredDelaysFlag);
void outputState(ostream& os); // display all fields of the object
void outputState(ostream& os, int complete); // if complete==0 then display only the most important fields of the object
protected:
void create(const TMBlankTopoConnection*pattern,int sameWeights,int sameDelays);
string parseWeightsMapping(istream& is, TKernelMapping& wkMP); // input of scope weightsMapping
string parseDelaysMapping (istream& is, TKernelMapping& dkMP); // input of scope delaysMapping
string parseDelays (istream& is, TMKernelDY& delays); // input of scope TMKernelDY
string parseFullDimFlags (istream& is, TKernel& wk); // input of scope fullDimFlags
void parseOutWeightsMapping(const string& scopeID, ostream& os, const TKernelMapping& wkMP)const; // output of scope weightsMapping
void parseOutDelaysMapping (const string& scopeID, ostream& os, const TKernelMapping& dkMP)const; // output of scope delaysMapping
void parseOutDelays (const string& scopeID, ostream& os, const TMKernelDY& delays)const; // output of scope TMKernelDY
void parseOutFullDimFlags (const string& scopeID, ostream& os, const TKernel& wk)const; // output of scope fullDimFlags
void reparseConstructWeightsMapping(const string& scopeID, vector& repPars, TKernelMapping& wkMP); // weightsMapping
void reparseConstructDelaysMapping (const string& scopeID, vector& repPars, TKernelMapping& dkMP); // delaysMapping
void reparseConstructDelays (const string& scopeID, vector& repPars, TMKernelDY& delays);// TMKernelDY
void reparseConstructFullDimFlags (const string& scopeID, vector& repPars, TKernel& wk); // fullDimFlags
void reparseDeleteWeightsMapping(vector& repPars, TKernelMapping& wkMP); // weightsMapping
void reparseDeleteDelaysMapping (vector& repPars, TKernelMapping& dkMP); // delaysMapping
void reparseDeleteDelays (vector& repPars, TMKernelDY& delays); // TMKernelDY
void reparseDeleteFullDimFlags (vector& repPars, TKernel& wk); // fullDimFlags
void handleUpdatedParametersWeightsMapping(TKernelMapping& wkMP); // handle updated parameters of scope weightsMapping
void handleUpdatedParametersDelaysMapping (TKernelMapping& dkMP); // handle updated parameters of scope delaysMapping
void handleUpdatedParametersDelays (TMKernelDY& delays); // handle updated parameters of scope TMKernelDY
void handleUpdatedParametersFullDimFlags (TKernel& wk); // handle updated parameters of scope fullDimFlags
private:
static const char* scopeString_weightsMapping;
static const char* scopeString_delaysMapping;
static const char* scopeString_fullDimFlags;
};
#endif /* BlankTopoConnection_H */
| Generated by: aknoblau on synfire on Sat May 1 14:32:16 2004, using kdoc 2.0a54. |