-
A value cache has been added to that the interpolation computations are only done when the value or the nodes have been changed between subsequent class to @set_value()@ or @interpolate()@ (@interpolate()@ calls in fact @set_value()@, so that the changes have only be done in the @set_value()@ method). An unnecessary if statement has been removed from the bi-section algorithm. See feature #102.
-
So far, the evaluation cache has not been updated after a node access. This led to a corrupt node array. A flag has been added that leads to cache update when node values have potentially changed. I also declared cache members as mutable so that the setup and set_value methods can now be declared const. This makes the class cleaner.
-
The previous change where the setup() method throws an error in case that less than 2 nodes are present was not viable. This does not allow successive addition of nodes to the node array. I thus reverted to the original code, skipping the setup step when less than 2 nodes are present.
-
If less than 2 nodes are available, the set_value() method now throws an exception.
-
The ostream and GLog functions are not defined at the GBase level.
-
…s const, add print() method