Tuesday, January 24, 2012

Floating in Scala

We continued to work on the numeric type classes in Scala. We have implemented instances of Floating (that includes arithmetic operations, trascendental functions, trigonometric functions and the number Pi) for the Scala type Double, for the constructive reals implemented in Java as distributed by Hans Boehm, for symbolic numbers as described by Lennart Augustsson for Haskell, and for the data type that implements automatic differentiation with towers of derivatives as described by Jerzy Karczmarczuk and Lennart Augustsson for Haskell.
The coming week we plan to parameterize the Acumen interpreter on the type of numbers so that we can compare simulations that use Double with simulations that use constructive reals. Later on we would like to explore in what way we can use automatic differentiation in Acumen.