code: def fwd(self, x_data):
          
          x_data = numpy.asfarray(x_data)
          shape = x_data.shape
          x_data = x_data.reshape(len(self), -1)
  
          lower, upper = evaluation.evaluate_bound(self, x_data)
          q_data = numpy.zeros(x_data.shape)
          indices = x_data > upper
          q_data[indices] = 1
          indices = ~indices & (x_data >= lower)
  
          q_data[indices] = numpy.clip(evaluation.evaluate_forward(
              self, x_data), a_min=0, a_max=1)[indices]
  
          q_data = q_data.reshape(shape)
          return q_data
docs: Forward Rosenblatt transformation.
  
          Args:
              x_data (numpy.ndarray):
                  Location for the distribution function. ``x_data.shape`` must
                  be compatible with distribution shape.
  
          Returns:
              (numpy.ndarray):
                  Evaluated distribution function values, where
                  ``out.shape==x_data.shape``.