'Initialize new real interval with complete information.'

def __init__(self, data, f, dom):

    if (len(data) == 2):
        (s, t) = data
        self.neg = False
        if (s < 0):
            if (t <= 0):
                (f, s, t, self.neg) = (dup_mirror(f, dom), (- t), (- s), True)
            else:
                raise ValueError(("can't    refine    a    real    root    in    (%s,    %s)" % (s, t)))
        (a, b, c, d) = _mobius_from_interval((s, t), dom.get_field())
        f = dup_transform(f, dup_strip([a, b]), dup_strip([c, d]), dom)
        self.mobius = (a, b, c, d)
    else:
        self.mobius = data[:(-1)]
        self.neg = data[(-1)]
    (self.f, self.dom) = (f, dom)
