code: def test_advinc_subtensor1_vector_scalar():
      # Test the case where x is a vector and y a scalar
      shp = (3,)
      for dtype1, dtype2 in [
          ("float32", "int8"),
          ("float32", "float64"),
          ("float16", "int8"),
          ("float16", "float64"),
          ("float16", "float16"),
          ("int8", "int8"),
          ("int16", "int16"),
      ]:
          shared = gpuarray_shared_constructor
          xval = np.arange(np.prod(shp), dtype=dtype1).reshape(shp) + 1
          yval = np.asarray(10, dtype=dtype2)
          x = shared(xval, name="x")
          y = tensor.tensor(
              dtype=yval.dtype,
              broadcastable=(False,) * len(yval.shape),
              name="y",
          )
          expr = tensor.advanced_inc_subtensor1(x, y, [0, 2])
          f = theano.function([y], expr, mode=mode_with_gpu)
  
          assert (
              sum(
                  [
                      isinstance(
                          node.op,
                          (
                              GpuAdvancedIncSubtensor1_dev20,
                              GpuAdvancedIncSubtensor1,
                          ),
                      )
                      for node in f.maker.fgraph.toposort()
                  ]
              )
              == 1
          )
          rval = f(yval)
          rep = xval.copy()
          rep[[0, 2]] += yval
          assert np.allclose(rval, rep)
  
imports: from __future__ import absolute_import, print_function, division
  import numpy
  import unittest
  import theano
  from theano import tensor
  from theano.compile import DeepCopyOp
  from theano.tensor.tests import test_subtensor, test_basic
  from theano.tests import unittest_tools
  from ..basic_ops import HostFromGpu, GpuFromHost, GpuContiguous
  from ..elemwise import GpuDimShuffle
  from ..subtensor import GpuIncSubtensor, GpuSubtensor, GpuAdvancedSubtensor1, GpuAdvancedSubtensor, GpuAdvancedBooleanSubtensor, GpuAdvancedIncSubtensor, GpuAdvancedIncSubtensor1, GpuAdvancedIncSubtensor1_dev20, GpuExtractDiag, GpuAllocDiag
  from ..type import gpuarray_shared_constructor
  from .config import mode_with_gpu, test_ctx_name
label_desc: Use image node_id 4 for calling a global function with example usage: test_advinc_subtensor1_vector_scalar() without return types