All Downloads are FREE. Search and download functionalities are using the official Maven repository.

z3-z3-4.13.0.src.util.mpq_inf.cpp Maven / Gradle / Ivy

The newest version!
/*++
Copyright (c) 2006 Microsoft Corporation

Module Name:

    mpq_inf.cpp

Abstract:

    MPQ numbers with infinitesimals

Author:

    Leonardo de Moura (leonardo) 2011-06-28

Revision History:

--*/
#include "util/mpq_inf.h"

template
std::string mpq_inf_manager::to_string(mpq_inf const & a) {
    if (m.is_zero(a.second))
        return m.to_string(a.first);
    
    std::string s = "(";
    s += m.to_string(a.first);
    if (m.is_neg(a.second))
        s += " -e*";
    else
        s += " +e*";
    mpq tmp;
    m.set(tmp, a.second);
    m.abs(tmp);
    s += m.to_string(tmp);
    m.del(tmp);
    s += ")";
    return s;
}


#ifndef SINGLE_THREAD
template class mpq_inf_manager;
#endif
template class mpq_inf_manager;




© 2015 - 2024 Weber Informatics LLC | Privacy Policy