code: def test_scalar_dot(seed, scalar, is_dynamic):
      rng = np.random.RandomState(seed)
      a1 = scalar
      a2 = rng.randn(3, 4, 5, 6).astype(np.float32)
      n = nn.NdArray.from_numpy_array(a2)
      v = nn.Variable.from_numpy_array(a2)
  
      ref = F.dot(a1, a2)
  
      ans1 = F.dot(a1, n)
      assert_allclose(ans1.data, ref)
  
      out1 = nn.NdArray((3, 4, 5, 6))
      F.dot(a1, n, out1)
      assert_allclose(out1.data, ref)
  
      with nn.auto_forward(is_dynamic):
          ans2 = F.dot(a1, v)
          if not is_dynamic:
              ans2.forward()
          assert_allclose(ans2.d, ref)
  
          out2 = nn.Variable((3, 4, 5, 6))
          F.dot(a1, v, out2)
          if not is_dynamic:
              out2.forward()
          assert_allclose(out2.d, ref)
  
file_path: nnabla/python/test/test_numpy_compat_functions.py
imports: import pytest
  import numpy
  import nnabla
  import nnabla.functions
  from nnabla.testing import assert_allclose
  from nbla_test_function_network import function_network_tester
label_desc: Use image node_id 1 for calling a global function with example usage: test_scalar_dot(seed, scalar, is_dynamic) without return types