@classmethod
def _init_dependencies_order(cls):
    "Resolve the order of options' processing. "
    if (cls.__order__ is None):
        (vertices, edges) = ([], set([]))
        for (name, option) in cls.__options__.items():
            vertices.append(name)
            for _name in option.after:
                edges.add((_name, name))
            for _name in option.before:
                edges.add((name, _name))
        try:
            cls.__order__ = topological_sort((vertices, list(edges)))
        except ValueError:
            raise RuntimeError('cycle detected in sympy.polys options framework')
Resolve the order of options' processing.
@classmethod
def _init_dependencies_order(cls):
    " "
    if (cls.__order__ is None):
        (vertices, edges) = ([], set([]))
        for (name, option) in cls.__options__.items():
            vertices.append(name)
            for _name in option.after:
                edges.add((_name, name))
            for _name in option.before:
                edges.add((name, _name))
        try:
            cls.__order__ = topological_sort((vertices, list(edges)))
        except ValueError:
            raise RuntimeError('cycle detected in sympy.polys options framework')