code: def _cdf(self, xloc, left, right, cache):
          
          if isinstance(left, Dist) and left in cache:
              left = cache[left]
          if isinstance(right, Dist) and right in cache:
              right = cache[right]
  
          if isinstance(left, Dist):
              if isinstance(right, Dist):
                  raise StochasticallyDependentError(
                      "under-defined distribution {} or {}".format(left, right))
          else:
              left = (numpy.array(left).T*numpy.ones(xloc.shape).T).T
              uloc1 = evaluation.evaluate_forward(right, left, cache=cache.copy())
              uloc2 = evaluation.evaluate_forward(right, xloc, cache=cache)
              return (uloc2-uloc1)/(1-uloc1)
  
          right = (numpy.array(right).T*numpy.ones(xloc.shape).T).T
          uloc1 = evaluation.evaluate_forward(left, right, cache=cache.copy())
          uloc2 = evaluation.evaluate_forward(left, xloc, cache=cache)
          return uloc2/uloc1
docs: Cumulative distribution function.
  
          Example:
              >>> print(chaospy.Uniform().fwd([-0.5, 0.3, 0.7, 1.2]))
              [0.  0.3 0.7 1. ]
              >>> print(chaospy.Trunc(chaospy.Uniform(), 0.4).fwd([-0.5, 0.2, 0.8, 1.2]))
              [0.  0.5 1.  1. ]
              >>> print(chaospy.Trunc(0.6, chaospy.Uniform()).fwd([-0.5, 0.2, 0.8, 1.2]))
              [0.  0.  0.5 1. ]