code: def compute_child_splits(
      self: "HistogramSplits",
      weak_child_splits: "HistogramSplits",
      mapping: List[Tuple[int, int, int, int]],
  ):
      assert len(mapping) == weak_child_splits.num_node
      assert self.end == weak_child_splits.end
      assert self.start == weak_child_splits.start
      assert self.sid == weak_child_splits.sid
      size = self.end - self.start
      positions = []
      for (
          parent_pos,
          weak_child_pos,
          target_weak_child_pos,
          target_strong_child_pos,
      ) in mapping:
          target_weak_child_start = target_weak_child_pos * size
          target_weak_child_end = (target_weak_child_pos + 1) * size
          target_strong_child_start = target_strong_child_pos * size
          target_strong_child_end = (target_strong_child_pos + 1) * size
          parent_data_start = parent_pos * size
          parent_data_end = (parent_pos + 1) * size
          weak_child_data_start = weak_child_pos * size
          weak_child_data_end = (weak_child_pos + 1) * size
          positions.append(
              (
                  target_weak_child_start,
                  target_weak_child_end,
                  target_strong_child_start,
                  target_strong_child_end,
                  parent_data_start,
                  parent_data_end,
                  weak_child_data_start,
                  weak_child_data_end,
              )
          )
      data = self._data.compute_child(
          weak_child_splits._data, positions, size * len(mapping) * 2
      )
      return HistogramSplits(
          self.sid,
          2 * weak_child_splits.num_node,
          self.start,
          self.end,
          data,
      )
  
file_path: FATE/python/fate/arch/histogram/_histogram_splits.py
imports: import logging
  import typing
  from typing import List, Tuple
  from .values import HistogramValuesContainer
  from .indexer import Shuffler
label_desc: Use image node_id 6 for calling the HistogramSplits obj's underlying member method code with example usage: obj.compute_child_splits(weak_child_splits, mapping) and returns: HistogramSplits