code: def test_mixed_dtype(self):
      x1 = tensor.vector("x1", dtype="int32")
      x2 = tensor.vector("x2", dtype=self.dtype)
      y1 = tensor.vector("y1", dtype="int32")
      y2 = tensor.vector("y2", dtype=self.dtype)
      c = tensor.iscalar("c")
      f = theano.function(
          [c, x1, x2, y1, y2],
          ifelse(c, (x1, x2), (y1, y2)),
          mode=self.mode,
      )
      self.assertFunctionContains1(f, self.get_ifelse(2))
      rng = np.random.RandomState(utt.fetch_seed())
  
      xlen = rng.randint(200)
      ylen = rng.randint(200)
  
      vx1 = np.asarray(rng.uniform(size=(xlen,)) * 3, "int32")
      vx2 = np.asarray(rng.uniform(size=(xlen,)), self.dtype)
      vy1 = np.asarray(rng.uniform(size=(ylen,)) * 3, "int32")
      vy2 = np.asarray(rng.uniform(size=(ylen,)), self.dtype)
  
      o1, o2 = f(1, vx1, vx2, vy1, vy2)
      assert np.allclose(vx1, o1)
      assert np.allclose(vx2, o2)
  
      o1, o2 = f(0, vx1, vx2, vy1, vy2)
      assert np.allclose(vy1, o1)
      assert np.allclose(vy2, o2)
  
imports: from __future__ import absolute_import, print_function, division
  import unittest
  import numpy
  from nose.plugins.skip import SkipTest
  from six.moves import reduce
  import theano
  from theano import tensor
  import theano.ifelse
  from theano.ifelse import IfElse, ifelse
  from theano.tests import unittest_tools
label_desc: Use image node_id 4 for calling the test_ifelse obj's underlying member method code with example usage: obj.test_mixed_dtype() without return types