def _setup_communicators(self):
        if self.comm is None:
            self.comm = self._impl.world_comm()

        # first determine how many procs that root can possibly use
        minproc, maxproc = self.driver.get_req_procs()
        if MPI:
            if not (maxproc is None or maxproc >= self.comm.size):
                # we have more procs than we can use, so just raise an
                # exception to encourage the user not to waste resources :)
                raise RuntimeError("This problem was given %d MPI processes, "
                                   "but it requires between %d and %d." %
                                   (self.comm.size, minproc, maxproc))
            elif minproc < self.comm.size:
                if maxproc is None:
                    maxproc = '(any)'
                raise RuntimeError("This problem was given %d MPI processes, "
                                   "but it requires between %s and %s." %
                                   (self.comm.size, minproc, maxproc))

        # TODO: once we have nested Problems, figure out proper Problem
        #       directory instead of just using getcwd().
        self.driver._setup_communicators(self.comm, os.getcwd())
dataset/ETHPy150Open OpenMDAO/OpenMDAO/openmdao/core/problem.py/Problem._setup_communicators/swapped operands of `<`