提交 fc40a93c authored 作者: Hengjean's avatar Hengjean

Added interface for insert, remove and reverse.

上级 687de47f
...@@ -18,6 +18,15 @@ class _typed_list_py_operators: ...@@ -18,6 +18,15 @@ class _typed_list_py_operators:
def extend(self, toAppend): def extend(self, toAppend):
return Extend()(self, toAppend) return Extend()(self, toAppend)
def insert(self, index, toInsert):
return Insert()(self, index, toInsert)
def remove(self, toRemove):
return Remove()(self, toRemove)
def reverse(self):
return Reverse()(self)
ttype = property(lambda self: self.type.ttype) ttype = property(lambda self: self.type.ttype)
......
...@@ -245,6 +245,22 @@ class test_insert(unittest.TestCase): ...@@ -245,6 +245,22 @@ class test_insert(unittest.TestCase):
self.assertTrue(numpy.array_equal(f([x], numpy.asarray(1), y), [x, y])) self.assertTrue(numpy.array_equal(f([x], numpy.asarray(1), y), [x, y]))
def test_interface(self):
mySymbolicMatricesList = TypedListType(T.TensorType(
theano.config.floatX, (False, False)))()
myMatrix = T.matrix()
myScalar = T.scalar()
z = mySymbolicMatricesList.insert(myScalar, myMatrix)
f = theano.function([mySymbolicMatricesList, myScalar, myMatrix], z)
x = rand_ranged_matrix(-1000, 1000, [100, 101])
y = rand_ranged_matrix(-1000, 1000, [100, 101])
self.assertTrue(numpy.array_equal(f([x], numpy.asarray(1), y), [x, y]))
class test_remove(unittest.TestCase): class test_remove(unittest.TestCase):
...@@ -279,6 +295,21 @@ class test_remove(unittest.TestCase): ...@@ -279,6 +295,21 @@ class test_remove(unittest.TestCase):
self.assertTrue(numpy.array_equal(f([x, y], y), [x])) self.assertTrue(numpy.array_equal(f([x, y], y), [x]))
def test_interface(self):
mySymbolicMatricesList = TypedListType(T.TensorType(
theano.config.floatX, (False, False)))()
myMatrix = T.matrix()
z = mySymbolicMatricesList.remove(myMatrix)
f = theano.function([mySymbolicMatricesList, myMatrix], z)
x = rand_ranged_matrix(-1000, 1000, [100, 101])
y = rand_ranged_matrix(-1000, 1000, [100, 101])
self.assertTrue(numpy.array_equal(f([x, y], y), [x]))
class test_reverse(unittest.TestCase): class test_reverse(unittest.TestCase):
...@@ -310,3 +341,17 @@ class test_reverse(unittest.TestCase): ...@@ -310,3 +341,17 @@ class test_reverse(unittest.TestCase):
y = rand_ranged_matrix(-1000, 1000, [100, 101]) y = rand_ranged_matrix(-1000, 1000, [100, 101])
self.assertTrue(numpy.array_equal(f([x, y]), [y, x])) self.assertTrue(numpy.array_equal(f([x, y]), [y, x]))
def test_interface(self):
mySymbolicMatricesList = TypedListType(T.TensorType(
theano.config.floatX, (False, False)))()
z = mySymbolicMatricesList.reverse()
f = theano.function([mySymbolicMatricesList], z)
x = rand_ranged_matrix(-1000, 1000, [100, 101])
y = rand_ranged_matrix(-1000, 1000, [100, 101])
self.assertTrue(numpy.array_equal(f([x, y]), [y, x]))
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论