code: def test_default_dtype(self):
      random = RandomStreams(utt.fetch_seed())
      low = tensor.dscalar()
      high = tensor.dscalar()
  
      # Should not silently downcast from low and high
      out0 = random.uniform(low=low, high=high, size=(42,))
      assert out0.dtype == "float64"
      f0 = function([low, high], out0)
      val0 = f0(-2.1, 3.1)
      assert val0.dtype == "float64"
  
      # Should downcast, since asked explicitly
      out1 = random.uniform(
          low=low, high=high, size=(42,), dtype="float32"
      )
      assert out1.dtype == "float32"
      f1 = function([low, high], out1)
      val1 = f1(-1.1, 1.1)
      assert val1.dtype == "float32"
  
      # Should use floatX
      lowf = tensor.fscalar()
      highf = tensor.fscalar()
      outf = random.uniform(low=lowf, high=highf, size=(42,))
      assert outf.dtype == config.floatX
      ff = function([lowf, highf], outf)
      valf = ff(np.float32(-0.1), np.float32(0.3))
      assert valf.dtype == config.floatX
  
imports: from __future__ import absolute_import, print_function, division
  import sys
  import unittest
  import numpy
  from theano.tensor import raw_random
  from theano.tensor.shared_randomstreams import RandomStreams
  from theano import function, shared
  from theano import tensor
  from theano import compile, config, gof
  from theano.tests import unittest_tools
label_desc: Use image node_id 29 for calling the T_SharedRandomStreams obj's underlying member method code with example usage: obj.test_default_dtype() without return types