When an event occurs exactly at integration start, the first truncated
steps ends up with zero size. This induced problems with forward/backward
sensing based on this step alone. This also induced an infinite loop in
the calling integrators.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@676610 13f79535-47bb-0310-9956-ffa450edef68
This is more consistent with event handlers management.
The setStepHandler method has therefore been replaced by addStephandler, the
getStepHandler method has been replaced by getStepHandlers which returns a Collection
and a clearStepHandlers method has been added.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@674817 13f79535-47bb-0310-9956-ffa450edef68
This is more consistent with event handlers management.
The setStepHandler method has therefore been replaced by addStephandler, the
getStepHandler method has been replaced by getStepHandlers which returns a Collection
and a clearStepHandlers method has been added.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@674814 13f79535-47bb-0310-9956-ffa450edef68
both the state and its time derivatives. The interpolated derivatives are
the exact derivatives of the interpolated state, thus preserving consistency.
The general step handlers hence do not need to call the derivation function
anymore. The fixed step handlers also get the time derivative of the state
as an additional argument along with the state when they are called.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@673759 13f79535-47bb-0310-9956-ffa450edef68
in order to retrieve exact stop time. This allows to handle properly
integration interruption due to an EventHandler instance asking to
stop the integration when its associated event is triggered. The state
was already set to the current state at interruption time, but it was
difficult to get the corresponding time (it involved setting a step
handler monitoring the last step specially).
JIRA: MATH-213
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@671168 13f79535-47bb-0310-9956-ffa450edef68
classes. This also prepares future work for non-stiff solvers.
SwitchingFunctions is now known as EventHandler
SwitchingFunctionsHandler is now known as CombinedEventsManager
The user manual as also been slightly improved, both to reflect these changes
and to make it easier to grasp the underlying principles in our implementation
of ODE solving
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@670469 13f79535-47bb-0310-9956-ffa450edef68
to a collection of SwitchingFunction instances. This better suits the
intended use of the method and fixes a visibility error since the
previous return type referenced the package private SwitchState class.
JIRA: MATH-210
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@669851 13f79535-47bb-0310-9956-ffa450edef68
From a developer point of view, all the changes are related.
From a user point of view, they are independent changes.
- added several convenience methods for Vector3D and Rotation
- replaced public no argument constructors with IDENTITY or ZERO
static instances for immutable classes Vector3D and Rotation
- fixed inconsistencies in the naming scheme for static fields in
Vector3D and Rotation with respect to the overall library
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@665700 13f79535-47bb-0310-9956-ffa450edef68
The main changes are the following ones:
- use directly the storage array when possible for
diadic operations (add, subtract, multiply), as
suggested by Phil, this avoids the cost of the
generic getEntry method
- replaced custom indices checks by simple use of
the JVM checks and ArrayIndexOutOfBoundException
- put row arrays reference in local variables to
avoid multiple checks in double loops
- use final variables where possible
- removed unneeded array copying
- added a constructor to build a matrix from an
array without copying it where it makes sense
The speed gain is about 3X for multiplication. Performances
for this operation are now on par with Jama.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@662241 13f79535-47bb-0310-9956-ffa450edef68
- pom's need to use ${basedir} for configuration files as the multi-module profile is run from commons-parent, so if not specified it can't find those files
- the checkstyle configuration file needs to use ${checkstyle.header.file} for the headerFile property and <headerFile> element added to the plugin config in the pom.xml
- fix m1 checkstyle config to reflect the above where appropriate (specify header file property)
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@659441 13f79535-47bb-0310-9956-ffa450edef68
This problem has been discussed previously here:
http://markmail.org/message/pmbiyiqssjesq7tm
The solution implemented with this modification is to configure checkstyle
in such a way the errors can be filtered out using dedicated comments in the
source code:
// CHECKSTYLE: stop JavadocMethodCheck
// a bunch of functions known to trigger warnings
// that we explicitly REFUSE to fix
// CHECKSTYLE: resume JavadocMethodCheck
The checks are still performed normally in file parts not bracketed by
these comments. Hence the first few methods in o.a.c.m.stat.inference.TestUtils are
still checked for correct javadoc, and only for the last ones in the same files
are the checks relaxed.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@658671 13f79535-47bb-0310-9956-ffa450edef68