Skip to content

Commit

Permalink
update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
ahmed-irfan committed Mar 22, 2024
1 parent 27f8b8f commit 6b57790
Showing 1 changed file with 39 additions and 5 deletions.
44 changes: 39 additions & 5 deletions doc/sphinx/source/context-operations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1207,20 +1207,54 @@ as follows::
-- error code: :c:enum:`CTX_INVALID_OPERATION`
Set Variable Ordering for MCSat
-------------------------------
Set a Fixed Variable Ordering for MCSat
---------------------------------------
It is possible to give a variable ordering for the MCSat search --
It is possible to give a fixed variable ordering for the MCSat search --
this will make MCSAT to decide the variables in the given order. Note
that the variables in the given ordering are always decided earlier
than the ones not in the ordering. Therefore, the ordering variables
are not affected by the dynamic variable decision heuristic like
VSIDS. Moreover, a subsequent calls to this operation will overwrite
previously set ordering.
.. c:function:: smt_status_t yices_mcsat_set_var_order(context_t *ctx, const term_t t[], uint32_t n)
.. c:function:: smt_status_t yices_mcsat_set_fixed_var_order(context_t *ctx, const term_t t[], uint32_t n)
Set the variable ordering for the MCSat search.
Set a fixed variable ordering for the MCSat search.
**Parameters**
- *ctx* is a context
- *t* is an array of variables
- *n* is the size of the *t* array
If the operation fails, it will return :c:enum:`STATUS_ERROR`,
otherwise it returns :c:enum:`STATUS_IDLE`.
**Error report**
- If the context is not configured for MCSat:
-- error code: :c:enum:`CTX_OPERATION_NOT_SUPPORTED`
- If the terms in the *t* array are not variables:
-- error code: :c:enum:`VARIABLE_REQUIRED`
Set a Initial Variable Ordering for MCSat
-----------------------------------------
It is also possible to give a variable ordering that will be used only
in the beginning of the MCSAT search -- once that order has been
decided, MCSAT can choose according to its heuristics from that point
onward.
.. c:function:: smt_status_t yices_mcsat_set_initial_var_order(context_t *ctx, const term_t t[], uint32_t n)
Set an initial variable ordering for the MCSat search.
**Parameters**
Expand Down

0 comments on commit 6b57790

Please sign in to comment.