Algorithms for Alex Simpson's functional operations integration and function minimum and maximum are also implemented in the calculator. These algorithms are interesting, not least of all because it is quite surprising that they can be developed at all
A discussion of these algorithms is given in . We do not undertake a full discussion of these algorithms here for two reasons. Firstly, their explanation is extremely involved; the paper cited is roughly ten pages long and even this is only an extended abstract. Secondly, although time was spent working on the implementation of these algorithms and linking this to the user interface of the calculator, the algorithms were implemented to see the algorithms working in a real implementation and to test their performance. The implementation of these algorithms here does not reflect any intellectual effort spent developing the algorithms.
The functional operations themselves take as input some closed interval, and a function which is continuous over the interval. The function maximum and minimum functions return the greatest or least value attained by the input function over the interval, and the integration algorithm computes the definite integral of the function in the specified interval.
The algorithms are defined first using the stream representations of reals in a closed interval. They take input in the signed binary stream representation, make extensive use of the dyadic representation for computation, and then give an output in the dyadic stream representation which can be coerced back into the signed binary stream representation.
The algorithms are then extended to functions which operate on the whole real line by scaling the closed interval over which the algorithm operates onto the interval [0,1], computing the largest exponent achieved by the function over the closed interval, and then scaling the output appropriately.
The implementation of the functional algorithms adapts directly an implementation by Reinhold Heckmann of the algorithms in the closed interval. This adaption means that they may be applied to functions using the full range of arithmetic operations and transcendental functions. We then extend the algorithms using the approach described above to operate on the whole real line as described. This extension is the first implementation of these algorithms on the whole real line.