Example #1
0
 def testPut (self):
     "test put and putmask"
     x=MA.arange(5)
     MA.put (x, [1,4],[10,40])
     assert eq(x, [0,10,2,3,40])
     
     x=MA.arange(5) * 1.0
     MA.put (x, [1,4],[10.,40.])
     assert eq(x, [0.,10.,2.,3.,40.])
     
     x=MA.arange(5) 
     MA.put (x, [1,4],[10])
     assert eq(x, [0,10,2,3,10])
     
     x=MA.arange(5) 
     MA.put (x, [1,4],10)
     assert eq(x, [0,10,2,3,10])
     
     x=MA.arange(5) 
     MA.put (x, [0,1,2,3], [10,20])
     assert eq(x, [10,20,10,20,4])
     
     x=MA.arange(5) 
     MA.put (x, [[0,1],[2,3]], [10,20])
     assert eq(x, [10,20,10,20,4])
     
     x = MA.arange(5).astype(MA.Float32)
     MA.put (x, [1,4],[10.,40.])
     assert eq(x, [0,10,2,3,40])
     
     x=MA.arange(6)*1.0
     x.shape=(2,3)
     MA.put(x, [1,4],[10,40])
     assert eq(x, [[0,10,2],[3,40,5]])
     
     x=MA.arange(5)
     MA.putmask (x, [1,0,1,0,1], [-1,10,20,30,40]) 
     assert eq(x, [-1,1,20,3,40])
     
     x=MA.arange(10)
     MA.putmask(x, MA.ones(10), 5)
     assert eq(x, 5*MA.ones(10))
     
     x=MA.arange(10)*1.0
     x=x.astype(MA.Float32)
     MA.putmask(x, [0,0,1,0,0,0,0,0,0,1], 3.0)
     assert eq(x, [0.,1.,3.,3.,4.,5.,6.,7.,8.,3.])
     
     x=MA.zeros((10,),MA.PyObject)
     MA.putmask(x, [0,0,1,0,0,0,1,0,0,1], 0.0)
     assert x[2] == 0.
     assert x[1] == 0
     
     x=MA.zeros((5,2),MA.PyObject)
     m=MA.zeros((5,2), MA.Int)
     m[3,1] = 1
     m[2,0] = 1
     MA.putmask(x, m, 0.0)
     assert x[3,1] == 0.0
     assert x[2,0] == 0