提交 55e11763 authored 作者: Frederic Bastien's avatar Frederic Bastien

test shared variable set_value inplace then borrow=True.

上级 61a2b445
...@@ -316,23 +316,43 @@ def makeSharedTester(shared_constructor_, ...@@ -316,23 +316,43 @@ def makeSharedTester(shared_constructor_,
assert may_share_memory(old_data, x_shared.container.storage[0]) assert may_share_memory(old_data, x_shared.container.storage[0])
x_shared.value x_shared.value
# Test by .value
nd += 1 nd += 1
old_data = x_shared.container.storage[0]
x_shared.value = nd x_shared.value = nd
assert numpy.allclose(self.ref_fct(x_shared.value), self.ref_fct(self.cast_value(nd))) assert numpy.allclose(self.ref_fct(x_shared.value), self.ref_fct(self.cast_value(nd)))
assert may_share_memory(old_data, x_shared.container.storage[0]) == self.set_value_inplace assert may_share_memory(old_data, x_shared.container.storage[0]) == self.set_value_inplace
# Test by set_value with borrow=False
nd += 1 nd += 1
old_data = x_shared.container.storage[0]
x_shared.set_value(nd, borrow=False) x_shared.set_value(nd, borrow=False)
assert numpy.allclose(self.ref_fct(x_shared.value), self.ref_fct(self.cast_value(nd))) assert numpy.allclose(self.ref_fct(x_shared.value), self.ref_fct(self.cast_value(nd)))
assert may_share_memory(old_data, x_shared.container.storage[0]) == self.set_value_inplace assert may_share_memory(old_data, x_shared.container.storage[0]) == self.set_value_inplace
# test when the data is already of the same type as the destination # Test by set_value with borrow=False when new data casted.
# specificaly usefull for gpu data # specificaly usefull for gpu data
nd += 1 nd += 1
old_data = x_shared.container.storage[0]
x_shared.set_value(self.cast_value(nd), borrow=False) x_shared.set_value(self.cast_value(nd), borrow=False)
assert numpy.allclose(self.ref_fct(x_shared.value), self.ref_fct(self.cast_value(nd))) assert numpy.allclose(self.ref_fct(x_shared.value), self.ref_fct(self.cast_value(nd)))
assert may_share_memory(old_data, x_shared.container.storage[0]) == self.set_casted_value_inplace assert may_share_memory(old_data, x_shared.container.storage[0]) == self.set_casted_value_inplace
# Test by set_value with borrow=True
nd += 1
old_data = x_shared.container.storage[0]
x_shared.set_value(nd.copy(), borrow=True)
assert numpy.allclose(self.ref_fct(x_shared.value), self.ref_fct(self.cast_value(nd)))
assert may_share_memory(old_data, x_shared.container.storage[0]) == self.set_value_inplace
# Test by set_value with borrow=True when new data casted.
print
nd += 1
old_data = x_shared.container.storage[0]
x_shared.set_value(self.cast_value(nd.copy()), borrow=True)
assert numpy.allclose(self.ref_fct(x_shared.value), self.ref_fct(self.cast_value(nd)))
assert may_share_memory(old_data, x_shared.container.storage[0]) == self.set_casted_value_inplace
def test_specify_shape(self): def test_specify_shape(self):
dtype = self.dtype dtype = self.dtype
if dtype is None: if dtype is None:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论