Instead of being memoized all at once before display, functions values
are now stored at evaluation time. Fixed some quirks with caching
preparation.
Change-Id: I5d212c271c8c41a6dc9074a15c720f0bccf8ac40
The caches used for function values memoization are now stored in
ContinuousFunctionStore : there are now only a fixed number, instead of
one per function. This effectively enables caching only for the first
few functions on screen, while reducing the memory usage.
Change-Id: I2ade091717f73a14a756fe527c773db8e8627be7
When evaluating a ContinuousFunction for a float value, the function
will first try to ask its cache (if it has been filled beforehand).
Change-Id: I519d2d3dcf344ba63e30a0f011db2306c7141315
ContinuousFunction now has an attribute of type ContinuousFunctionCache,
implementing methods to store and retrieve 320 float values, in order to
speed up function display in Graph.
Change-Id: I6f7ccdf3ae3c6dd8b08b93d786c8d0be7aa4dee8
It appeared that without the packed keyword, the compiler did not handle
access to unaligned record data members, which leads to crashes on the
device.
Change-Id: I401f075e7f62458a4733baa8d81983d4be34b730