Replies: 6 comments 4 replies
-
Also I can't entirely tell what the |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Yes, it is roundabout and could be a usability mistake. The Ids expose some internal way to ensure an address space for registered expressions. |
Beta Was this translation helpful? Give feedback.
-
Overall, the user propagator is "fresh". Clemens Eisenhofer is developing a full use case for Alive2 and working out kinks while validating what API functions are relevant. I have used the Python version for more than a year in a separate project. The Python bindings are not simple, though. Storing native pointers is roundabout. |
Beta Was this translation helpful? Give feedback.
-
I am going to change the API and remove the indirection with ids. |
Beta Was this translation helpful? Give feedback.
-
I'm looking at updating the JS bindings for the user propagator, as discussed here.
I figured I'd start by re-implementing the n-queens example in pure C, without the C++ API; then I can confirm that the equivalent using the JS bindings works. But I'm having a hard time following the logic.
I see that, for example, the
Z3_fixed_eh
callback type take aZ3_solver_callback
as its second parameter. But what is it? The comment forZ3_solver_propagate_fixed
isn't helpful; it just says that it "registers a callback", but does not say what the arguments to the callback represent.Also, what is the
fresh
argument to Z3_solver_propagate_init for? All the n-queens example has to say is "The function fresh is not really interesting for our purpose but we nonetheless have to implement it."Beta Was this translation helpful? Give feedback.
All reactions