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

z3-z3-4.13.0.src.util.lbool.h Maven / Gradle / Ivy

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

Module Name:

    lbool.h

Abstract:

    Lifted boolean

Author:

    Leonardo de Moura (leonardo) 2008-02-08.

Revision History:

--*/
#pragma once

#include "util/util.h"

typedef enum { l_false = -1, l_undef, l_true } lbool;

inline lbool operator~(lbool lb) {
    return static_cast(-static_cast(lb));
}

inline lbool to_lbool(bool b) {
    return static_cast(static_cast(b)*2-1);
}

std::ostream & operator<<(std::ostream & out, lbool b);

/**
   \brief Convert l_true -> satisfiable, l_false -> unsatisfiable, and l_undef -> unknown.
*/
char const * to_sat_str(lbool l);






© 2015 - 2024 Weber Informatics LLC | Privacy Policy