conatus.runs.reproduce

conatus.runs.reproduce(run, solver=None, *, fn=None, record=True, require_same_code=False)[source]

Run the recorded computation again and compare with the recorded output.

IVP runs: pass a solver built for the same problem and numerics (checked: problem hash, parameters, bases, scheme, dt… ; any difference is refused, never adapted); the recorded start state is loaded, the same number of steps is taken, the end state is compared bit for bit. Decorated calls: the function is re-imported (or fn=) and called with the recorded arguments. If the executed code differs from the recorded one, a CodeChangedWarning says how (or an error with require_same_code=True).

Parameters:
  • run (Run)

  • solver (Any)

  • fn (Callable | None)

  • record (bool)

  • require_same_code (bool)

Return type:

ReproduceReport