kenmcmil / ivy

IVy is a research tool intended to allow interactive development of protocols and their proofs of correctness and to provide a platform for developing and experimenting with automated proof techniques. In particular, IVy provides interactive visualization of automated proofs, and supports a use model in which the human protocol designer and the automated tool interact to expose errors and prove correctness.
Other
77 stars 24 forks source link

Start from `seed` when `seed=...` and `runs=...` are passed to cmd line #36

Closed benSepanski closed 2 years ago

benSepanski commented 2 years ago

If a user calls ivy_launch with both seed and runs, the current implementation produces something like this:

> ivy_launch runs=3 seed=10 my_program
`ivy_shell`; ./my_program ...  seed=10 seed=0
`ivy_shell`; ./my_program ...  seed=10 seed=0
`ivy_shell`; ./my_program ...  seed=10 seed=0

This PR changes the behavior so that the seed argument acts as the initial-value for runs, i.e. ivy_launch will produce

> ivy_launch runs=3 seed=10 my_program
`ivy_shell`; ./my_program ...  seed=10
`ivy_shell`; ./my_program ...  seed=11
`ivy_shell`; ./my_program ...  seed=12