code: def test_ctsplitter_mask_sorted(point_process_dataset):
      d = next(iter(point_process_dataset))
  
      ia_times = d["target"][0, :]
  
      ts = np.cumsum(ia_times)
  
      splitter = transform.ContinuousTimeInstanceSplitter(
          past_interval_length=2,
          future_interval_length=1,
          instance_sampler=transform.ContinuousTimeUniformSampler(
              num_instances=10,
              min_past=2,
              min_future=1,
          ),
          freq=to_offset("H"),
      )
  
      # no boundary conditions
      res = splitter._mask_sorted(ts, 1, 2)
      assert all([a == b for a, b in zip([2, 3, 4], res)])
  
      # lower bound equal, exclusive of upper bound
      res = splitter._mask_sorted(np.array([1, 2, 3, 4, 5, 6]), 1, 2)
      assert all([a == b for a, b in zip([0], res)])
  
imports: from typing import Tuple, List
  import numpy
  import pandas
  from pandas.tseries.frequencies import to_offset
  import pytest
  import gluonts
  from gluonts import time_feature, transform
  from gluonts.core import fqname_for
  from gluonts.core.serde import dump_json, load_json
  from gluonts.dataset.common import DataEntry, ListDataset
  from gluonts.dataset.field_names import FieldName
  from gluonts.dataset.stat import ScaleHistogram, calculate_dataset_statistics
  from gluonts.transform import CausalMeanValueImputation, DummyValueImputation, LastValueImputation, MeanValueImputation, RollingMeanValueImputation, Valmap
  from gluonts.transform.convert import ToIntervalSizeFormat, erf, erfinv
  from gluonts.transform.feature import CountTrailingZeros
label_desc: Use image node_id 17 for calling a global function with example usage: test_ctsplitter_mask_sorted(point_process_dataset) without return types