You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by lu...@apache.org on 2013/08/27 13:15:50 UTC
svn commit: r1517789 - in /commons/proper/math/trunk/src:
main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java
test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java
Author: luc
Date: Tue Aug 27 11:15:50 2013
New Revision: 1517789
URL: http://svn.apache.org/r1517789
Log:
Added a convenience createConstant method for DerivativeStructure.
Thanks to Ajo Fod.
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java
commons/proper/math/trunk/src/test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java?rev=1517789&r1=1517788&r2=1517789&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructure.java Tue Aug 27 11:15:50 2013
@@ -232,6 +232,20 @@ public class DerivativeStructure impleme
return compiler.getOrder();
}
+ /** Create a constant compatible with instance order and number of parameters.
+ * <p>
+ * This method is a convenience factory method, it simply calls
+ * {@code new DerivativeStructure(getFreeParameters(), getOrder(), c)}
+ * </p>
+ * @param c value of the constant
+ * @return a constant compatible with instance order and number of parameters
+ * @see #DerivativeStructure(int, int, double)
+ * @since 3.3
+ */
+ public DerivativeStructure createConstant(final double c) {
+ return new DerivativeStructure(getFreeParameters(), getOrder(), c);
+ }
+
/** {@inheritDoc}
* @since 3.2
*/
Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java?rev=1517789&r1=1517788&r2=1517789&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math3/analysis/differentiation/DerivativeStructureTest.java Tue Aug 27 11:15:50 2013
@@ -90,6 +90,15 @@ public class DerivativeStructureTest ext
}
@Test
+ public void testCreateConstant() {
+ DerivativeStructure a = new DerivativeStructure(3, 2, 0, 1.3);
+ DerivativeStructure b = a.createConstant(2.5);
+ Assert.assertEquals(a.getFreeParameters(), b.getFreeParameters());
+ Assert.assertEquals(a.getOrder(), b.getOrder());
+ checkEquals(a.getField().getOne().multiply(2.5), b, 1.0e-15);
+ }
+
+ @Test
public void testPrimitiveAdd() {
for (int maxOrder = 1; maxOrder < 5; ++maxOrder) {
checkF0F1(new DerivativeStructure(3, maxOrder, 0, 1.0).add(5), 6.0, 1.0, 0.0, 0.0);