'Initialization is from the C context'

def __init__(self, c_ctx=None, p_ctx=None):

    self.c = (C.getcontext() if (c_ctx is None) else c_ctx)
    self.p = (P.getcontext() if (p_ctx is None) else p_ctx)
    self.p.prec = self.c.prec
    self.p.Emin = self.c.Emin
    self.p.Emax = self.c.Emax
    self.p.rounding = self.c.rounding
    self.p.capitals = self.c.capitals
    self.settraps([sig for sig in self.c.traps if self.c.traps[sig]])
    self.setstatus([sig for sig in self.c.flags if self.c.flags[sig]])
    self.p.clamp = self.c.clamp
