{FLOATINGPOINT_IS_NAN, cvc5::Kind::FLOATINGPOINT_IS_NAN},
{FLOATINGPOINT_IS_NEG, cvc5::Kind::FLOATINGPOINT_IS_NEG},
{FLOATINGPOINT_IS_POS, cvc5::Kind::FLOATINGPOINT_IS_POS},
- {FLOATINGPOINT_TO_FP_FLOATINGPOINT,
- cvc5::Kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT},
- {FLOATINGPOINT_TO_FP_IEEE_BITVECTOR,
- cvc5::Kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR},
- {FLOATINGPOINT_TO_FP_REAL, cvc5::Kind::FLOATINGPOINT_TO_FP_REAL},
- {FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR,
- cvc5::Kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR},
- {FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR,
- cvc5::Kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR},
+ {FLOATINGPOINT_TO_FP_FROM_FP, cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_FP},
+ {FLOATINGPOINT_TO_FP_FROM_IEEE_BV,
+ cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV},
+ {FLOATINGPOINT_TO_FP_FROM_REAL, cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_REAL},
+ {FLOATINGPOINT_TO_FP_FROM_SBV, cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_SBV},
+ {FLOATINGPOINT_TO_FP_FROM_UBV, cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_UBV},
{FLOATINGPOINT_TO_FP_GENERIC, cvc5::Kind::FLOATINGPOINT_TO_FP_GENERIC},
{FLOATINGPOINT_TO_UBV, cvc5::Kind::FLOATINGPOINT_TO_UBV},
{FLOATINGPOINT_TO_SBV, cvc5::Kind::FLOATINGPOINT_TO_SBV},
{cvc5::Kind::FLOATINGPOINT_IS_NAN, FLOATINGPOINT_IS_NAN},
{cvc5::Kind::FLOATINGPOINT_IS_NEG, FLOATINGPOINT_IS_NEG},
{cvc5::Kind::FLOATINGPOINT_IS_POS, FLOATINGPOINT_IS_POS},
- {cvc5::Kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR_OP,
- FLOATINGPOINT_TO_FP_IEEE_BITVECTOR},
- {cvc5::Kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR,
- FLOATINGPOINT_TO_FP_IEEE_BITVECTOR},
- {cvc5::Kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT_OP,
- FLOATINGPOINT_TO_FP_FLOATINGPOINT},
- {cvc5::Kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT,
- FLOATINGPOINT_TO_FP_FLOATINGPOINT},
- {cvc5::Kind::FLOATINGPOINT_TO_FP_REAL_OP, FLOATINGPOINT_TO_FP_REAL},
- {cvc5::Kind::FLOATINGPOINT_TO_FP_REAL, FLOATINGPOINT_TO_FP_REAL},
- {cvc5::Kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR_OP,
- FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR},
- {cvc5::Kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR,
- FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR},
- {cvc5::Kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR_OP,
- FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR},
- {cvc5::Kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR,
- FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR},
+ {cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV_OP,
+ FLOATINGPOINT_TO_FP_FROM_IEEE_BV},
+ {cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV,
+ FLOATINGPOINT_TO_FP_FROM_IEEE_BV},
+ {cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_FP_OP,
+ FLOATINGPOINT_TO_FP_FROM_FP},
+ {cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_FP, FLOATINGPOINT_TO_FP_FROM_FP},
+ {cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_REAL_OP,
+ FLOATINGPOINT_TO_FP_FROM_REAL},
+ {cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_REAL,
+ FLOATINGPOINT_TO_FP_FROM_REAL},
+ {cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_SBV_OP,
+ FLOATINGPOINT_TO_FP_FROM_SBV},
+ {cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_SBV,
+ FLOATINGPOINT_TO_FP_FROM_SBV},
+ {cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_UBV_OP,
+ FLOATINGPOINT_TO_FP_FROM_UBV},
+ {cvc5::Kind::FLOATINGPOINT_TO_FP_FROM_UBV,
+ FLOATINGPOINT_TO_FP_FROM_UBV},
{cvc5::Kind::FLOATINGPOINT_TO_FP_GENERIC_OP,
FLOATINGPOINT_TO_FP_GENERIC},
{cvc5::Kind::FLOATINGPOINT_TO_FP_GENERIC, FLOATINGPOINT_TO_FP_GENERIC},
FLOATINGPOINT_TO_UBV,
FLOATINGPOINT_TO_SBV,
BITVECTOR_EXTRACT,
- FLOATINGPOINT_TO_FP_IEEE_BITVECTOR,
- FLOATINGPOINT_TO_FP_FLOATINGPOINT,
- FLOATINGPOINT_TO_FP_REAL,
- FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR,
- FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR,
+ FLOATINGPOINT_TO_FP_FROM_IEEE_BV,
+ FLOATINGPOINT_TO_FP_FROM_FP,
+ FLOATINGPOINT_TO_FP_FROM_REAL,
+ FLOATINGPOINT_TO_FP_FROM_SBV,
+ FLOATINGPOINT_TO_FP_FROM_UBV,
FLOATINGPOINT_TO_FP_GENERIC});
namespace {
case FLOATINGPOINT_TO_SBV: size = 1; break;
case REGEXP_REPEAT: size = 1; break;
case BITVECTOR_EXTRACT: size = 2; break;
- case FLOATINGPOINT_TO_FP_IEEE_BITVECTOR: size = 2; break;
- case FLOATINGPOINT_TO_FP_FLOATINGPOINT: size = 2; break;
- case FLOATINGPOINT_TO_FP_REAL: size = 2; break;
- case FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR: size = 2; break;
- case FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR: size = 2; break;
+ case FLOATINGPOINT_TO_FP_FROM_IEEE_BV: size = 2; break;
+ case FLOATINGPOINT_TO_FP_FROM_FP: size = 2; break;
+ case FLOATINGPOINT_TO_FP_FROM_REAL: size = 2; break;
+ case FLOATINGPOINT_TO_FP_FROM_SBV: size = 2; break;
+ case FLOATINGPOINT_TO_FP_FROM_UBV: size = 2; break;
case FLOATINGPOINT_TO_FP_GENERIC: size = 2; break;
case REGEXP_LOOP: size = 2; break;
case TUPLE_PROJECT:
: d_solver->mkRationalValHelper(ext.d_low);
break;
}
- case FLOATINGPOINT_TO_FP_IEEE_BITVECTOR:
+ case FLOATINGPOINT_TO_FP_FROM_IEEE_BV:
{
cvc5::FloatingPointToFPIEEEBitVector ext =
d_node->getConst<FloatingPointToFPIEEEBitVector>();
: d_solver->mkRationalValHelper(ext.getSize().significandWidth());
break;
}
- case FLOATINGPOINT_TO_FP_FLOATINGPOINT:
+ case FLOATINGPOINT_TO_FP_FROM_FP:
{
cvc5::FloatingPointToFPFloatingPoint ext =
d_node->getConst<FloatingPointToFPFloatingPoint>();
: d_solver->mkRationalValHelper(ext.getSize().significandWidth());
break;
}
- case FLOATINGPOINT_TO_FP_REAL:
+ case FLOATINGPOINT_TO_FP_FROM_REAL:
{
cvc5::FloatingPointToFPReal ext =
d_node->getConst<FloatingPointToFPReal>();
: d_solver->mkRationalValHelper(ext.getSize().significandWidth());
break;
}
- case FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR:
+ case FLOATINGPOINT_TO_FP_FROM_SBV:
{
cvc5::FloatingPointToFPSignedBitVector ext =
d_node->getConst<FloatingPointToFPSignedBitVector>();
: d_solver->mkRationalValHelper(ext.getSize().significandWidth());
break;
}
- case FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR:
+ case FLOATINGPOINT_TO_FP_FROM_UBV:
{
cvc5::FloatingPointToFPUnsignedBitVector ext =
d_node->getConst<FloatingPointToFPUnsignedBitVector>();
cvc5::BitVectorExtract ext = d_node->getConst<BitVectorExtract>();
indices = std::make_pair(ext.d_high, ext.d_low);
}
- else if (k == FLOATINGPOINT_TO_FP_IEEE_BITVECTOR)
+ else if (k == FLOATINGPOINT_TO_FP_FROM_IEEE_BV)
{
cvc5::FloatingPointToFPIEEEBitVector ext =
d_node->getConst<FloatingPointToFPIEEEBitVector>();
indices = std::make_pair(ext.getSize().exponentWidth(),
ext.getSize().significandWidth());
}
- else if (k == FLOATINGPOINT_TO_FP_FLOATINGPOINT)
+ else if (k == FLOATINGPOINT_TO_FP_FROM_FP)
{
cvc5::FloatingPointToFPFloatingPoint ext =
d_node->getConst<FloatingPointToFPFloatingPoint>();
indices = std::make_pair(ext.getSize().exponentWidth(),
ext.getSize().significandWidth());
}
- else if (k == FLOATINGPOINT_TO_FP_REAL)
+ else if (k == FLOATINGPOINT_TO_FP_FROM_REAL)
{
cvc5::FloatingPointToFPReal ext = d_node->getConst<FloatingPointToFPReal>();
indices = std::make_pair(ext.getSize().exponentWidth(),
ext.getSize().significandWidth());
}
- else if (k == FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR)
+ else if (k == FLOATINGPOINT_TO_FP_FROM_SBV)
{
cvc5::FloatingPointToFPSignedBitVector ext =
d_node->getConst<FloatingPointToFPSignedBitVector>();
indices = std::make_pair(ext.getSize().exponentWidth(),
ext.getSize().significandWidth());
}
- else if (k == FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR)
+ else if (k == FLOATINGPOINT_TO_FP_FROM_UBV)
{
cvc5::FloatingPointToFPUnsignedBitVector ext =
d_node->getConst<FloatingPointToFPUnsignedBitVector>();
cvc5::BitVectorExtract(arg1, arg2))
.d_node);
break;
- case FLOATINGPOINT_TO_FP_IEEE_BITVECTOR:
+ case FLOATINGPOINT_TO_FP_FROM_IEEE_BV:
res = Op(this,
kind,
*mkValHelper<cvc5::FloatingPointToFPIEEEBitVector>(
cvc5::FloatingPointToFPIEEEBitVector(arg1, arg2))
.d_node);
break;
- case FLOATINGPOINT_TO_FP_FLOATINGPOINT:
+ case FLOATINGPOINT_TO_FP_FROM_FP:
res = Op(this,
kind,
*mkValHelper<cvc5::FloatingPointToFPFloatingPoint>(
cvc5::FloatingPointToFPFloatingPoint(arg1, arg2))
.d_node);
break;
- case FLOATINGPOINT_TO_FP_REAL:
+ case FLOATINGPOINT_TO_FP_FROM_REAL:
res = Op(this,
kind,
*mkValHelper<cvc5::FloatingPointToFPReal>(
cvc5::FloatingPointToFPReal(arg1, arg2))
.d_node);
break;
- case FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR:
+ case FLOATINGPOINT_TO_FP_FROM_SBV:
res = Op(this,
kind,
*mkValHelper<cvc5::FloatingPointToFPSignedBitVector>(
cvc5::FloatingPointToFPSignedBitVector(arg1, arg2))
.d_node);
break;
- case FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR:
+ case FLOATINGPOINT_TO_FP_FROM_UBV:
res = Op(this,
kind,
*mkValHelper<cvc5::FloatingPointToFPUnsignedBitVector>(
/**
* Create operator of Kind:
* - BITVECTOR_EXTRACT
- * - FLOATINGPOINT_TO_FP_IEEE_BITVECTOR
- * - FLOATINGPOINT_TO_FP_FLOATINGPOINT
- * - FLOATINGPOINT_TO_FP_REAL
- * - FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR
- * - FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR
+ * - FLOATINGPOINT_TO_FP_FROM_IEEE_BV
+ * - FLOATINGPOINT_TO_FP_FROM_FP
+ * - FLOATINGPOINT_TO_FP_FROM_REAL
+ * - FLOATINGPOINT_TO_FP_FROM_SBV
+ * - FLOATINGPOINT_TO_FP_FROM_UBV
* - FLOATINGPOINT_TO_FP_GENERIC
* See enum Kind for a description of the parameters.
* @param kind the kind of the operator
* Conversion from an IEEE-754 bit vector to floating-point.
*
* Parameters:
- * - 1: Op of kind FLOATINGPOINT_TO_FP_IEEE_BITVECTOR
+ * - 1: Op of kind FLOATINGPOINT_TO_FP_FROM_IEEE_BV
* - 2: Term of sort FloatingPoint
*
* Create with:
* - `Solver::mkTerm(const Op& op, const Term& child) const`
* - `Solver::mkTerm(const Op& op, const std::vector<Term>& children) const`
*/
- FLOATINGPOINT_TO_FP_IEEE_BITVECTOR,
+ FLOATINGPOINT_TO_FP_FROM_IEEE_BV,
/**
* Operator for to_fp from floating point.
*
* Conversion between floating-point sorts.
*
* Parameters:
- * - 1: Op of kind FLOATINGPOINT_TO_FP_FLOATINGPOINT
+ * - 1: Op of kind FLOATINGPOINT_TO_FP_FROM_FP
* - 2: Term of sort FloatingPoint
*
* Create with:
* - `Solver::mkTerm(const Op& op, const Term& child) const`
* - `Solver::mkTerm(const Op& op, const std::vector<Term>& children) const`
*/
- FLOATINGPOINT_TO_FP_FLOATINGPOINT,
+ FLOATINGPOINT_TO_FP_FROM_FP,
/**
* Operator for to_fp from real.
*
* Conversion from a real to floating-point.
*
* Parameters:
- * - 1: Op of kind FLOATINGPOINT_TO_FP_REAL
+ * - 1: Op of kind FLOATINGPOINT_TO_FP_FROM_REAL
* - 2: Term of sort FloatingPoint
*
* Create with:
* - `Solver::mkTerm(const Op& op, const Term& child) const`
* - `Solver::mkTerm(const Op& op, const std::vector<Term>& children) const`
*/
- FLOATINGPOINT_TO_FP_REAL,
+ FLOATINGPOINT_TO_FP_FROM_REAL,
/**
* Operator for to_fp from signed bit vector
*
* Conversion from a signed bit vector to floating-point.
*
* Parameters:
- * - 1: Op of kind FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR
+ * - 1: Op of kind FLOATINGPOINT_TO_FP_FROM_SBV
* - 2: Term of sort FloatingPoint
*
* Create with:
* - `Solver::mkTerm(const Op& op, const Term& child) const`
* - `Solver::mkTerm(const Op& op, const std::vector<Term>& children) const`
*/
- FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR,
+ FLOATINGPOINT_TO_FP_FROM_SBV,
/**
* Operator for to_fp from unsigned bit vector.
*
* Converting an unsigned bit vector to floating-point.
*
* Parameters:
- * - 1: Op of kind FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR
+ * - 1: Op of kind FLOATINGPOINT_TO_FP_FROM_UBV
* - 2: Term of sort FloatingPoint
*
* Create with:
* - `Solver::mkTerm(const Op& op, const Term& child) const`
* - `Solver::mkTerm(const Op& op, const std::vector<Term>& children) const`
*/
- FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR,
+ FLOATINGPOINT_TO_FP_FROM_UBV,
/**
* Operator for a generic to_fp.
*
/**
* Create operator of Kind:
* - BITVECTOR_EXTRACT
- * - FLOATINGPOINT_TO_FP_IEEE_BITVECTOR
- * - FLOATINGPOINT_TO_FP_FLOATINGPOINT
- * - FLOATINGPOINT_TO_FP_REAL
- * - FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR
- * - FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR
+ * - FLOATINGPOINT_TO_FP_FROM_IEEE_BV
+ * - FLOATINGPOINT_TO_FP_FROM_FP
+ * - FLOATINGPOINT_TO_FP_FROM_REAL
+ * - FLOATINGPOINT_TO_FP_FROM_SBV
+ * - FLOATINGPOINT_TO_FP_FROM_UBV
* - FLOATINGPOINT_TO_FP_GENERIC
* See enum Kind for a description of the parameters.
* @param kind the kind of the operator
addIndexedOperator(api::FLOATINGPOINT_TO_FP_GENERIC,
api::FLOATINGPOINT_TO_FP_GENERIC,
"to_fp");
- addIndexedOperator(api::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR,
- api::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR,
+ addIndexedOperator(api::FLOATINGPOINT_TO_FP_FROM_UBV,
+ api::FLOATINGPOINT_TO_FP_FROM_UBV,
"to_fp_unsigned");
addIndexedOperator(
api::FLOATINGPOINT_TO_UBV, api::FLOATINGPOINT_TO_UBV, "fp.to_ubv");
if (!strictModeEnabled())
{
- addIndexedOperator(api::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR,
- api::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR,
+ addIndexedOperator(api::FLOATINGPOINT_TO_FP_FROM_IEEE_BV,
+ api::FLOATINGPOINT_TO_FP_FROM_IEEE_BV,
"to_fp_bv");
- addIndexedOperator(api::FLOATINGPOINT_TO_FP_FLOATINGPOINT,
- api::FLOATINGPOINT_TO_FP_FLOATINGPOINT,
+ addIndexedOperator(api::FLOATINGPOINT_TO_FP_FROM_FP,
+ api::FLOATINGPOINT_TO_FP_FROM_FP,
"to_fp_fp");
- addIndexedOperator(api::FLOATINGPOINT_TO_FP_REAL,
- api::FLOATINGPOINT_TO_FP_REAL,
+ addIndexedOperator(api::FLOATINGPOINT_TO_FP_FROM_REAL,
+ api::FLOATINGPOINT_TO_FP_FROM_REAL,
"to_fp_real");
- addIndexedOperator(api::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR,
- api::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR,
+ addIndexedOperator(api::FLOATINGPOINT_TO_FP_FROM_SBV,
+ api::FLOATINGPOINT_TO_FP_FROM_SBV,
"to_fp_signed");
}
}
case kind::INT_TO_BITVECTOR_OP:
out << "(_ int2bv " << n.getConst<IntToBitVector>().d_size << ")";
break;
- case kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR_OP:
+ case kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV_OP:
out << "(_ to_fp "
<< n.getConst<FloatingPointToFPIEEEBitVector>()
.getSize()
.significandWidth()
<< ")";
break;
- case kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT_OP:
+ case kind::FLOATINGPOINT_TO_FP_FROM_FP_OP:
out << "(_ to_fp "
<< n.getConst<FloatingPointToFPFloatingPoint>()
.getSize()
.significandWidth()
<< ")";
break;
- case kind::FLOATINGPOINT_TO_FP_REAL_OP:
+ case kind::FLOATINGPOINT_TO_FP_FROM_REAL_OP:
out << "(_ to_fp "
<< n.getConst<FloatingPointToFPReal>().getSize().exponentWidth()
<< ' '
<< n.getConst<FloatingPointToFPReal>().getSize().significandWidth()
<< ")";
break;
- case kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR_OP:
+ case kind::FLOATINGPOINT_TO_FP_FROM_SBV_OP:
out << "(_ to_fp "
<< n.getConst<FloatingPointToFPSignedBitVector>()
.getSize()
.significandWidth()
<< ")";
break;
- case kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR_OP:
+ case kind::FLOATINGPOINT_TO_FP_FROM_UBV_OP:
out << "(_ to_fp_unsigned "
<< n.getConst<FloatingPointToFPUnsignedBitVector>()
.getSize()
}
// fp theory
- case kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR:
- case kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT:
- case kind::FLOATINGPOINT_TO_FP_REAL:
- case kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR:
- case kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR:
+ case kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV:
+ case kind::FLOATINGPOINT_TO_FP_FROM_FP:
+ case kind::FLOATINGPOINT_TO_FP_FROM_REAL:
+ case kind::FLOATINGPOINT_TO_FP_FROM_SBV:
+ case kind::FLOATINGPOINT_TO_FP_FROM_UBV:
case kind::FLOATINGPOINT_TO_FP_GENERIC:
case kind::FLOATINGPOINT_TO_UBV:
case kind::FLOATINGPOINT_TO_SBV:
case kind::FLOATINGPOINT_IS_NEG: return "fp.isNegative";
case kind::FLOATINGPOINT_IS_POS: return "fp.isPositive";
- case kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR: return "to_fp";
- case kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT: return "to_fp";
- case kind::FLOATINGPOINT_TO_FP_REAL: return "to_fp";
- case kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR: return "to_fp";
- case kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR: return "to_fp_unsigned";
+ case kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV: return "to_fp";
+ case kind::FLOATINGPOINT_TO_FP_FROM_FP: return "to_fp";
+ case kind::FLOATINGPOINT_TO_FP_FROM_REAL: return "to_fp";
+ case kind::FLOATINGPOINT_TO_FP_FROM_SBV: return "to_fp";
+ case kind::FLOATINGPOINT_TO_FP_FROM_UBV: return "to_fp_unsigned";
case kind::FLOATINGPOINT_TO_FP_GENERIC: return "to_fp_unsigned";
case kind::FLOATINGPOINT_TO_UBV: return "fp.to_ubv";
case kind::FLOATINGPOINT_TO_UBV_TOTAL: return "fp.to_ubv_total";
|| k == BITVECTOR_ZERO_EXTEND || k == BITVECTOR_SIGN_EXTEND
|| k == BITVECTOR_ROTATE_LEFT || k == BITVECTOR_ROTATE_RIGHT
|| k == INT_TO_BITVECTOR || k == IAND
- || k == FLOATINGPOINT_TO_FP_FLOATINGPOINT
- || k == FLOATINGPOINT_TO_FP_IEEE_BITVECTOR
- || k == FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR
- || k == FLOATINGPOINT_TO_FP_REAL || k == FLOATINGPOINT_TO_FP_GENERIC
- || k == APPLY_UPDATER || k == APPLY_TESTER;
+ || k == FLOATINGPOINT_TO_FP_FROM_FP
+ || k == FLOATINGPOINT_TO_FP_FROM_IEEE_BV
+ || k == FLOATINGPOINT_TO_FP_FROM_SBV
+ || k == FLOATINGPOINT_TO_FP_FROM_REAL
+ || k == FLOATINGPOINT_TO_FP_GENERIC || k == APPLY_UPDATER
+ || k == APPLY_TESTER;
}
std::vector<Node> LfscNodeConverter::getOperatorIndices(Kind k, Node n)
case IAND:
indices.push_back(nm->mkConstInt(Rational(n.getConst<IntAnd>().d_size)));
break;
- case FLOATINGPOINT_TO_FP_FLOATINGPOINT:
+ case FLOATINGPOINT_TO_FP_FROM_FP:
{
const FloatingPointToFPFloatingPoint& ffp =
n.getConst<FloatingPointToFPFloatingPoint>();
indices.push_back(nm->mkConstInt(ffp.getSize().significandWidth()));
}
break;
- case FLOATINGPOINT_TO_FP_IEEE_BITVECTOR:
+ case FLOATINGPOINT_TO_FP_FROM_IEEE_BV:
{
const FloatingPointToFPIEEEBitVector& fbv =
n.getConst<FloatingPointToFPIEEEBitVector>();
indices.push_back(nm->mkConstInt(fbv.getSize().significandWidth()));
}
break;
- case FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR:
+ case FLOATINGPOINT_TO_FP_FROM_SBV:
{
const FloatingPointToFPSignedBitVector& fsbv =
n.getConst<FloatingPointToFPSignedBitVector>();
indices.push_back(nm->mkConstInt(fsbv.getSize().significandWidth()));
}
break;
- case FLOATINGPOINT_TO_FP_REAL:
+ case FLOATINGPOINT_TO_FP_FROM_REAL:
{
const FloatingPointToFPReal& fr = n.getConst<FloatingPointToFPReal>();
indices.push_back(nm->mkConstInt(fr.getSize().exponentWidth()));
}
}
// must avoid overloading for to_fp variants
- if (k == FLOATINGPOINT_TO_FP_FLOATINGPOINT)
+ if (k == FLOATINGPOINT_TO_FP_FROM_FP)
{
opName << "to_fp_fp";
}
- else if (k == FLOATINGPOINT_TO_FP_IEEE_BITVECTOR)
+ else if (k == FLOATINGPOINT_TO_FP_FROM_IEEE_BV)
{
opName << "to_fp_ieee_bv";
}
- else if (k == FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR)
+ else if (k == FLOATINGPOINT_TO_FP_FROM_SBV)
{
opName << "to_fp_sbv";
}
- else if (k == FLOATINGPOINT_TO_FP_REAL)
+ else if (k == FLOATINGPOINT_TO_FP_FROM_REAL)
{
opName << "to_fp_real";
}
FpWordBlaster::uf FpWordBlaster::buildComponents(TNode current)
{
Assert(Theory::isLeafOf(current, THEORY_FP)
- || current.getKind() == kind::FLOATINGPOINT_TO_FP_REAL);
+ || current.getKind() == kind::FLOATINGPOINT_TO_FP_FROM_REAL);
NodeManager* nm = NodeManager::currentNM();
uf tmp(nm->mkNode(kind::FLOATINGPOINT_COMPONENT_NAN, current),
break;
/* ---- Conversions ---- */
- case kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT:
+ case kind::FLOATINGPOINT_TO_FP_FROM_FP:
Assert(d_rmMap.find(cur[0]) != d_rmMap.end());
Assert(d_fpMap.find(cur[1]) != d_fpMap.end());
d_fpMap.insert(cur,
}
break;
- case kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR:
+ case kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV:
Assert(cur[0].getType().isBitVector());
d_fpMap.insert(cur, symfpu::unpack<traits>(fpt(t), ubv(cur[0])));
break;
- case kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR:
+ case kind::FLOATINGPOINT_TO_FP_FROM_SBV:
Assert(d_rmMap.find(cur[0]) != d_rmMap.end());
d_fpMap.insert(
cur,
fpt(t), (*d_rmMap.find(cur[0])).second, sbv(cur[1])));
break;
- case kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR:
+ case kind::FLOATINGPOINT_TO_FP_FROM_UBV:
Assert(d_rmMap.find(cur[0]) != d_rmMap.end());
d_fpMap.insert(
cur,
fpt(t), (*d_rmMap.find(cur[0])).second, ubv(cur[1])));
break;
- case kind::FLOATINGPOINT_TO_FP_REAL:
+ case kind::FLOATINGPOINT_TO_FP_FROM_REAL:
d_fpMap.insert(cur, buildComponents(cur));
// Rely on the real theory and theory combination
// to handle the value
RoundingMode \
::cvc5::RoundingModeHashFunction \
"util/roundingmode.h" \
- "a floating-point rounding mode"
+ "a floating-point rounding mode"
typerule CONST_ROUNDINGMODE ::cvc5::theory::fp::RoundingModeConstantTypeRule
-constant FLOATINGPOINT_TO_FP_IEEE_BITVECTOR_OP \
+constant FLOATINGPOINT_TO_FP_FROM_IEEE_BV_OP \
class \
FloatingPointToFPIEEEBitVector \
"::cvc5::FloatingPointConvertSortHashFunction<0x1>" \
"util/floatingpoint.h" \
"operator for to_fp from bit vector"
-typerule FLOATINGPOINT_TO_FP_IEEE_BITVECTOR_OP ::cvc5::theory::fp::FloatingPointParametricOpTypeRule
+typerule FLOATINGPOINT_TO_FP_FROM_IEEE_BV_OP ::cvc5::theory::fp::FloatingPointParametricOpTypeRule
-parameterized FLOATINGPOINT_TO_FP_IEEE_BITVECTOR FLOATINGPOINT_TO_FP_IEEE_BITVECTOR_OP 1 "convert an IEEE-754 bit vector to floating-point"
-typerule FLOATINGPOINT_TO_FP_IEEE_BITVECTOR ::cvc5::theory::fp::FloatingPointToFPIEEEBitVectorTypeRule
+parameterized FLOATINGPOINT_TO_FP_FROM_IEEE_BV FLOATINGPOINT_TO_FP_FROM_IEEE_BV_OP 1 "convert an IEEE-754 bit vector to floating-point"
+typerule FLOATINGPOINT_TO_FP_FROM_IEEE_BV ::cvc5::theory::fp::FloatingPointToFPIEEEBitVectorTypeRule
-constant FLOATINGPOINT_TO_FP_FLOATINGPOINT_OP \
+constant FLOATINGPOINT_TO_FP_FROM_FP_OP \
class \
FloatingPointToFPFloatingPoint \
"::cvc5::FloatingPointConvertSortHashFunction<0x2>" \
"util/floatingpoint.h" \
"operator for to_fp from floating point"
-typerule FLOATINGPOINT_TO_FP_FLOATINGPOINT_OP ::cvc5::theory::fp::FloatingPointParametricOpTypeRule
+typerule FLOATINGPOINT_TO_FP_FROM_FP_OP ::cvc5::theory::fp::FloatingPointParametricOpTypeRule
-parameterized FLOATINGPOINT_TO_FP_FLOATINGPOINT FLOATINGPOINT_TO_FP_FLOATINGPOINT_OP 2 "convert between floating-point sorts"
-typerule FLOATINGPOINT_TO_FP_FLOATINGPOINT ::cvc5::theory::fp::FloatingPointToFPFloatingPointTypeRule
+parameterized FLOATINGPOINT_TO_FP_FROM_FP FLOATINGPOINT_TO_FP_FROM_FP_OP 2 "convert between floating-point sorts"
+typerule FLOATINGPOINT_TO_FP_FROM_FP ::cvc5::theory::fp::FloatingPointToFPFloatingPointTypeRule
-constant FLOATINGPOINT_TO_FP_REAL_OP \
+constant FLOATINGPOINT_TO_FP_FROM_REAL_OP \
class \
FloatingPointToFPReal \
"::cvc5::FloatingPointConvertSortHashFunction<0x4>" \
"util/floatingpoint.h" \
"operator for to_fp from real"
-typerule FLOATINGPOINT_TO_FP_REAL_OP ::cvc5::theory::fp::FloatingPointParametricOpTypeRule
+typerule FLOATINGPOINT_TO_FP_FROM_REAL_OP ::cvc5::theory::fp::FloatingPointParametricOpTypeRule
-parameterized FLOATINGPOINT_TO_FP_REAL FLOATINGPOINT_TO_FP_REAL_OP 2 "convert a real to floating-point"
-typerule FLOATINGPOINT_TO_FP_REAL ::cvc5::theory::fp::FloatingPointToFPRealTypeRule
+parameterized FLOATINGPOINT_TO_FP_FROM_REAL FLOATINGPOINT_TO_FP_FROM_REAL_OP 2 "convert a real to floating-point"
+typerule FLOATINGPOINT_TO_FP_FROM_REAL ::cvc5::theory::fp::FloatingPointToFPRealTypeRule
-constant FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR_OP \
+constant FLOATINGPOINT_TO_FP_FROM_SBV_OP \
class \
FloatingPointToFPSignedBitVector \
"::cvc5::FloatingPointConvertSortHashFunction<0x8>" \
"util/floatingpoint.h" \
"operator for to_fp from signed bit vector"
-typerule FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR_OP ::cvc5::theory::fp::FloatingPointParametricOpTypeRule
+typerule FLOATINGPOINT_TO_FP_FROM_SBV_OP ::cvc5::theory::fp::FloatingPointParametricOpTypeRule
-parameterized FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR_OP 2 "convert a signed bit vector to floating-point"
-typerule FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR ::cvc5::theory::fp::FloatingPointToFPSignedBitVectorTypeRule
+parameterized FLOATINGPOINT_TO_FP_FROM_SBV FLOATINGPOINT_TO_FP_FROM_SBV_OP 2 "convert a signed bit vector to floating-point"
+typerule FLOATINGPOINT_TO_FP_FROM_SBV ::cvc5::theory::fp::FloatingPointToFPSignedBitVectorTypeRule
-constant FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR_OP \
+constant FLOATINGPOINT_TO_FP_FROM_UBV_OP \
class \
FloatingPointToFPUnsignedBitVector \
"::cvc5::FloatingPointConvertSortHashFunction<0x10>" \
"util/floatingpoint.h" \
"operator for to_fp from unsigned bit vector"
-typerule FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR_OP ::cvc5::theory::fp::FloatingPointParametricOpTypeRule
+typerule FLOATINGPOINT_TO_FP_FROM_UBV_OP ::cvc5::theory::fp::FloatingPointParametricOpTypeRule
-parameterized FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR_OP 2 "convert an unsigned bit vector to floating-point"
-typerule FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR ::cvc5::theory::fp::FloatingPointToFPUnsignedBitVectorTypeRule
+parameterized FLOATINGPOINT_TO_FP_FROM_UBV FLOATINGPOINT_TO_FP_FROM_UBV_OP 2 "convert an unsigned bit vector to floating-point"
+typerule FLOATINGPOINT_TO_FP_FROM_UBV ::cvc5::theory::fp::FloatingPointToFPUnsignedBitVectorTypeRule
d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_IS_NEG);
d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_IS_POS);
- d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR);
- d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT);
- d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_TO_FP_REAL);
- d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR);
- d_equalityEngine->addFunctionKind(
- kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR);
+ d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV);
+ d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_TO_FP_FROM_FP);
+ d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_TO_FP_FROM_REAL);
+ d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_TO_FP_FROM_SBV);
+ d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_TO_FP_FROM_UBV);
// d_equalityEngine->addFunctionKind(kind::FLOATINGPOINT_TO_FP_GENERIC); //
// Needed in parsing, should be rewritten away
// Then the backwards constraints
Node floatAboveAbstract = rewrite(
- nm->mkNode(kind::FLOATINGPOINT_TO_FP_REAL,
+ nm->mkNode(kind::FLOATINGPOINT_TO_FP_FROM_REAL,
nm->mkConst(FloatingPointToFPReal(
concrete[0].getType().getConst<FloatingPointSize>())),
nm->mkConst(RoundingMode::ROUND_TOWARD_POSITIVE),
handleLemma(bg, InferenceId::FP_PREPROCESS);
Node floatBelowAbstract = rewrite(
- nm->mkNode(kind::FLOATINGPOINT_TO_FP_REAL,
+ nm->mkNode(kind::FLOATINGPOINT_TO_FP_FROM_REAL,
nm->mkConst(FloatingPointToFPReal(
concrete[0].getType().getConst<FloatingPointSize>())),
nm->mkConst(RoundingMode::ROUND_TOWARD_NEGATIVE),
return false;
}
}
- else if (k == kind::FLOATINGPOINT_TO_FP_REAL)
+ else if (k == kind::FLOATINGPOINT_TO_FP_FROM_REAL)
{
// Get the values
Assert(m->hasTerm(abstract)) << "Term " << abstract << " not in model";
NodeManager *nm = NodeManager::currentNM();
Node evaluate =
- nm->mkNode(kind::FLOATINGPOINT_TO_FP_REAL,
+ nm->mkNode(kind::FLOATINGPOINT_TO_FP_FROM_REAL,
nm->mkConst(FloatingPointToFPReal(
concrete.getType().getConst<FloatingPointSize>())),
rmValue,
// TODO : bounds on the output from largest floats, #1914
}
- else if (k == kind::FLOATINGPOINT_TO_FP_REAL)
+ else if (k == kind::FLOATINGPOINT_TO_FP_FROM_REAL)
{
// Purify ((_ to_fp eb sb) rm x)
NodeManager* nm = NodeManager::currentNM();
RewriteResponse toFPSignedBV(TNode node, bool isPreRewrite)
{
Assert(!isPreRewrite);
- Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR);
+ Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_FROM_SBV);
/* symFPU does not allow conversions from signed bit-vector of size 1 */
if (node[1].getType().getBitVectorSize() == 1)
RewriteResponse convertFromIEEEBitVectorLiteral(TNode node, bool isPreRewrite)
{
- Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR);
+ Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV);
TNode op = node.getOperator();
const FloatingPointToFPIEEEBitVector ¶m = op.getConst<FloatingPointToFPIEEEBitVector>();
RewriteResponse constantConvert(TNode node, bool isPreRewrite)
{
- Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT);
+ Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_FROM_FP);
Assert(node.getNumChildren() == 2);
RoundingMode rm(node[0].getConst<RoundingMode>());
RewriteResponse convertFromRealLiteral(TNode node, bool isPreRewrite)
{
- Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_REAL);
+ Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_FROM_REAL);
TNode op = node.getOperator();
const FloatingPointSize& size =
RewriteResponse convertFromSBV(TNode node, bool isPreRewrite)
{
- Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR);
+ Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_FROM_SBV);
TNode op = node.getOperator();
const FloatingPointSize& size =
RewriteResponse convertFromUBV(TNode node, bool isPreRewrite)
{
- Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR);
+ Assert(node.getKind() == kind::FLOATINGPOINT_TO_FP_FROM_UBV);
TNode op = node.getOperator();
const FloatingPointSize& size =
d_preRewriteTable[kind::FLOATINGPOINT_IS_POS] = rewrite::identity;
/******** Conversions ********/
- d_preRewriteTable[kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR] =
- rewrite::identity;
- d_preRewriteTable[kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT] =
- rewrite::identity;
- d_preRewriteTable[kind::FLOATINGPOINT_TO_FP_REAL] = rewrite::identity;
- d_preRewriteTable[kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR] =
- rewrite::identity;
- d_preRewriteTable[kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR] =
- rewrite::identity;
+ d_preRewriteTable[kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV] = rewrite::identity;
+ d_preRewriteTable[kind::FLOATINGPOINT_TO_FP_FROM_FP] = rewrite::identity;
+ d_preRewriteTable[kind::FLOATINGPOINT_TO_FP_FROM_REAL] = rewrite::identity;
+ d_preRewriteTable[kind::FLOATINGPOINT_TO_FP_FROM_SBV] = rewrite::identity;
+ d_preRewriteTable[kind::FLOATINGPOINT_TO_FP_FROM_UBV] = rewrite::identity;
d_preRewriteTable[kind::FLOATINGPOINT_TO_FP_GENERIC] = rewrite::identity;
d_preRewriteTable[kind::FLOATINGPOINT_TO_UBV] = rewrite::identity;
d_preRewriteTable[kind::FLOATINGPOINT_TO_SBV] = rewrite::identity;
d_postRewriteTable[kind::FLOATINGPOINT_IS_POS] = rewrite::identity;
/******** Conversions ********/
- d_postRewriteTable[kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR] =
- rewrite::identity;
- d_postRewriteTable[kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT] =
+ d_postRewriteTable[kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV] =
rewrite::identity;
- d_postRewriteTable[kind::FLOATINGPOINT_TO_FP_REAL] = rewrite::identity;
- d_postRewriteTable[kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR] =
+ d_postRewriteTable[kind::FLOATINGPOINT_TO_FP_FROM_FP] = rewrite::identity;
+ d_postRewriteTable[kind::FLOATINGPOINT_TO_FP_FROM_REAL] = rewrite::identity;
+ d_postRewriteTable[kind::FLOATINGPOINT_TO_FP_FROM_SBV] =
rewrite::toFPSignedBV;
- d_postRewriteTable[kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR] =
- rewrite::identity;
+ d_postRewriteTable[kind::FLOATINGPOINT_TO_FP_FROM_UBV] = rewrite::identity;
d_postRewriteTable[kind::FLOATINGPOINT_TO_FP_GENERIC] =
rewrite::removeToFPGeneric;
d_postRewriteTable[kind::FLOATINGPOINT_TO_UBV] = rewrite::identity;
d_constantFoldTable[kind::FLOATINGPOINT_IS_POS] = constantFold::isPositive;
/******** Conversions ********/
- d_constantFoldTable[kind::FLOATINGPOINT_TO_FP_IEEE_BITVECTOR] =
+ d_constantFoldTable[kind::FLOATINGPOINT_TO_FP_FROM_IEEE_BV] =
constantFold::convertFromIEEEBitVectorLiteral;
- d_constantFoldTable[kind::FLOATINGPOINT_TO_FP_FLOATINGPOINT] =
+ d_constantFoldTable[kind::FLOATINGPOINT_TO_FP_FROM_FP] =
constantFold::constantConvert;
- d_constantFoldTable[kind::FLOATINGPOINT_TO_FP_REAL] =
+ d_constantFoldTable[kind::FLOATINGPOINT_TO_FP_FROM_REAL] =
constantFold::convertFromRealLiteral;
- d_constantFoldTable[kind::FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR] =
+ d_constantFoldTable[kind::FLOATINGPOINT_TO_FP_FROM_SBV] =
constantFold::convertFromSBV;
- d_constantFoldTable[kind::FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR] =
+ d_constantFoldTable[kind::FLOATINGPOINT_TO_FP_FROM_UBV] =
constantFold::convertFromUBV;
d_constantFoldTable[kind::FLOATINGPOINT_TO_UBV] = constantFold::convertToUBV;
d_constantFoldTable[kind::FLOATINGPOINT_TO_SBV] = constantFold::convertToSBV;
"sort");
}
if (!(Theory::isLeafOf(n[0], THEORY_FP)
- || n[0].getKind() == kind::FLOATINGPOINT_TO_FP_REAL))
+ || n[0].getKind() == kind::FLOATINGPOINT_TO_FP_FROM_REAL))
{
throw TypeCheckingExceptionPrivate(n,
"floating-point bit component "
"sort");
}
if (!(Theory::isLeafOf(n[0], THEORY_FP)
- || n[0].getKind() == kind::FLOATINGPOINT_TO_FP_REAL))
+ || n[0].getKind() == kind::FLOATINGPOINT_TO_FP_FROM_REAL))
{
throw TypeCheckingExceptionPrivate(n,
"floating-point exponent component "
"floating-point sort");
}
if (!(Theory::isLeafOf(n[0], THEORY_FP)
- || n[0].getKind() == kind::FLOATINGPOINT_TO_FP_REAL))
+ || n[0].getKind() == kind::FLOATINGPOINT_TO_FP_FROM_REAL))
{
throw TypeCheckingExceptionPrivate(n,
"floating-point significand "
Op floatingpoint_to_ubv = d_solver.mkOp(FLOATINGPOINT_TO_UBV, 11);
Op floatingopint_to_sbv = d_solver.mkOp(FLOATINGPOINT_TO_SBV, 13);
Op floatingpoint_to_fp_ieee_bitvector =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_IEEE_BITVECTOR, 4, 25);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_IEEE_BV, 4, 25);
Op floatingpoint_to_fp_floatingpoint =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_FLOATINGPOINT, 4, 25);
- Op floatingpoint_to_fp_real = d_solver.mkOp(FLOATINGPOINT_TO_FP_REAL, 4, 25);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_FP, 4, 25);
+ Op floatingpoint_to_fp_real =
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_REAL, 4, 25);
Op floatingpoint_to_fp_signed_bitvector =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR, 4, 25);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_SBV, 4, 25);
Op floatingpoint_to_fp_unsigned_bitvector =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR, 4, 25);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_UBV, 4, 25);
Op floatingpoint_to_fp_generic =
d_solver.mkOp(FLOATINGPOINT_TO_FP_GENERIC, 4, 25);
Op regexp_loop = d_solver.mkOp(REGEXP_LOOP, 2, 3);
Op floatingpoint_to_ubv = d_solver.mkOp(FLOATINGPOINT_TO_UBV, 4);
Op floatingopint_to_sbv = d_solver.mkOp(FLOATINGPOINT_TO_SBV, 4);
Op floatingpoint_to_fp_ieee_bitvector =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_IEEE_BITVECTOR, 4, 5);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_IEEE_BV, 4, 5);
Op floatingpoint_to_fp_floatingpoint =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_FLOATINGPOINT, 4, 5);
- Op floatingpoint_to_fp_real = d_solver.mkOp(FLOATINGPOINT_TO_FP_REAL, 4, 5);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_FP, 4, 5);
+ Op floatingpoint_to_fp_real =
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_REAL, 4, 5);
Op floatingpoint_to_fp_signed_bitvector =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR, 4, 5);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_SBV, 4, 5);
Op floatingpoint_to_fp_unsigned_bitvector =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR, 4, 5);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_UBV, 4, 5);
Op floatingpoint_to_fp_generic =
d_solver.mkOp(FLOATINGPOINT_TO_FP_GENERIC, 4, 5);
Op regexp_loop = d_solver.mkOp(REGEXP_LOOP, 4, 5);
(bitvector_extract_indices == std::pair<uint32_t, uint32_t>{4, 0}));
Op floatingpoint_to_fp_ieee_bitvector_ot =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_IEEE_BITVECTOR, 4, 25);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_IEEE_BV, 4, 25);
std::pair<uint32_t, uint32_t> floatingpoint_to_fp_ieee_bitvector_indices =
floatingpoint_to_fp_ieee_bitvector_ot
.getIndices<std::pair<uint32_t, uint32_t>>();
== std::pair<uint32_t, uint32_t>{4, 25}));
Op floatingpoint_to_fp_floatingpoint_ot =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_FLOATINGPOINT, 4, 25);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_FP, 4, 25);
std::pair<uint32_t, uint32_t> floatingpoint_to_fp_floatingpoint_indices =
floatingpoint_to_fp_floatingpoint_ot
.getIndices<std::pair<uint32_t, uint32_t>>();
== std::pair<uint32_t, uint32_t>{4, 25}));
Op floatingpoint_to_fp_real_ot =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_REAL, 4, 25);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_REAL, 4, 25);
std::pair<uint32_t, uint32_t> floatingpoint_to_fp_real_indices =
floatingpoint_to_fp_real_ot.getIndices<std::pair<uint32_t, uint32_t>>();
ASSERT_TRUE((floatingpoint_to_fp_real_indices
== std::pair<uint32_t, uint32_t>{4, 25}));
Op floatingpoint_to_fp_signed_bitvector_ot =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR, 4, 25);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_SBV, 4, 25);
std::pair<uint32_t, uint32_t> floatingpoint_to_fp_signed_bitvector_indices =
floatingpoint_to_fp_signed_bitvector_ot
.getIndices<std::pair<uint32_t, uint32_t>>();
== std::pair<uint32_t, uint32_t>{4, 25}));
Op floatingpoint_to_fp_unsigned_bitvector_ot =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR, 4, 25);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_UBV, 4, 25);
std::pair<uint32_t, uint32_t> floatingpoint_to_fp_unsigned_bitvector_indices =
floatingpoint_to_fp_unsigned_bitvector_ot
.getIndices<std::pair<uint32_t, uint32_t>>();
assertArrayEquals(bitvector_extract_indices, new int[] {4, 0});
Op floatingpoint_to_fp_ieee_bitvector_ot =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_IEEE_BITVECTOR, 4, 25);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_IEEE_BV, 4, 25);
int[] floatingpoint_to_fp_ieee_bitvector_indices =
floatingpoint_to_fp_ieee_bitvector_ot.getIntegerIndices();
assertArrayEquals(floatingpoint_to_fp_ieee_bitvector_indices, new int[] {4, 25});
- Op floatingpoint_to_fp_floatingpoint_ot =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_FLOATINGPOINT, 4, 25);
+ Op floatingpoint_to_fp_floatingpoint_ot = d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_FP, 4, 25);
int[] floatingpoint_to_fp_floatingpoint_indices =
floatingpoint_to_fp_floatingpoint_ot.getIntegerIndices();
assertArrayEquals(floatingpoint_to_fp_floatingpoint_indices, new int[] {4, 25});
- Op floatingpoint_to_fp_real_ot = d_solver.mkOp(FLOATINGPOINT_TO_FP_REAL, 4, 25);
+ Op floatingpoint_to_fp_real_ot = d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_REAL, 4, 25);
int[] floatingpoint_to_fp_real_indices = floatingpoint_to_fp_real_ot.getIntegerIndices();
assertArrayEquals(floatingpoint_to_fp_real_indices, new int[] {4, 25});
- Op floatingpoint_to_fp_signed_bitvector_ot =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_SIGNED_BITVECTOR, 4, 25);
+ Op floatingpoint_to_fp_signed_bitvector_ot = d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_SBV, 4, 25);
int[] floatingpoint_to_fp_signed_bitvector_indices =
floatingpoint_to_fp_signed_bitvector_ot.getIntegerIndices();
assertArrayEquals(floatingpoint_to_fp_signed_bitvector_indices, new int[] {4, 25});
Op floatingpoint_to_fp_unsigned_bitvector_ot =
- d_solver.mkOp(FLOATINGPOINT_TO_FP_UNSIGNED_BITVECTOR, 4, 25);
+ d_solver.mkOp(FLOATINGPOINT_TO_FP_FROM_UBV, 4, 25);
int[] floatingpoint_to_fp_unsigned_bitvector_indices =
floatingpoint_to_fp_unsigned_bitvector_ot.getIntegerIndices();
assertArrayEquals(floatingpoint_to_fp_unsigned_bitvector_indices, new int[] {4, 25});
iand = solver.mkOp(Kind.Iand, 3)
floatingpoint_to_ubv = solver.mkOp(Kind.FPToUbv, 11)
floatingopint_to_sbv = solver.mkOp(Kind.FPToSbv, 13)
- floatingpoint_to_fp_ieee_bitvector = solver.mkOp(Kind.FPToFpIeeeBV, 4, 25)
- floatingpoint_to_fp_floatingpoint = solver.mkOp(Kind.FPToFpFP, 4, 25)
- floatingpoint_to_fp_real = solver.mkOp(Kind.FPToFpReal, 4, 25)
- floatingpoint_to_fp_signed_bitvector = solver.mkOp(Kind.FPToFpSignedBV, 4,
- 25)
- floatingpoint_to_fp_unsigned_bitvector = solver.mkOp(
- Kind.FPToFpUnsignedBV, 4, 25)
+ floatingpoint_to_fp_from_ieee_bv = solver.mkOp(Kind.FPToFpFromIeeeBv, 4, 25)
+ floatingpoint_to_fp_from_fp = solver.mkOp(Kind.FPToFpFromFp, 4, 25)
+ floatingpoint_to_fp_from_real = solver.mkOp(Kind.FPToFpFromReal, 4, 25)
+ floatingpoint_to_fp_from_sbv = solver.mkOp(Kind.FPToFpFromSbv, 4, 25)
+ floatingpoint_to_fp_from_ubv = solver.mkOp(Kind.FPToFpFromUbv, 4, 25)
floatingpoint_to_fp_generic = solver.mkOp(Kind.FPToFpGeneric, 4, 25)
regexp_loop = solver.mkOp(Kind.RegexpLoop, 2, 3)
assert 1 == iand.getNumIndices()
assert 1 == floatingpoint_to_ubv.getNumIndices()
assert 1 == floatingopint_to_sbv.getNumIndices()
- assert 2 == floatingpoint_to_fp_ieee_bitvector.getNumIndices()
- assert 2 == floatingpoint_to_fp_floatingpoint.getNumIndices()
- assert 2 == floatingpoint_to_fp_real.getNumIndices()
- assert 2 == floatingpoint_to_fp_signed_bitvector.getNumIndices()
- assert 2 == floatingpoint_to_fp_unsigned_bitvector.getNumIndices()
+ assert 2 == floatingpoint_to_fp_from_ieee_bv.getNumIndices()
+ assert 2 == floatingpoint_to_fp_from_fp.getNumIndices()
+ assert 2 == floatingpoint_to_fp_from_real.getNumIndices()
+ assert 2 == floatingpoint_to_fp_from_sbv.getNumIndices()
+ assert 2 == floatingpoint_to_fp_from_ubv.getNumIndices()
assert 2 == floatingpoint_to_fp_generic.getNumIndices()
assert 2 == regexp_loop.getNumIndices()
bitvector_extract_indices = bitvector_extract_ot.getIndices()
assert bitvector_extract_indices == (4, 0)
- floatingpoint_to_fp_ieee_bitvector_ot = solver.mkOp(
- Kind.FPToFpIeeeBV, 4, 25)
- floatingpoint_to_fp_ieee_bitvector_indices = floatingpoint_to_fp_ieee_bitvector_ot.getIndices(
- )
- assert floatingpoint_to_fp_ieee_bitvector_indices == (4, 25)
-
- floatingpoint_to_fp_floatingpoint_ot = solver.mkOp(Kind.FPToFpFP, 4, 25)
- floatingpoint_to_fp_floatingpoint_indices = floatingpoint_to_fp_floatingpoint_ot.getIndices(
- )
- assert floatingpoint_to_fp_floatingpoint_indices == (4, 25)
-
- floatingpoint_to_fp_real_ot = solver.mkOp(Kind.FPToFpReal, 4, 25)
- floatingpoint_to_fp_real_indices = floatingpoint_to_fp_real_ot.getIndices()
- assert floatingpoint_to_fp_real_indices == (4, 25)
-
- floatingpoint_to_fp_signed_bitvector_ot = solver.mkOp(
- Kind.FPToFpSignedBV, 4, 25)
- floatingpoint_to_fp_signed_bitvector_indices = floatingpoint_to_fp_signed_bitvector_ot.getIndices(
- )
- assert floatingpoint_to_fp_signed_bitvector_indices == (4, 25)
-
- floatingpoint_to_fp_unsigned_bitvector_ot = solver.mkOp(
- Kind.FPToFpUnsignedBV, 4, 25)
- floatingpoint_to_fp_unsigned_bitvector_indices = floatingpoint_to_fp_unsigned_bitvector_ot.getIndices(
- )
- assert floatingpoint_to_fp_unsigned_bitvector_indices == (4, 25)
+ floatingpoint_to_fp_from_ieee_bv_ot = \
+ solver.mkOp(Kind.FPToFpFromIeeeBv, 4, 25)
+ floatingpoint_to_fp_from_ieee_bv_indices = \
+ floatingpoint_to_fp_from_ieee_bv_ot.getIndices()
+ assert floatingpoint_to_fp_from_ieee_bv_indices == (4, 25)
+
+ floatingpoint_to_fp_from_fp_ot = solver.mkOp(Kind.FPToFpFromFp, 4, 25)
+ floatingpoint_to_fp_from_fp_indices = \
+ floatingpoint_to_fp_from_fp_ot.getIndices()
+ assert floatingpoint_to_fp_from_fp_indices == (4, 25)
+
+ floatingpoint_to_fp_from_real_ot = solver.mkOp(Kind.FPToFpFromReal, 4, 25)
+ floatingpoint_to_fp_from_real_indices = \
+ floatingpoint_to_fp_from_real_ot.getIndices()
+ assert floatingpoint_to_fp_from_real_indices == (4, 25)
+
+ floatingpoint_to_fp_from_sbv_ot = solver.mkOp(Kind.FPToFpFromSbv, 4, 25)
+ floatingpoint_to_fp_from_sbv_indices = \
+ floatingpoint_to_fp_from_sbv_ot.getIndices()
+ assert floatingpoint_to_fp_from_sbv_indices == (4, 25)
+
+ floatingpoint_to_fp_from_ubv_ot = solver.mkOp(Kind.FPToFpFromUbv, 4, 25)
+ floatingpoint_to_fp_from_ubv_indices = \
+ floatingpoint_to_fp_from_ubv_ot.getIndices()
+ assert floatingpoint_to_fp_from_ubv_indices == (4, 25)
floatingpoint_to_fp_generic_ot = solver.mkOp(Kind.FPToFpGeneric, 4, 25)
- floatingpoint_to_fp_generic_indices = floatingpoint_to_fp_generic_ot.getIndices(
- )
+ floatingpoint_to_fp_generic_indices = \
+ floatingpoint_to_fp_generic_ot.getIndices()
assert floatingpoint_to_fp_generic_indices == (4, 25)