docs: def interpolate(self, gmvs):
          """
          :param gmvs:
             array of intensity measure levels
          :returns:
             (interpolated loss ratios, interpolated covs, indices > min)
          """
          # gmvs are clipped to max(iml)
          gmvs_curve = numpy.piecewise(
              gmvs, [gmvs > self.imls[-1]], [self.imls[-1], lambda x: x])
          idxs = gmvs_curve >= self.imls[0]  # indices over the minimum
          gmvs_curve = gmvs_curve[idxs]
          return self._mlr_i1d(gmvs_curve), self._cov_for(gmvs_curve), idxs