SoftwareX (Jul 2022)

EspyInsideFunction.jl — extracting intermediate results from numerical functions

  • Philippe Mainçon

Journal volume & issue
Vol. 19
p. 101200

Abstract

Read online

EspyInsideFunction allows to write software in the Julia programming language Julia (2017) [1] to make the value of variables within a function’s local scope — variables that are neither arguments nor return values, available to the caller. This is relevant for functions within a solution process (e.g. a function which return value is to be minimized by some iterative scheme). In such a setting it is natural to tailor the function’s interface to the solution process. However, internal results within the function, while not relevant to the solution process, may be wanted output from the analysis. The package allows to write such a function with an interface tailored for the solution process, and then uses meta-programming to create a second version of the function, with a modified interface, which can be called to extract relevant intermediate results.

Keywords