code: def test_aps_hash(scale):
      k = 10
      aps = ApproxSet(scale)
      a = -2 * scale + torch.rand(k) * scale * 0.49
      b = -1 * scale + torch.rand(k) * scale * 0.49
      c = torch.rand(k) * scale * 0.49
      d = scale + torch.rand(k) * scale * 0.49
      e = 2 * scale + torch.rand(k) * scale * 0.49
      f = 4 * scale + torch.rand(k) * scale * 0.49
  
      assert_equal(aps._hash(a), (-2,) * k)
      assert_equal(aps._hash(b), (-1,) * k)
      assert_equal(aps._hash(c), (0,) * k)
      assert_equal(aps._hash(d), (1,) * k)
      assert_equal(aps._hash(e), (2,) * k)
      assert_equal(aps._hash(f), (4,) * k)
  
file_path: pyro/tests/contrib/tracking/test_hashing.py
imports: import logging
  import pytest
  import torch
  from pyro.contrib.tracking.hashing import LSH, ApproxSet, merge_points
  from tests.common import assert_equal
label_desc: Use image node_id 7 for calling a global function with example usage: test_aps_hash(scale) without return types