code: def test_timedelta_series_ops_with_cudf_scalars(
      data, cpu_scalar, dtype, op
  ):
      gpu_scalar = cudf.Scalar(cpu_scalar)
  
      gsr = cudf.Series(data=data, dtype=dtype)
      psr = gsr.to_pandas()
  
      if op == "add":
          expected = psr + cpu_scalar
          actual = gsr + gpu_scalar
      elif op == "sub":
          expected = psr - cpu_scalar
          actual = gsr - gpu_scalar
      elif op == "truediv":
          expected = psr / cpu_scalar
          actual = gsr / gpu_scalar
      elif op == "floordiv":
          expected = psr // cpu_scalar
          actual = gsr // gpu_scalar
      elif op == "mod":
          expected = psr % cpu_scalar
          actual = gsr % gpu_scalar
  
      assert_eq(expected, actual)
  
      if op == "add":
          expected = cpu_scalar + psr
          actual = gpu_scalar + gsr
      elif op == "sub":
          expected = cpu_scalar - psr
          actual = gpu_scalar - gsr
      elif op == "truediv":
          expected = cpu_scalar / psr
          actual = gpu_scalar / gsr
      elif op == "floordiv":
          expected = cpu_scalar // psr
          actual = gpu_scalar // gsr
      elif op == "mod":
          expected = cpu_scalar % psr
          actual = gpu_scalar % gsr
  
      assert_eq(expected, actual)
  
imports: import datetime
  import operator
  import cupy
  import numpy
  import pandas
  import pytest
  import cudf
  from cudf.testing import _utils
  from cudf.testing._utils import assert_eq, assert_exceptions_equal
label_desc: Use image node_id 12 for calling a global function with example usage: test_timedelta_series_ops_with_cudf_scalars(data, cpu_scalar, dtype, op) without return types