From 01fb71232839f94ed61920b134185b2db1511340 Mon Sep 17 00:00:00 2001 From: Jonathan Guinet <jonathan.guinet@c-s.fr> Date: Wed, 12 Jul 2017 14:21:46 -0400 Subject: [PATCH] [BUG] DSGenerator merge problem --- .../org/orekit/rugged/utils/DSGenerator.java | 7 ++++--- .../rugged/linesensor/FixedRotationTest.java | 16 ++++------------ .../linesensor/PolynomialRotationTest.java | 17 ++++++----------- 3 files changed, 14 insertions(+), 26 deletions(-) diff --git a/src/main/java/org/orekit/rugged/utils/DSGenerator.java b/src/main/java/org/orekit/rugged/utils/DSGenerator.java index 8cdbd1a2..d757e2ea 100644 --- a/src/main/java/org/orekit/rugged/utils/DSGenerator.java +++ b/src/main/java/org/orekit/rugged/utils/DSGenerator.java @@ -1,4 +1,4 @@ -/* Copyright 2013-2017 CS Systèmes d'Information +/* Copyright 2013-2016 CS Systèmes d'Information * Licensed to CS Systèmes d'Information (CS) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. @@ -16,9 +16,10 @@ */ package org.orekit.rugged.utils; +import java.util.List; + import org.hipparchus.analysis.differentiation.DerivativeStructure; import org.orekit.utils.ParameterDriver; -import org.orekit.utils.ParameterDriversList; /** Generator for {@link DerivativeStructure} instances from {@link ParameterDriver}. * <p> @@ -32,7 +33,7 @@ public interface DSGenerator { /** Get the parameters selected for estimation. * @return parameters selected for estimation */ - ParameterDriversList getSelected(); + List<ParameterDriver> getSelected(); /** Generate a constant {@link DerivativeStructure}. * @param value value of the constant diff --git a/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java b/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java index 895596a4..946e1f0d 100644 --- a/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java +++ b/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java @@ -46,7 +46,6 @@ import org.orekit.rugged.los.TimeDependentLOS; import org.orekit.rugged.utils.DSGenerator; import org.orekit.time.AbsoluteDate; import org.orekit.utils.ParameterDriver; -import org.orekit.utils.ParameterDriversList; public class FixedRotationTest { @@ -157,19 +156,16 @@ public class FixedRotationTest { new Vector3D(rvg.nextVector()), 2 * FastMath.PI * rng.nextNormalizedDouble() / FastMath.sqrt(3))); TimeDependentLOS tdl = builder.build(); - final ParameterDriversList selected = new ParameterDriversList(); - final List<ParameterDriver> list = tdl.getParametersDrivers().collect(Collectors.toList()); - for (final ParameterDriver driver : list) { + final List<ParameterDriver> selected = tdl.getParametersDrivers().collect(Collectors.toList()); + for (final ParameterDriver driver : selected) { driver.setSelected(true); - selected.add(driver); } - final DSFactory factoryS = new DSFactory(selected.size(), 1); DSGenerator generator = new DSGenerator() { /** {@inheritDoc} */ @Override - public ParameterDriversList getSelected() { + public List<ParameterDriver> getSelected() { return selected; } @@ -186,17 +182,14 @@ public class FixedRotationTest { for (ParameterDriver d : getSelected()) { if (d == driver) { return factoryS.variable(index, driver.getValue()); - } ++index; } return constant(driver.getValue()); - } }; - Assert.assertEquals(3, generator.getSelected().getNbParams()); - + Assert.assertEquals(3, generator.getSelected().size()); FiniteDifferencesDifferentiator differentiator = new FiniteDifferencesDifferentiator(4, 0.001); @@ -228,7 +221,6 @@ public class FixedRotationTest { Assert.assertEquals(los.getX(), losDS.getX().getValue(), 2.0e-15); Assert.assertEquals(los.getY(), losDS.getY().getValue(), 2.0e-15); Assert.assertEquals(los.getZ(), losDS.getZ().getValue(), 2.0e-15); - //System.out.format("derivate %f", losDS.getX().getPartialDerivative(orders)); Assert.assertEquals(mDS[i][0].getPartialDerivative(1), losDS.getX().getPartialDerivative(orders), 2.0e-12); Assert.assertEquals(mDS[i][1].getPartialDerivative(1), losDS.getY().getPartialDerivative(orders), 2.0e-12); Assert.assertEquals(mDS[i][2].getPartialDerivative(1), losDS.getZ().getPartialDerivative(orders), 2.0e-12); diff --git a/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java b/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java index c24a4f48..2734af05 100644 --- a/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java +++ b/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java @@ -47,7 +47,6 @@ import org.orekit.rugged.los.TimeDependentLOS; import org.orekit.rugged.utils.DSGenerator; import org.orekit.time.AbsoluteDate; import org.orekit.utils.ParameterDriver; -import org.orekit.utils.ParameterDriversList; public class PolynomialRotationTest { @@ -173,19 +172,16 @@ public class PolynomialRotationTest { 2 * FastMath.PI * rng.nextNormalizedDouble() / FastMath.sqrt(3), 1.0e-4 * 2 * FastMath.PI * rng.nextNormalizedDouble() / FastMath.sqrt(3))); TimeDependentLOS tdl = builder.build(); - final ParameterDriversList selected = new ParameterDriversList(); - final List<ParameterDriver> list = tdl.getParametersDrivers().collect(Collectors.toList()); - for (final ParameterDriver driver : list) { + final List<ParameterDriver> selected = tdl.getParametersDrivers().collect(Collectors.toList()); + for (final ParameterDriver driver : selected) { driver.setSelected(true); - selected.add(driver); } - final DSFactory factoryS = new DSFactory(selected.size(), 1); DSGenerator generator = new DSGenerator() { /** {@inheritDoc} */ @Override - public ParameterDriversList getSelected() { + public List<ParameterDriver> getSelected() { return selected; } @@ -206,19 +202,18 @@ public class PolynomialRotationTest { ++index; } return constant(driver.getValue()); - } }; - Assert.assertEquals(7, generator.getSelected().getNbParams()); + Assert.assertEquals(7, generator.getSelected().size()); FiniteDifferencesDifferentiator differentiator = new FiniteDifferencesDifferentiator(4, 0.0001); int index = 0; DSFactory factory11 = new DSFactory(1, 1); final AbsoluteDate date = AbsoluteDate.J2000_EPOCH.shiftedBy(7.0); - for (final ParameterDriver driver : selected.getDrivers()) { - int[] orders = new int[selected.getNbParams()]; + for (final ParameterDriver driver : selected) { + int[] orders = new int[selected.size()]; orders[index] = 1; UnivariateDifferentiableMatrixFunction f = differentiator.differentiate((UnivariateMatrixFunction) x -> { -- GitLab