diff options
author | Jeff <complexzeros@gmail.com> | 2014-06-25 19:02:57 -0600 |
---|---|---|
committer | Jeff <complexzeros@gmail.com> | 2014-06-25 19:02:57 -0600 |
commit | 08c615f1e425d6749ef45ffcbf574e550ba02fea (patch) | |
tree | a13c685533abe6dabae2a1a0249ba1a26e3833f1 | |
parent | f9496d341f2910cc8d43567c8af01f4bb8ca18a4 (diff) |
IndexArray is now a typename.
Changed interpolate with derivatives test to use VERIFY_IS_APPROX.
-rw-r--r-- | unsupported/Eigen/src/Splines/SplineFitting.h | 10 | ||||
-rw-r--r-- | unsupported/Eigen/src/Splines/SplineFwd.h | 2 | ||||
-rw-r--r-- | unsupported/test/splines.cpp | 19 |
3 files changed, 16 insertions, 15 deletions
diff --git a/unsupported/Eigen/src/Splines/SplineFitting.h b/unsupported/Eigen/src/Splines/SplineFitting.h index 9567c69c2..85de38b25 100644 --- a/unsupported/Eigen/src/Splines/SplineFitting.h +++ b/unsupported/Eigen/src/Splines/SplineFitting.h @@ -74,7 +74,7 @@ namespace Eigen * Curve interpolation with directional constraints for engineering design. * Engineering with Computers **/ - template <typename KnotVectorType, typename ParameterVectorType> + template <typename KnotVectorType, typename ParameterVectorType, typename IndexArray> void KnotAveragingWithDerivatives(const ParameterVectorType& parameters, const unsigned int degree, const IndexArray& derivativeIndices, @@ -255,7 +255,7 @@ namespace Eigen * Curve interpolation with directional constraints for engineering design. * Engineering with Computers **/ - template <typename PointArrayType> + template <typename PointArrayType, typename IndexArray> static SplineType InterpolateWithDerivatives(const PointArrayType& points, const PointArrayType& derivatives, const IndexArray& derivativeIndices, @@ -277,7 +277,7 @@ namespace Eigen * Curve interpolation with directional constraints for engineering design. * Engineering with Computers */ - template <typename PointArrayType> + template <typename PointArrayType, typename IndexArray> static SplineType InterpolateWithDerivatives(const PointArrayType& points, const PointArrayType& derivatives, const IndexArray& derivativeIndices, @@ -327,7 +327,7 @@ namespace Eigen } template <typename SplineType> - template <typename PointArrayType> + template <typename PointArrayType, typename IndexArray> SplineType SplineFitting<SplineType>::InterpolateWithDerivatives(const PointArrayType& points, const PointArrayType& derivatives, @@ -414,7 +414,7 @@ namespace Eigen } template <typename SplineType> - template <typename PointArrayType> + template <typename PointArrayType, typename IndexArray> SplineType SplineFitting<SplineType>::InterpolateWithDerivatives(const PointArrayType& points, const PointArrayType& derivatives, diff --git a/unsupported/Eigen/src/Splines/SplineFwd.h b/unsupported/Eigen/src/Splines/SplineFwd.h index ec3dc0ff5..0a95fbf3e 100644 --- a/unsupported/Eigen/src/Splines/SplineFwd.h +++ b/unsupported/Eigen/src/Splines/SplineFwd.h @@ -88,8 +88,6 @@ namespace Eigen /** \brief 3D double B-spline with dynamic degree. */ typedef Spline<double,3> Spline3d; - - typedef Array<DenseIndex, 1, Dynamic> IndexArray; } #endif // EIGEN_SPLINES_FWD_H diff --git a/unsupported/test/splines.cpp b/unsupported/test/splines.cpp index ece23953a..0b43eefb8 100644 --- a/unsupported/test/splines.cpp +++ b/unsupported/test/splines.cpp @@ -249,7 +249,7 @@ void check_global_interpolation_with_derivatives2d() Eigen::ChordLengths(points, knots); ArrayXXd derivatives = ArrayXXd::Random(dimension, numPoints); - Eigen::IndexArray derivativeIndices(numPoints); + VectorXd derivativeIndices(numPoints); for (Eigen::DenseIndex i = 0; i < numPoints; ++i) derivativeIndices(i) = i; @@ -261,18 +261,21 @@ void check_global_interpolation_with_derivatives2d() { PointType point = spline(knots(i)); PointType referencePoint = points.col(i); - VERIFY((point - referencePoint).matrix().norm() < 1e-10); + VERIFY_IS_APPROX(point, referencePoint); PointType derivative = spline.derivatives(knots(i), 1).col(1); PointType referenceDerivative = derivatives.col(i); - VERIFY((derivative - referenceDerivative).matrix().norm() < 1e-10); + VERIFY_IS_APPROX(derivative, referenceDerivative); } } void test_splines() { - CALL_SUBTEST( eval_spline3d() ); - CALL_SUBTEST( eval_spline3d_onbrks() ); - CALL_SUBTEST( eval_closed_spline2d() ); - CALL_SUBTEST( check_global_interpolation2d() ); - CALL_SUBTEST( check_global_interpolation_with_derivatives2d() ); + for (int i = 0; i < g_repeat; ++i) + { + CALL_SUBTEST( eval_spline3d() ); + CALL_SUBTEST( eval_spline3d_onbrks() ); + CALL_SUBTEST( eval_closed_spline2d() ); + CALL_SUBTEST( check_global_interpolation2d() ); + CALL_SUBTEST( check_global_interpolation_with_derivatives2d() ); + } } |