def test_elemwise_comparaison_cast():
 a = tensor.fmatrix()
 b = tensor.fmatrix()
 av = theano._asarray(numpy.random.rand(4, 4), dtype='float32')
 bv = numpy.ones((4, 4), dtype='float32')
 for (g, ans) in [(tensor.lt, (av < bv)), (tensor.gt, (av > bv)), (tensor.le, (av <= bv)), (tensor.ge, (av >= bv))]:
  f = pfunc([a, b], tensor.cast(g(a, b), 'float32'), mode=mode_with_gpu)
  out = f(av, bv)
  assert numpy.all((out == ans))
  assert any([isinstance(node.op, cuda.GpuElemwise) for node in f.maker.fgraph.toposort()])

def test_elemwise_comparaison_cast ( ) : a = tensor . fmatrix ( ) b = tensor . fmatrix ( ) av = theano . _asarray ( numpy . random . rand ( 4 , 4 ) , dtype = 'float32' ) bv = numpy . ones ( ( 4 , 4 ) , dtype = 'float32' ) for ( g , ans ) in [ ( tensor . lt , ( av < bv ) ) , ( tensor . gt , ( av > bv ) ) , ( tensor . le , ( av <= bv ) ) , ( tensor . ge , ( av >= bv ) ) ] : f = pfunc ( [ a , b ] , tensor . cast ( g ( a , b ) , 'float32' ) , mode = mode_with_gpu ) out = f ( av , bv ) assert numpy . all ( ( out == ans ) ) assert any ( [ isinstance ( node . op , cuda . GpuElemwise ) for node in f . maker . fgraph . toposort ( ) ] )
test if an elemwise comparaison followed by a cast to float32 are pushed to gpu .