mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Initial fixes for bug #85.
Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const.
Changed boolean type 'ret' member to 'value'.
Changed 'ret' members refering to types to 'type'.
Adapted all code occurences.
This commit is contained in:
@@ -41,7 +41,7 @@ template<typename MatrixType> void adjoint(const MatrixType& m)
|
||||
Index cols = m.cols();
|
||||
|
||||
RealScalar largerEps = test_precision<RealScalar>();
|
||||
if (internal::is_same_type<RealScalar,float>::ret)
|
||||
if (internal::is_same<RealScalar,float>::value)
|
||||
largerEps = RealScalar(1e-3f);
|
||||
|
||||
MatrixType m1 = MatrixType::Random(rows, cols),
|
||||
|
||||
@@ -206,11 +206,11 @@ void test_array()
|
||||
CALL_SUBTEST_5( array_real(ArrayXXf(8, 12)) );
|
||||
}
|
||||
|
||||
VERIFY((internal::is_same_type< internal::global_math_functions_filtering_base<int>::type, int >::ret));
|
||||
VERIFY((internal::is_same_type< internal::global_math_functions_filtering_base<float>::type, float >::ret));
|
||||
VERIFY((internal::is_same_type< internal::global_math_functions_filtering_base<Array2i>::type, ArrayBase<Array2i> >::ret));
|
||||
VERIFY((internal::is_same< internal::global_math_functions_filtering_base<int>::type, int >::value));
|
||||
VERIFY((internal::is_same< internal::global_math_functions_filtering_base<float>::type, float >::value));
|
||||
VERIFY((internal::is_same< internal::global_math_functions_filtering_base<Array2i>::type, ArrayBase<Array2i> >::value));
|
||||
typedef CwiseUnaryOp<internal::scalar_sum_op<double>, ArrayXd > Xpr;
|
||||
VERIFY((internal::is_same_type< internal::global_math_functions_filtering_base<Xpr>::type,
|
||||
VERIFY((internal::is_same< internal::global_math_functions_filtering_base<Xpr>::type,
|
||||
ArrayBase<Xpr>
|
||||
>::ret));
|
||||
>::value));
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ template<typename MatrixType> void cholesky(const MatrixType& m)
|
||||
//symm.template part<StrictlyLower>().setZero();
|
||||
|
||||
#ifdef HAS_GSL
|
||||
// if (internal::is_same_type<RealScalar,double>::ret)
|
||||
// if (internal::is_same<RealScalar,double>::value)
|
||||
// {
|
||||
// typedef GslTraits<Scalar> Gsl;
|
||||
// typename Gsl::Matrix gMatA=0, gSymm=0;
|
||||
|
||||
@@ -63,7 +63,7 @@ template<typename MatrixType> void selfadjointeigensolver(const MatrixType& m)
|
||||
GeneralizedSelfAdjointEigenSolver<MatrixType> eiSymmGen(symmA, symmB);
|
||||
|
||||
#ifdef HAS_GSL
|
||||
if (internal::is_same_type<RealScalar,double>::ret)
|
||||
if (internal::is_same<RealScalar,double>::value)
|
||||
{
|
||||
// restore symmA and symmB.
|
||||
symmA = MatrixType(symmA.template selfadjointView<Lower>());
|
||||
|
||||
@@ -42,7 +42,7 @@ template<typename Scalar,int Size> void homogeneous(void)
|
||||
typedef Matrix<Scalar,Size+1,Size> T3MatrixType;
|
||||
|
||||
Scalar largeEps = test_precision<Scalar>();
|
||||
if (internal::is_same_type<Scalar,float>::ret)
|
||||
if (internal::is_same<Scalar,float>::value)
|
||||
largeEps = 1e-3f;
|
||||
|
||||
VectorType v0 = VectorType::Random(),
|
||||
|
||||
@@ -40,7 +40,7 @@ template<typename Scalar> void quaternion(void)
|
||||
typedef AngleAxis<Scalar> AngleAxisx;
|
||||
|
||||
Scalar largeEps = test_precision<Scalar>();
|
||||
if (internal::is_same_type<Scalar,float>::ret)
|
||||
if (internal::is_same<Scalar,float>::value)
|
||||
largeEps = 1e-3f;
|
||||
|
||||
Scalar eps = internal::random<Scalar>() * Scalar(1e-2);
|
||||
@@ -96,7 +96,7 @@ template<typename Scalar> void quaternion(void)
|
||||
VERIFY_IS_APPROX( v2.normalized(),(q2.setFromTwoVectors(v1, v2)*v1).normalized());
|
||||
VERIFY_IS_APPROX( v1.normalized(),(q2.setFromTwoVectors(v1, v1)*v1).normalized());
|
||||
VERIFY_IS_APPROX(-v1.normalized(),(q2.setFromTwoVectors(v1,-v1)*v1).normalized());
|
||||
if (internal::is_same_type<Scalar,double>::ret)
|
||||
if (internal::is_same<Scalar,double>::value)
|
||||
{
|
||||
v3 = (v1.array()+eps).matrix();
|
||||
VERIFY_IS_APPROX( v3.normalized(),(q2.setFromTwoVectors(v1, v3)*v1).normalized());
|
||||
|
||||
@@ -51,7 +51,7 @@ template<typename Scalar, int Mode> void non_projective_only(void)
|
||||
typedef Translation<Scalar,3> Translation3;
|
||||
|
||||
Scalar largeEps = test_precision<Scalar>();
|
||||
if (internal::is_same_type<Scalar,float>::ret)
|
||||
if (internal::is_same<Scalar,float>::value)
|
||||
largeEps = 1e-2f;
|
||||
|
||||
Vector3 v0 = Vector3::Random(),
|
||||
@@ -126,7 +126,7 @@ template<typename Scalar, int Mode> void transformations(void)
|
||||
typedef Translation<Scalar,3> Translation3;
|
||||
|
||||
Scalar largeEps = test_precision<Scalar>();
|
||||
if (internal::is_same_type<Scalar,float>::ret)
|
||||
if (internal::is_same<Scalar,float>::value)
|
||||
largeEps = 1e-2f;
|
||||
|
||||
Vector3 v0 = Vector3::Random(),
|
||||
|
||||
@@ -29,30 +29,30 @@ void test_meta()
|
||||
typedef float & FloatRef;
|
||||
typedef const float & ConstFloatRef;
|
||||
|
||||
VERIFY((internal::meta_if<(3<4),internal::meta_true, internal::meta_false>::ret::ret));
|
||||
VERIFY(( internal::is_same_type<float,float>::ret));
|
||||
VERIFY((!internal::is_same_type<float,double>::ret));
|
||||
VERIFY((!internal::is_same_type<float,float&>::ret));
|
||||
VERIFY((!internal::is_same_type<float,const float&>::ret));
|
||||
VERIFY((internal::conditional<(3<4),internal::true_type, internal::false_type>::type::value));
|
||||
VERIFY(( internal::is_same<float,float>::value));
|
||||
VERIFY((!internal::is_same<float,double>::value));
|
||||
VERIFY((!internal::is_same<float,float&>::value));
|
||||
VERIFY((!internal::is_same<float,const float&>::value));
|
||||
|
||||
VERIFY(( internal::is_same_type<float,internal::cleantype<const float&>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<float,internal::cleantype<const float*>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<float,internal::cleantype<const float*&>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<float,internal::cleantype<float**>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<float,internal::cleantype<float**&>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<float,internal::cleantype<float* const *&>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<float,internal::cleantype<float* const>::type >::ret));
|
||||
VERIFY(( internal::is_same<float,internal::cleantype<const float&>::type >::value));
|
||||
VERIFY(( internal::is_same<float,internal::cleantype<const float*>::type >::value));
|
||||
VERIFY(( internal::is_same<float,internal::cleantype<const float*&>::type >::value));
|
||||
VERIFY(( internal::is_same<float,internal::cleantype<float**>::type >::value));
|
||||
VERIFY(( internal::is_same<float,internal::cleantype<float**&>::type >::value));
|
||||
VERIFY(( internal::is_same<float,internal::cleantype<float* const *&>::type >::value));
|
||||
VERIFY(( internal::is_same<float,internal::cleantype<float* const>::type >::value));
|
||||
|
||||
VERIFY(( internal::is_same_type<float*,internal::unconst<const float*>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<float&,internal::unconst<const float&>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<float&,internal::unconst<ConstFloatRef>::type >::ret));
|
||||
VERIFY(( internal::is_same<float*,internal::remove_const<const float*>::type >::value));
|
||||
VERIFY(( internal::is_same<float&,internal::remove_const<const float&>::type >::value));
|
||||
VERIFY(( internal::is_same<float&,internal::remove_const<ConstFloatRef>::type >::value));
|
||||
|
||||
VERIFY(( internal::is_same_type<float&,internal::unconst<float&>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<float,internal::unref<float&>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<const float,internal::unref<const float&>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<float,internal::unpointer<float*>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<const float,internal::unpointer<const float*>::type >::ret));
|
||||
VERIFY(( internal::is_same_type<float,internal::unpointer<float* const >::type >::ret));
|
||||
VERIFY(( internal::is_same<float&,internal::remove_const<float&>::type >::value));
|
||||
VERIFY(( internal::is_same<float,internal::remove_reference<float&>::type >::value));
|
||||
VERIFY(( internal::is_same<const float,internal::remove_reference<const float&>::type >::value));
|
||||
VERIFY(( internal::is_same<float,internal::remove_pointer<float*>::type >::value));
|
||||
VERIFY(( internal::is_same<const float,internal::remove_pointer<const float*>::type >::value));
|
||||
VERIFY(( internal::is_same<float,internal::remove_pointer<float* const >::type >::value));
|
||||
|
||||
VERIFY(internal::meta_sqrt<1>::ret == 1);
|
||||
#define VERIFY_META_SQRT(X) VERIFY(internal::meta_sqrt<X>::ret == int(internal::sqrt(double(X))))
|
||||
|
||||
@@ -167,7 +167,7 @@ template<typename Scalar> void packetmath()
|
||||
CHECK_CWISE2(REF_SUB, internal::psub);
|
||||
CHECK_CWISE2(REF_MUL, internal::pmul);
|
||||
#ifndef EIGEN_VECTORIZE_ALTIVEC
|
||||
if (!internal::is_same_type<Scalar,int>::ret)
|
||||
if (!internal::is_same<Scalar,int>::value)
|
||||
CHECK_CWISE2(REF_DIV, internal::pdiv);
|
||||
#endif
|
||||
CHECK_CWISE1(internal::negate, internal::pnegate);
|
||||
|
||||
@@ -76,7 +76,7 @@ template<typename MatrixType> void qr_invertible()
|
||||
MatrixType m1(size, size), m2(size, size), m3(size, size);
|
||||
m1 = MatrixType::Random(size,size);
|
||||
|
||||
if (internal::is_same_type<RealScalar,float>::ret)
|
||||
if (internal::is_same<RealScalar,float>::value)
|
||||
{
|
||||
// let's build a matrix more stable to inverse
|
||||
MatrixType a = MatrixType::Random(size,size*2);
|
||||
|
||||
@@ -95,7 +95,7 @@ template<typename MatrixType> void qr_invertible()
|
||||
MatrixType m1(size, size), m2(size, size), m3(size, size);
|
||||
m1 = MatrixType::Random(size,size);
|
||||
|
||||
if (internal::is_same_type<RealScalar,float>::ret)
|
||||
if (internal::is_same<RealScalar,float>::value)
|
||||
{
|
||||
// let's build a matrix more stable to inverse
|
||||
MatrixType a = MatrixType::Random(size,size*2);
|
||||
|
||||
@@ -74,7 +74,7 @@ template<typename MatrixType> void qr_invertible()
|
||||
MatrixType m1(size, size), m2(size, size), m3(size, size);
|
||||
m1 = MatrixType::Random(size,size);
|
||||
|
||||
if (internal::is_same_type<RealScalar,float>::ret)
|
||||
if (internal::is_same<RealScalar,float>::value)
|
||||
{
|
||||
// let's build a matrix more stable to inverse
|
||||
MatrixType a = MatrixType::Random(size,size*2);
|
||||
|
||||
@@ -54,7 +54,7 @@ template<typename SparseMatrixType> void sparse_basic(const SparseMatrixType& re
|
||||
for (int i=0; i<(int)zeroCoords.size(); ++i)
|
||||
{
|
||||
VERIFY_IS_MUCH_SMALLER_THAN( m.coeff(zeroCoords[i].x(),zeroCoords[i].y()), eps );
|
||||
if(internal::is_same_type<SparseMatrixType,SparseMatrix<Scalar,Flags> >::ret)
|
||||
if(internal::is_same<SparseMatrixType,SparseMatrix<Scalar,Flags> >::value)
|
||||
VERIFY_RAISES_ASSERT( m.coeffRef(zeroCoords[0].x(),zeroCoords[0].y()) = 5 );
|
||||
}
|
||||
VERIFY_IS_APPROX(m, refMat);
|
||||
|
||||
@@ -42,7 +42,7 @@ template<typename MatrixType> void swap(const MatrixType& m)
|
||||
typedef typename other_matrix_type<MatrixType>::type OtherMatrixType;
|
||||
typedef typename MatrixType::Scalar Scalar;
|
||||
|
||||
eigen_assert((!internal::is_same_type<MatrixType,OtherMatrixType>::ret));
|
||||
eigen_assert((!internal::is_same<MatrixType,OtherMatrixType>::value));
|
||||
typename MatrixType::Index rows = m.rows();
|
||||
typename MatrixType::Index cols = m.cols();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user