public FltInterval Exp() { if (IsEmpty()) { return(FltInterval.Empty); } // slightly enlarge interval double min = Epsilon.PrevOne(Math.Exp(m_Min)); double max = Epsilon.NextOne(Math.Exp(m_Max)); return(new FltInterval(min, max)); }
public FltInterval Log() { if (IsEmpty()) { return(FltInterval.Empty); } if (m_Max < 0) { return(FltInterval.Empty); } double min = m_Min < 0 ? double.MinValue : m_Min == 0 ? 0 : Epsilon.PrevOne(Math.Log(m_Min)); double max = Epsilon.NextOne(Math.Log(m_Max)); return(new FltInterval(min, max)); }