Pure Functions

To be compatible with Extreme Speed, user-defined functions must be "pure." A "pure function" is one that computes its value solely on the basis of values passed to it as arguments. A function that is not "pure" might reference global data not passed as an argument. For example, it might get the value of a worksheet cell or a defined name and use this as an input to compute the function value. If the global data depends on the assumptions — if, for example, it is a worksheet cell with a formula computed from the assumptions — it will have a distribution of values in Normal Speed, but it will appear deterministic (have a single value) in Extreme Speed. This is because the worksheet cells change on every trial in Normal Speed, but they do not change in Extreme Speed.