From cccccbf6cca94a3eaf813b4468453160e91c332b Mon Sep 17 00:00:00 2001
From: Joe Zhao <ztuowen@gmail.com>
Date: Mon, 14 Apr 2014 08:14:45 +0800
Subject: First commit

---
 .../.svn/text-base/cuBlockArray.h.svn-base         | 83 ++++++++++++++++++++++
 1 file changed, 83 insertions(+)
 create mode 100644 src/CuTNetLib/.svn/text-base/cuBlockArray.h.svn-base

(limited to 'src/CuTNetLib/.svn/text-base/cuBlockArray.h.svn-base')

diff --git a/src/CuTNetLib/.svn/text-base/cuBlockArray.h.svn-base b/src/CuTNetLib/.svn/text-base/cuBlockArray.h.svn-base
new file mode 100644
index 0000000..aea7922
--- /dev/null
+++ b/src/CuTNetLib/.svn/text-base/cuBlockArray.h.svn-base
@@ -0,0 +1,83 @@
+#ifndef _CUBLOCK_ARRAY_H_
+#define _CUBLOCK_ARRAY_H_
+
+
+#include "cuComponent.h"
+#include "cumatrix.h"
+
+#include "Matrix.h"
+#include "Vector.h"
+
+
+namespace TNet {
+
+  class CuNetwork;
+
+  class CuBlockArray : public CuUpdatableComponent
+  {
+    public:
+
+      CuBlockArray(size_t nInputs, size_t nOutputs, CuComponent *pPred); 
+      ~CuBlockArray();  
+      
+      ComponentType GetType() const;
+      const char* GetName() const;
+
+      void PropagateFnc(const CuMatrix<BaseFloat>& X, CuMatrix<BaseFloat>& Y);
+      void BackpropagateFnc(const CuMatrix<BaseFloat>& X, CuMatrix<BaseFloat>& Y);
+
+      void Update();
+
+      void ReadFromStream(std::istream& rIn);
+      void WriteToStream(std::ostream& rOut);
+
+    protected:
+      std::vector<CuNetwork*> mBlocks; ///< vector with networks, one network is one block
+      size_t mNBlocks;  
+  };
+
+
+
+
+  ////////////////////////////////////////////////////////////////////////////
+  // INLINE FUNCTIONS 
+  // CuBlockArray::
+  inline 
+  CuBlockArray::
+  CuBlockArray(size_t nInputs, size_t nOutputs, CuComponent *pPred)
+    : CuUpdatableComponent(nInputs, nOutputs, pPred), 
+      mNBlocks(0) 
+  { }
+
+
+  inline
+  CuBlockArray::
+  ~CuBlockArray()
+  { 
+    for(int i=0; i<mBlocks.size(); i++) {
+      delete mBlocks[i];
+    }
+    mBlocks.clear();
+  }
+
+  inline CuComponent::ComponentType
+  CuBlockArray::
+  GetType() const
+  {
+    return CuComponent::BLOCK_ARRAY;
+  }
+
+  inline const char*
+  CuBlockArray::
+  GetName() const
+  {
+    return "<blockarray>";
+  }
+
+
+
+} //namespace
+
+
+
+#endif
-- 
cgit v1.2.3-70-g09d2