code: def is_numeric_dtype(obj):
      """Check whether the provided array or dtype is of a numeric dtype.
  
      Parameters
      ----------
      obj : array-like or dtype
          The array or dtype to check.
  
      Returns
      -------
      bool
          Whether or not the array or dtype is of a numeric dtype.
      """
      if isclass(obj):
          if issubclass(obj, cudf.core.dtypes.DecimalDtype):
              return True
          if issubclass(obj, _BaseDtype):
              return False
      else:
          if isinstance(
              obj,
              (
                  cudf.Decimal128Dtype,
                  cudf.Decimal64Dtype,
                  cudf.Decimal32Dtype,
              ),
          ) or isinstance(
              getattr(obj, "dtype", None),
              (
                  cudf.Decimal128Dtype,
                  cudf.Decimal64Dtype,
                  cudf.Decimal32Dtype,
              ),
          ):
              return True
          if isinstance(obj, _BaseDtype) or isinstance(
              getattr(obj, "dtype", None), _BaseDtype
          ):
              return False
      if isinstance(obj, cudf.BaseIndex):
          return obj._is_numeric()
      return pd_types.is_numeric_dtype(obj)
  
imports: from __future__ import annotations
  from collections import abc
  from functools import wraps
  from inspect import isclass
  from typing import List, Union
  import cupy
  import numpy
  import pandas
  from pandas.api import types
  import cudf
  from cudf.core._compat import PANDAS_GE_150
  from cudf.core.dtypes import _BaseDtype, dtype, is_categorical_dtype, is_decimal32_dtype, is_decimal64_dtype, is_decimal128_dtype, is_decimal_dtype, is_interval_dtype, is_list_dtype, is_struct_dtype
label_desc: Use image node_id 1 for calling a global function with example usage: is_numeric_dtype(obj) and returns: pd_types, obj, True, False, True, False