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
- 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/trunk@659438 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
The various ArrayList, HashSet and HashMap used in math have
be restricted to the content they are intended for.
This removes lots of warnings that have appeared after the
switch to Java 5, and improves safety (for example the categories
used by OneWayAnova are guaranteed to be double arrays at compile
time).
Two difficult cases where not handled here: the Frequency class
and the Fitness interface. The first one mixes types and needs to
be studied before any change is attempted. The second one generates
some side effects on the overall package which is still under development.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@657612 13f79535-47bb-0310-9956-ffa450edef68