code: def _setup_prior(self):
          
          if len(self._marg_prior) == 0:
              raise ValueError("A prior must be specified for the parameters "
                               "that you wish to marginalize the likelihood "
                               "over")
          marg_number = len([i for i in self._args if i != 0])
          if len(self._marg_prior) != marg_number:
              raise AttributeError("There is not a prior for each keyword "
                                   "argument")
          if self._margdist:
              bounds = self._marg_prior["distance"].bounds
              self._dist_array = numpy.linspace(bounds["distance"].min,
                                                bounds["distance"].max, 10**4)
              self._deltad = self._dist_array[1] - self._dist_array[0]
              self.dist_prior = numpy.array(
                                    [self._marg_prior["distance"].pdf(distance=i)
                                     for i in self._dist_array])
          if self._margtime:
              bounds = self._marg_prior["time"].bounds
              self._time_array = numpy.linspace(bounds["time"].min,
                                                bounds["time"].min, 10**4)
              self.time_prior = numpy.array(
                                    [self._marg_prior["time"].pdf(time=i) for
                                     i in self._time_array])
          if self._margphase:
              bounds = self._marg_prior["phase"].bounds
              self._phase_array = numpy.linspace(bounds["phase"].min,
                                                 bounds["phase"].max, 10**4)
              self._deltap = self._phase_array[1] - self._phase_array[0]
              self.phase_prior = numpy.array(
                                     [self._marg_prior["phase"].pdf(phase=i) for
                                      i in self._phase_array])
docs: Sets up the prior for time and/or distance and/or phase which is
          used for the likelihood marginalization.