aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Jeff <complexzeros@gmail.com>2014-06-25 19:02:57 -0600
committerGravatar Jeff <complexzeros@gmail.com>2014-06-25 19:02:57 -0600
commit08c615f1e425d6749ef45ffcbf574e550ba02fea (patch)
treea13c685533abe6dabae2a1a0249ba1a26e3833f1
parentf9496d341f2910cc8d43567c8af01f4bb8ca18a4 (diff)
IndexArray is now a typename.
Changed interpolate with derivatives test to use VERIFY_IS_APPROX.
-rw-r--r--unsupported/Eigen/src/Splines/SplineFitting.h10
-rw-r--r--unsupported/Eigen/src/Splines/SplineFwd.h2
-rw-r--r--unsupported/test/splines.cpp19
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() );
+ }
}