PetaVision  Alpha
TransposeConn.cpp
1 /* TransposeConn.cpp
2  *
3  * Created on: May 16, 2011
4  * Author: peteschultz
5  */
6 
7 #include "TransposeConn.hpp"
8 #include "columns/HyPerCol.hpp"
9 #include "components/DependentArborList.hpp"
10 #include "components/DependentSharedWeights.hpp"
11 #include "components/TransposePatchSize.hpp"
12 #include "components/TransposeWeightsPair.hpp"
13 
14 namespace PV {
15 
16 TransposeConn::TransposeConn(char const *name, HyPerCol *hc) { initialize(name, hc); }
17 
18 TransposeConn::TransposeConn() {}
19 
20 TransposeConn::~TransposeConn() {}
21 
22 int TransposeConn::initialize(char const *name, HyPerCol *hc) {
23  int status = HyPerConn::initialize(name, hc);
24  return status;
25 }
26 
27 void TransposeConn::defineComponents() {
28  HyPerConn::defineComponents();
29  mOriginalConnNameParam = createOriginalConnNameParam();
30  if (mOriginalConnNameParam) {
31  addObserver(mOriginalConnNameParam);
32  }
33 }
34 
35 ArborList *TransposeConn::createArborList() { return new DependentArborList(name, parent); }
36 
37 PatchSize *TransposeConn::createPatchSize() { return new TransposePatchSize(name, parent); }
38 
39 SharedWeights *TransposeConn::createSharedWeights() {
40  return new DependentSharedWeights(name, parent);
41 }
42 
43 WeightsPairInterface *TransposeConn::createWeightsPair() {
44  return new TransposeWeightsPair(name, parent);
45 }
46 
47 InitWeights *TransposeConn::createWeightInitializer() { return nullptr; }
48 
49 NormalizeBase *TransposeConn::createWeightNormalizer() { return nullptr; }
50 
51 BaseWeightUpdater *TransposeConn::createWeightUpdater() { return nullptr; }
52 
53 OriginalConnNameParam *TransposeConn::createOriginalConnNameParam() {
54  return new OriginalConnNameParam(name, parent);
55 }
56 
57 Response::Status TransposeConn::initializeState() { return Response::NO_ACTION; }
58 
59 } // namespace PV
virtual void addObserver(Observer *observer) override