{MINUS, CVC4::Kind::MINUS},
{UMINUS, CVC4::Kind::UMINUS},
{DIVISION, CVC4::Kind::DIVISION},
- {DIVISION_TOTAL, CVC4::Kind::DIVISION_TOTAL},
{INTS_DIVISION, CVC4::Kind::INTS_DIVISION},
- {INTS_DIVISION_TOTAL, CVC4::Kind::INTS_DIVISION_TOTAL},
{INTS_MODULUS, CVC4::Kind::INTS_MODULUS},
- {INTS_MODULUS_TOTAL, CVC4::Kind::INTS_MODULUS_TOTAL},
{ABS, CVC4::Kind::ABS},
{DIVISIBLE, CVC4::Kind::DIVISIBLE},
{POW, CVC4::Kind::POW},
{BITVECTOR_SDIV, CVC4::Kind::BITVECTOR_SDIV},
{BITVECTOR_SREM, CVC4::Kind::BITVECTOR_SREM},
{BITVECTOR_SMOD, CVC4::Kind::BITVECTOR_SMOD},
- {BITVECTOR_UDIV_TOTAL, CVC4::Kind::BITVECTOR_UDIV_TOTAL},
- {BITVECTOR_UREM_TOTAL, CVC4::Kind::BITVECTOR_UREM_TOTAL},
{BITVECTOR_SHL, CVC4::Kind::BITVECTOR_SHL},
{BITVECTOR_LSHR, CVC4::Kind::BITVECTOR_LSHR},
{BITVECTOR_ASHR, CVC4::Kind::BITVECTOR_ASHR},
CVC4::Kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR},
{FLOATINGPOINT_TO_FP_GENERIC, CVC4::Kind::FLOATINGPOINT_TO_FP_GENERIC},
{FLOATINGPOINT_TO_UBV, CVC4::Kind::FLOATINGPOINT_TO_UBV},
- {FLOATINGPOINT_TO_UBV_TOTAL, CVC4::Kind::FLOATINGPOINT_TO_UBV_TOTAL},
{FLOATINGPOINT_TO_SBV, CVC4::Kind::FLOATINGPOINT_TO_SBV},
- {FLOATINGPOINT_TO_SBV_TOTAL, CVC4::Kind::FLOATINGPOINT_TO_SBV_TOTAL},
{FLOATINGPOINT_TO_REAL, CVC4::Kind::FLOATINGPOINT_TO_REAL},
- {FLOATINGPOINT_TO_REAL_TOTAL, CVC4::Kind::FLOATINGPOINT_TO_REAL_TOTAL},
/* Arrays -------------------------------------------------------------- */
{SELECT, CVC4::Kind::SELECT},
{STORE, CVC4::Kind::STORE},
/* Datatypes ----------------------------------------------------------- */
{APPLY_SELECTOR, CVC4::Kind::APPLY_SELECTOR},
{APPLY_CONSTRUCTOR, CVC4::Kind::APPLY_CONSTRUCTOR},
- {APPLY_SELECTOR_TOTAL, CVC4::Kind::APPLY_SELECTOR_TOTAL},
{APPLY_TESTER, CVC4::Kind::APPLY_TESTER},
{TUPLE_UPDATE, CVC4::Kind::TUPLE_UPDATE},
{RECORD_UPDATE, CVC4::Kind::RECORD_UPDATE},
{CVC4::Kind::MINUS, MINUS},
{CVC4::Kind::UMINUS, UMINUS},
{CVC4::Kind::DIVISION, DIVISION},
- {CVC4::Kind::DIVISION_TOTAL, DIVISION_TOTAL},
+ {CVC4::Kind::DIVISION_TOTAL, INTERNAL_KIND},
{CVC4::Kind::INTS_DIVISION, INTS_DIVISION},
- {CVC4::Kind::INTS_DIVISION_TOTAL, INTS_DIVISION_TOTAL},
+ {CVC4::Kind::INTS_DIVISION_TOTAL, INTERNAL_KIND},
{CVC4::Kind::INTS_MODULUS, INTS_MODULUS},
- {CVC4::Kind::INTS_MODULUS_TOTAL, INTS_MODULUS_TOTAL},
+ {CVC4::Kind::INTS_MODULUS_TOTAL, INTERNAL_KIND},
{CVC4::Kind::ABS, ABS},
{CVC4::Kind::DIVISIBLE, DIVISIBLE},
{CVC4::Kind::POW, POW},
{CVC4::Kind::BITVECTOR_SDIV, BITVECTOR_SDIV},
{CVC4::Kind::BITVECTOR_SREM, BITVECTOR_SREM},
{CVC4::Kind::BITVECTOR_SMOD, BITVECTOR_SMOD},
- {CVC4::Kind::BITVECTOR_UDIV_TOTAL, BITVECTOR_UDIV_TOTAL},
- {CVC4::Kind::BITVECTOR_UREM_TOTAL, BITVECTOR_UREM_TOTAL},
+ {CVC4::Kind::BITVECTOR_UDIV_TOTAL, INTERNAL_KIND},
+ {CVC4::Kind::BITVECTOR_UREM_TOTAL, INTERNAL_KIND},
{CVC4::Kind::BITVECTOR_SHL, BITVECTOR_SHL},
{CVC4::Kind::BITVECTOR_LSHR, BITVECTOR_LSHR},
{CVC4::Kind::BITVECTOR_ASHR, BITVECTOR_ASHR},
{CVC4::Kind::FLOATINGPOINT_TO_FP_GENERIC, FLOATINGPOINT_TO_FP_GENERIC},
{CVC4::Kind::FLOATINGPOINT_TO_UBV_OP, FLOATINGPOINT_TO_UBV},
{CVC4::Kind::FLOATINGPOINT_TO_UBV, FLOATINGPOINT_TO_UBV},
- {CVC4::Kind::FLOATINGPOINT_TO_UBV_TOTAL_OP, FLOATINGPOINT_TO_UBV_TOTAL},
- {CVC4::Kind::FLOATINGPOINT_TO_UBV_TOTAL, FLOATINGPOINT_TO_UBV_TOTAL},
+ {CVC4::Kind::FLOATINGPOINT_TO_UBV_TOTAL_OP, INTERNAL_KIND},
+ {CVC4::Kind::FLOATINGPOINT_TO_UBV_TOTAL, INTERNAL_KIND},
{CVC4::Kind::FLOATINGPOINT_TO_SBV_OP, FLOATINGPOINT_TO_SBV},
{CVC4::Kind::FLOATINGPOINT_TO_SBV, FLOATINGPOINT_TO_SBV},
- {CVC4::Kind::FLOATINGPOINT_TO_SBV_TOTAL_OP, FLOATINGPOINT_TO_SBV_TOTAL},
- {CVC4::Kind::FLOATINGPOINT_TO_SBV_TOTAL, FLOATINGPOINT_TO_SBV_TOTAL},
+ {CVC4::Kind::FLOATINGPOINT_TO_SBV_TOTAL_OP, INTERNAL_KIND},
+ {CVC4::Kind::FLOATINGPOINT_TO_SBV_TOTAL, INTERNAL_KIND},
{CVC4::Kind::FLOATINGPOINT_TO_REAL, FLOATINGPOINT_TO_REAL},
- {CVC4::Kind::FLOATINGPOINT_TO_REAL_TOTAL, FLOATINGPOINT_TO_REAL_TOTAL},
+ {CVC4::Kind::FLOATINGPOINT_TO_REAL_TOTAL, INTERNAL_KIND},
/* Arrays ---------------------------------------------------------- */
{CVC4::Kind::SELECT, SELECT},
{CVC4::Kind::STORE, STORE},
/* Datatypes ------------------------------------------------------- */
{CVC4::Kind::APPLY_SELECTOR, APPLY_SELECTOR},
{CVC4::Kind::APPLY_CONSTRUCTOR, APPLY_CONSTRUCTOR},
- {CVC4::Kind::APPLY_SELECTOR_TOTAL, APPLY_SELECTOR_TOTAL},
+ {CVC4::Kind::APPLY_SELECTOR_TOTAL, INTERNAL_KIND},
{CVC4::Kind::APPLY_TESTER, APPLY_TESTER},
{CVC4::Kind::TUPLE_UPDATE_OP, TUPLE_UPDATE},
{CVC4::Kind::TUPLE_UPDATE, TUPLE_UPDATE},
BITVECTOR_ROTATE_RIGHT,
INT_TO_BITVECTOR,
FLOATINGPOINT_TO_UBV,
- FLOATINGPOINT_TO_UBV_TOTAL,
FLOATINGPOINT_TO_SBV,
- FLOATINGPOINT_TO_SBV_TOTAL,
TUPLE_UPDATE,
BITVECTOR_EXTRACT,
FLOATINGPOINT_TO_FP_IEEE_BITVECTOR,
case FLOATINGPOINT_TO_UBV:
i = d_expr->getConst<FloatingPointToUBV>().bvs.size;
break;
- case FLOATINGPOINT_TO_UBV_TOTAL:
- i = d_expr->getConst<FloatingPointToUBVTotal>().bvs.size;
- break;
case FLOATINGPOINT_TO_SBV:
i = d_expr->getConst<FloatingPointToSBV>().bvs.size;
break;
- case FLOATINGPOINT_TO_SBV_TOTAL:
- i = d_expr->getConst<FloatingPointToSBVTotal>().bvs.size;
- break;
case TUPLE_UPDATE: i = d_expr->getConst<TupleUpdate>().getIndex(); break;
default:
CVC4ApiExceptionStream().ostream() << "Can't get uint32_t index from"
*mkValHelper<CVC4::FloatingPointToUBV>(CVC4::FloatingPointToUBV(arg))
.d_expr.get());
break;
- case FLOATINGPOINT_TO_UBV_TOTAL:
- res = Op(kind,
- *mkValHelper<CVC4::FloatingPointToUBVTotal>(
- CVC4::FloatingPointToUBVTotal(arg))
- .d_expr.get());
- break;
case FLOATINGPOINT_TO_SBV:
res = Op(
kind,
*mkValHelper<CVC4::FloatingPointToSBV>(CVC4::FloatingPointToSBV(arg))
.d_expr.get());
break;
- case FLOATINGPOINT_TO_SBV_TOTAL:
- res = Op(kind,
- *mkValHelper<CVC4::FloatingPointToSBVTotal>(
- CVC4::FloatingPointToSBVTotal(arg))
- .d_expr.get());
- break;
case TUPLE_UPDATE:
res = Op(
kind,
* mkTerm(Kind kind, const std::vector<Term>& children)
*/
DIVISION,
- /**
- * Real division with interpreted division by 0
- * Parameters: 2
- * -[1]..[2]: Terms of sort Integer, Real
- * Create with:
- * mkTerm(Kind kind, Term child1, Term child2)
- * mkTerm(Kind kind, const std::vector<Term>& children)
- */
- DIVISION_TOTAL,
/**
* Integer division, division by 0 undefined.
* Parameters: 2
* mkTerm(Kind kind, const std::vector<Term>& children)
*/
INTS_DIVISION,
- /**
- * Integer division with interpreted division by 0.
- * Parameters: 2
- * -[1]..[2]: Terms of sort Integer
- * Create with:
- * mkTerm(Kind kind, Term child1, Term child2)
- * mkTerm(Kind kind, const std::vector<Term>& children)
- */
- INTS_DIVISION_TOTAL,
/**
* Integer modulus, division by 0 undefined.
* Parameters: 2
* mkTerm(Kind kind, const std::vector<Term>& children)
*/
INTS_MODULUS,
- /**
- * Integer modulus with interpreted division by 0.
- * Parameters: 2
- * -[1]..[2]: Terms of sort Integer
- * Create with:
- * mkTerm(Kind kind, Term child1, Term child2)
- * mkTerm(Kind kind, const std::vector<Term>& children)
- */
- INTS_MODULUS_TOTAL,
/**
* Absolute value.
* Parameters: 1
* mkTerm(Kind kind, const std::vector<Term>& children)
*/
BITVECTOR_SMOD,
- /**
- * Unsigned division of two bit-vectors, truncating towards 0
- * (defined to be the all-ones bit pattern, if divisor is 0).
- * Parameters: 2
- * -[1]..[2]: Terms of bit-vector sort (sorts must match)
- * Create with:
- * mkTerm(Kind kind, Term child1, Term child2)
- * mkTerm(Kind kind, const std::vector<Term>& children)
- */
- BITVECTOR_UDIV_TOTAL,
- /**
- * Unsigned remainder from truncating division of two bit-vectors
- * (defined to be equal to the dividend, if divisor is 0).
- * Parameters: 2
- * -[1]..[2]: Terms of bit-vector sort (sorts must match)
- * Create with:
- * mkTerm(Kind kind, Term child1, Term child2)
- * mkTerm(Kind kind, const std::vector<Term>& children)
- */
- BITVECTOR_UREM_TOTAL,
/**
* Bit-vector shift left.
* The two bit-vector parameters must have same width.
* mkTerm(Kind kind, const std::vector<Term>& children)
*/
FLOATINGPOINT_MAX,
-#if 0
- /* floating-point minimum (defined for all inputs) */
- FLOATINGPOINT_MIN_TOTAL,
- /* floating-point maximum (defined for all inputs) */
- FLOATINGPOINT_MAX_TOTAL,
-#endif
/**
* Floating-point less than or equal.
* Parameters: 2
* mkTerm(Op op, const std::vector<Term>& children)
*/
FLOATINGPOINT_TO_UBV,
- /**
- * Operator for to_ubv_total.
- * Parameters: 1
- * -[1]: Size of the bit-vector to convert to
- * Create with:
- * mkOp(Kind kind, uint32_t param)
- *
- * Conversion from a floating-point value to an unsigned bit vector
- * (defined for all inputs).
- * Parameters: 2
- * -[1]: Op of kind FLOATINGPOINT_TO_FP_TO_UBV_TOTAL
- * -[2]: Term of sort FloatingPoint
- * Create with:
- * mkTerm(Op op, Term child)
- * mkTerm(Op op, const std::vector<Term>& children)
- */
- FLOATINGPOINT_TO_UBV_TOTAL,
/**
* Operator for to_sbv.
* Parameters: 1
* mkTerm(Op op, const std::vector<Term>& children)
*/
FLOATINGPOINT_TO_SBV,
- /**
- * Operator for to_sbv_total.
- * Parameters: 1
- * -[1]: Size of the bit-vector to convert to
- * Create with:
- * mkOp(Kind kind, uint32_t param)
- *
- * Conversion from a floating-point value to a signed bit vector
- * (defined for all inputs).
- * Parameters: 2
- * -[1]: Op of kind FLOATINGPOINT_TO_FP_TO_SBV_TOTAL
- * -[2]: Term of sort FloatingPoint
- * Create with:
- * mkTerm(Op op, Term child)
- * mkTerm(Op op, const std::vector<Term>& children)
- */
- FLOATINGPOINT_TO_SBV_TOTAL,
/**
* Floating-point to real.
* Parameters: 1
* mkTerm(Kind kind, Term child)
*/
FLOATINGPOINT_TO_REAL,
- /**
- * Floating-point to real (defined for all inputs).
- * Parameters: 1
- * -[1]: Term of sort FloatingPoint
- * Create with:
- * mkTerm(Kind kind, Term child)
- */
- FLOATINGPOINT_TO_REAL_TOTAL,
/* Arrays ---------------------------------------------------------------- */
* mkTerm(Kind kind, Op op, Term child)
*/
APPLY_SELECTOR,
- /**
- * Datatype selector application.
- * Parameters: 1
- * -[1]: Selector (operator)
- * -[2]: Datatype term (defined rigidly if mis-applied)
- * Create with:
- * mkTerm(Kind kind, Op op, Term child)
- */
- APPLY_SELECTOR_TOTAL,
/**
* Datatype tester application.
* Parameters: 2