code: def test_signature_provides(have, want, should_provide):
      have = Signature.from_c_types(have)
      want = Signature.from_c_types(want)
      provides = have.provides(want.res_dtype, want.arg_dtypes)
      assert provides == should_provide
  
file_path: pytensor/tests/link/numba/test_cython_support.py
imports: import numpy
  import pytest
  import scipy.special.cython_special
  from numba.types import float32, float64, int32, int64
  from pytensor.link.numba.dispatch.cython_support import Signature, wrap_cython_function
label_desc: Use image node_id 2 for calling a global function with example usage: test_signature_provides(have, want, should_provide) without return types