}
%{
-// Perl's headers define "seed" to Perl_seed, which breaks
-// gmpxx.h; undo the damage for our CVC4 module.
-#ifdef SWIGPERL
-# undef seed
-#endif /* SWIGPERL */
-
-// OCaml's headers define "invalid_argument" and "flush" to
-// caml_invalid_argument and caml_flush, which breaks C++
-// standard headers; undo this damage
-//
-// Unfortunately, this code isn't inserted early enough. swig puts
-// an include <stdexcept> very early, which breaks linking due to a
-// nonexistent std::caml_invalid_argument symbol.. ridiculous!
-//
-#ifdef SWIGOCAML
-# if defined(flush) || defined(invalid_argument)
-# error "flush" or "invalid_argument" (or both) is defined by the ocaml headers. You must #undef it above before inclusion of <stdexcept>.
-# endif /* flush */
-# undef flush
-# undef invalid_argument
-#endif /* SWIGOCAML */
-
namespace CVC4 {}
using namespace CVC4;
%include "expr/kind.i"
%extend std::vector< CVC4::Datatype > {
- /* These member functions have slightly different signatures in
- * different swig language packages. The underlying issue is that
- * DatatypeConstructor doesn't have a default constructor */
-#if defined(SWIGOCAML) || defined(SWIGPERL) || defined(SWIGTCL)
- %ignore vector(unsigned int size = 0);
- %ignore set( int i, const CVC4::Datatype &x );
- %ignore to_array();
-#endif /* SWIGOCAML || SWIGPERL || SWIGTCL */
%ignore vector(size_type);// java/python/perl/others?
%ignore resize(size_type);// java/python/perl/others?
%ignore set(int i, const CVC4::Datatype& x);
%template(vectorDatatype) std::vector< CVC4::Datatype >;
%extend std::vector< CVC4::DatatypeConstructor > {
- /* These member functions have slightly different signatures in
- * different swig language packages. The underlying issue is that
- * DatatypeConstructor doesn't have a default constructor */
-#if defined(SWIGOCAML) || defined(SWIGPERL) || defined(SWIGTCL)
- %ignore vector(unsigned int size = 0);
- %ignore set( int i, const CVC4::DatatypeConstructor &x );
- %ignore to_array();
-#endif /* SWIGOCAML || SWIGPERL || SWIGTCL */
%ignore vector(size_type);// java/python/perl/others?
%ignore resize(size_type);// java/python/perl/others?
%ignore set(int i, const CVC4::Datatype::Constructor& x);
}
}
-#ifdef SWIGOCAML
- /* OCaml bindings cannot deal with this degree of overloading */
- %ignore CVC4::ExprManager::mkExpr(Kind, const std::vector<Expr>&);
- %ignore CVC4::ExprManager::mkExpr(Kind, Expr, const std::vector<Expr>&);
- %ignore CVC4::ExprManager::mkExpr(Expr);
- %ignore CVC4::ExprManager::mkExpr(Expr, Expr);
- %ignore CVC4::ExprManager::mkExpr(Expr, Expr, Expr);
- %ignore CVC4::ExprManager::mkExpr(Expr, Expr, Expr, Expr);
- %ignore CVC4::ExprManager::mkExpr(Expr, Expr, Expr, Expr, Expr);
- %ignore CVC4::ExprManager::mkExpr(Expr, Expr, Expr, Expr, Expr, Expr);
- %ignore CVC4::ExprManager::mkExpr(Expr, const std::vector<Expr>&);
-#endif /* SWIGOCAML */
-
%ignore CVC4::stats::getStatisticsRegistry(ExprManager*);
%ignore CVC4::ExprManager::getResourceManager();
namespace CVC4 {
-namespace {
-
-std::vector<Expr> ExportTo(ExprManager* exprManager,
- ExprManagerMapCollection& variableMap,
- const std::vector<Expr>& exprs)
-{
- std::vector<Expr> exported;
- exported.reserve(exprs.size());
- for (const Expr& expr : exprs)
- {
- exported.push_back(expr.exportTo(exprManager, variableMap));
- }
- return exported;
-}
-
-} // namespace
-
const int CommandPrintSuccess::s_iosIndex = std::ios_base::xalloc();
const CommandSuccess* CommandSuccess::s_instance = new CommandSuccess();
const CommandInterrupted* CommandInterrupted::s_instance =
bool.h
cardinality.cpp
cardinality.h
- debug.h
dense_map.h
divisible.cpp
divisible.h
+++ /dev/null
-/********************* */
-/*! \file debug.h
- ** \verbatim
- ** Top contributors (to current version):
- ** Morgan Deters
- ** This file is part of the CVC4 project.
- ** Copyright (c) 2009-2019 by the authors listed in the file AUTHORS
- ** in the top-level source directory) and their institutional affiliations.
- ** All rights reserved. See the file COPYING in the top-level source
- ** directory for licensing information.\endverbatim
- **
- ** \brief Debugging things.
- **
- ** Debugging things.
- **
- ** These are low-level assertions! Generally you should use
- ** CVC4::Assert() instead (they throw an exception!). See
- ** util/Assert.h.
- **/
-
-#include "cvc4_private.h"
-
-#ifndef CVC4__DEBUG_H
-#define CVC4__DEBUG_H
-
-#include <cassert>
-
-#ifdef CVC4_ASSERTIONS
-// the __builtin_expect() helps us if assert is built-in or a macro
-# define cvc4assert(x) assert(__builtin_expect( ( x ), true ))
-#else
-// TODO: use a compiler annotation when assertions are off ?
-// (to improve optimization)
-# define cvc4assert(x) /*__builtin_expect( ( x ), true )*/
-#endif /* CVC4_ASSERTIONS */
-
-#endif /* CVC4__DEBUG_H */