code: def test_cummax_masked():
      data = [1, 2, None, 4, 5]
      float_types = ["float32", "float64"]
  
      for type_ in float_types:
          gs = cudf.Series(data).astype(type_)
          ps = pd.Series(data).astype(type_)
          assert_eq(gs.cummax(), ps.cummax())
  
      for type_ in INTEGER_TYPES:
          gs = cudf.Series(data).astype(type_)
          expected = pd.Series([1, 2, np.nan, 4, 5]).astype("float64")
          assert_eq(gs.cummax(), expected)
  
imports: from itertools import product
  import numpy
  import pandas
  import pytest
  import cudf
  from cudf.core.dtypes import Decimal32Dtype, Decimal64Dtype, Decimal128Dtype
  from cudf.testing._utils import INTEGER_TYPES, NUMERIC_TYPES, assert_eq, gen_rand
label_desc: Use image node_id 9 for calling a global function with example usage: test_cummax_masked() without return types