Ejemplo n.º 1
0
    def test_input_indices_same_inputs(self):
        A = cl.array.to_device(self.queue,numpy.array(range(5)*2).astype('float32'))
        B = cl.array.empty_like(A)

        differ = symbolic.map(self.ctx,self.differece,
            input=[A,A],
            output=[B],
            input_indices=lambda n,i,j: [i+1,i-1],
        )

        differ()

        self.assertEqual(list(B.get()),
            [1., 2., 2., 2.,-3.,-3., 2., 2., 2.,1.]
        )
Ejemplo n.º 2
0
    def test_reverse(self):

        A = cl.array.to_device(self.queue,numpy.arange(0,10).astype('float32'))
        B = cl.array.empty_like(A)


        noper = symbolic.map(self.ctx,self.nop,
            input=[A],
            output=[B],
            iterations=1,
            output_indices=lambda n,i,j: [n-i-1],
        )

        noper()

        self.assertEqual(list(B.get()),range(9,-1,-1))
Ejemplo n.º 3
0
    def test_oddeven(self):


        A = cl.array.to_device(self.queue,numpy.array(range(5)*2).astype('float32'))
        B = cl.array.empty_like(A)
        C = cl.array.empty_like(A)


        noper = symbolic.map(self.ctx,self.nop,
            input=[A],
            output=[B,B],
            output_indices=lambda n,i,j: [(2*i)%n,(2*i+1)%n],
        )

        noper()

        self.assertEqual(list(B.get()),[0,0,1,2,2,4,3,6,4,8])