Package io.github.cvc5
Class SynthResult
java.lang.Object
io.github.cvc5.SynthResult
Encapsulation of a solver synth result.
This is the return value of the API methods:
-
Solver.checkSynth()
- Solver.checkSynthNext()
which we call synthesis queries. This class indicates whether the
synthesis query has a solution, has no solution, or is unknown.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidFree the native resource associated with this pointer.booleanOperator overloading for equality of two synthesis results.longReturn the raw native pointer.inthashCode()Get the hash value of a synthesis result.booleanDetermine if the synthesis query has no solution.booleanDetermine if the synthesis query has a solution.booleanisNull()Determine if SynthResult is empty, i.e., a nullary SynthResult, and not an actual result returned from a synthesis query.booleanDetermine if the result of the synthesis query could not be determined.toString()Return a string representation of the pointer.protected StringtoString(long pointer) Return a string representation of the specified native pointer.
-
Field Details
-
pointer
protected long pointerThe raw native pointer value.
-
-
Constructor Details
-
SynthResult
public SynthResult()Null synthResult
-
-
Method Details
-
equals
Operator overloading for equality of two synthesis results. -
isNull
public boolean isNull()Determine if SynthResult is empty, i.e., a nullary SynthResult, and not an actual result returned from a synthesis query.- Returns:
- True if SynthResult is empty, i.e., a nullary SynthResult, and not an actual result returned from a synthesis query.
-
hasSolution
public boolean hasSolution()Determine if the synthesis query has a solution.- Returns:
- True if the synthesis query has a solution.
-
hasNoSolution
public boolean hasNoSolution()Determine if the synthesis query has no solution.- Returns:
- True if the synthesis query has no solution. In this case, it was determined there was no solution.
-
isUnknown
public boolean isUnknown()Determine if the result of the synthesis query could not be determined.- Returns:
- True if the result of the synthesis query could not be determined.
-
toString
Return a string representation of the specified native pointer.Subclasses must implement this method to convert the native pointer into a meaningful string.
- Parameters:
pointer- the native pointer- Returns:
- A string representation of this result.
-
hashCode
public int hashCode()Get the hash value of a synthesis result. -
getPointer
public long getPointer()Return the raw native pointer.Every native call obtains the pointers of the objects it uses through this method, so that using an object after its native resource has been released raises an exception instead of crashing the JVM.
- Returns:
- the pointer value
- Throws:
IllegalStateException- if the native resource of this object has been released, e.g., viadeletePointer()
-
deletePointer
public void deletePointer()Free the native resource associated with this pointer.Native resources are freed automatically once the Java object is no longer reachable. This method frees the native resource immediately instead; afterwards, using the object raises an
IllegalStateException. It must be called from the thread that is using the associated term manager. Calling it more than once has no further effect. -
toString
Return a string representation of the pointer.
-