code: def test_broadcast_with_ref(self):
      code = """
              import numpy as np
              import numpy.linalg as npl
  
              def _get_cross(a, b):
                  return a[0] * b[:, :, 1] - a[1] * b[:, :, 0]
  
  
              def _get_mgrid(shape):
                  xx = np.empty(shape, dtype=int)
                  xx.T[:] = np.arange(0, shape[0], 1, dtype=int)
                  yy = np.empty(shape, dtype=int)
                  yy[:] = np.arange(0, shape[1], 1, dtype=int)
                  return xx, yy
  
              def broadcast_array_with_ref(shape, center, angle):
                  xx, yy = _get_mgrid(shape)
                  coords = np.rollaxis(np.array([xx, yy]), 0, 3)
                  far = center + np.array([np.cos(angle), np.sin(angle)]) * 100
  
                  if angle > 1:
                      z = np.absolute(_get_cross(far - center, coords - center))
                      return z
                  else:
                      z = _get_cross(far - center, coords - center)
                      return np.absolute(z)
                  """
      self.run_test(
          code,
          (3, 3),
          (4.0, 4.0),
          5.0,
          broadcast_array_with_ref=[
              Tuple[int, int],
              Tuple[float, float],
              float,
          ],
      )
  
imports: import unittest
  from pythran.tests import TestEnv
  import numpy
  from pythran.typing import NDArray, List, Tuple
label_desc: Use image node_id 7 for calling the TestBroadcasting obj's underlying member method code with example usage: obj.test_broadcast_with_ref() without return types