3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-07 18:05:21 +00:00
z3/lib/value.cpp
Leonardo de Moura e9eab22e5c Z3 sources
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-02 11:35:25 -07:00

43 lines
806 B
C++

/*++
Copyright (c) 2006 Microsoft Corporation
Module Name:
value.cpp
Abstract:
<abstract>
Author:
Leonardo de Moura (leonardo) 2007-08-17.
Revision History:
--*/
#include"value.h"
void bool_value::display(std::ostream & out) const {
out << (m_value ? "true" : "false");
}
unsigned bool_value::hash() const {
return m_value ? 1 : 0;
}
bool bool_value::operator==(const value & other) const {
const bool_value * o = dynamic_cast<const bool_value*>(&other);
return o && m_value == o->m_value;
}
basic_factory::basic_factory(ast_manager & m):
value_factory(symbol("basic"), m),
m_bool(m) {
m_bool = m.mk_type(m.get_basic_family_id(), BOOL_SORT);
m_true = alloc(bool_value, true, m_bool.get());
m_false = alloc(bool_value, false, m_bool.get());
}