class_docstr: Base class for most multi-part function, overlapping or not.
class_docstr_tok: ["Base","class","for","most","multi-part","function",",","overlapping","or","not","."]
code: def __init__(  # pylint: disable=too-many-arguments,too-many-locals
      self,
      xopt: np.ndarray,
      p: np.ndarray,
      s: np.ndarray,
      w: np.ndarray,
      R25: np.ndarray,
      R50: np.ndarray,
      R100: np.ndarray,
  ) -> None:
      remaining = 1000 - np.sum(s)
      assert remaining in [0, 700]
      assert xopt.size == p.size
      indexings = _core.Indexing.from_split(
          p,
          s.tolist() + ([remaining] if remaining else []),
          overlap=self.overlap,
      )
      rotations = {
          num: _core.Rotation(rot)
          for num, rot in [(25, R25), (50, R50), (100, R100)]
      }
      assert w.size == len(indexings) - (remaining == 700)
      functions: List[FunctionChunk] = []
      transforms: List[Callable[[np.ndarray], np.ndarray]] = []
      for coeff, indexing in zip(w.tolist(), indexings):
          transforms = [indexing, rotations[indexing.outdim]] + self._make_transforms(side_loss=False)  # type: ignore
          functions.append(
              coeff
              * FunctionChunk(
                  transforms,
                  self._make_loss(indexing.outdim, side_loss=False),
              )
          )
      if remaining:
          transforms = self._make_transforms(side_loss=True)
          loss = self._make_loss(indexings[-1].outdim, side_loss=True)
          functions.append(FunctionChunk([indexings[-1]] + transforms, loss))  # type: ignore
      super().__init__(xopt, functions)
  
imports: from typing import List, Callable, Dict, Type, Optional
  from pathlib import Path
  import re
  import numpy
  from nevergrad.common.decorators import Registry
  from nevergrad.functions import ExperimentFunction
  import nevergrad
  from .None import _core
label_desc: Use image node_id 3 to create a new _MultiPartFunction object from inherited base classes: LsgoFunction with example: obj = _MultiPartFunction(xopt, p, s, w, R25, R50, R100)