diff --git a/Eigen/src/Core/Matrix.h b/Eigen/src/Core/Matrix.h index ce0e4e6a2..c11a994a8 100644 --- a/Eigen/src/Core/Matrix.h +++ b/Eigen/src/Core/Matrix.h @@ -30,7 +30,7 @@ struct traits> { actual_alignment = ((Options_ & DontAlign) == 0) ? default_alignment : 0, required_alignment = unpacket_traits::alignment, packet_access_bit = (packet_traits::Vectorizable && - (EIGEN_UNALIGNED_VECTORIZE || (actual_alignment >= required_alignment))) + (EIGEN_UNALIGNED_VECTORIZE || (int(actual_alignment) >= int(required_alignment)))) ? PacketAccessBit : 0 }; @@ -48,7 +48,7 @@ struct traits> { Flags = compute_matrix_flags(Options_), Options = Options_, InnerStrideAtCompileTime = 1, - OuterStrideAtCompileTime = (Options & RowMajor) ? ColsAtCompileTime : RowsAtCompileTime, + OuterStrideAtCompileTime = (int(Options) & int(RowMajor)) ? ColsAtCompileTime : RowsAtCompileTime, // FIXME, the following flag in only used to define NeedsToAlign in PlainObjectBase EvaluatorFlags = LinearAccessBit | DirectAccessBit | packet_access_bit | row_major_bit, diff --git a/Eigen/src/Core/TriangularMatrix.h b/Eigen/src/Core/TriangularMatrix.h index afdb2425f..2b1683be9 100644 --- a/Eigen/src/Core/TriangularMatrix.h +++ b/Eigen/src/Core/TriangularMatrix.h @@ -184,7 +184,8 @@ class TriangularView enum { Mode = Mode_, Flags = internal::traits::Flags, - TransposeMode = (Mode & Upper ? Lower : 0) | (Mode & Lower ? Upper : 0) | (Mode & (UnitDiag)) | (Mode & (ZeroDiag)), + TransposeMode = (int(Mode) & int(Upper) ? Lower : 0) | (int(Mode) & int(Lower) ? Upper : 0) | + (int(Mode) & int(UnitDiag)) | (int(Mode) & int(ZeroDiag)), IsVectorAtCompileTime = false }; diff --git a/Eigen/src/Core/util/XprHelper.h b/Eigen/src/Core/util/XprHelper.h index 5b7bdc077..555faa1cc 100644 --- a/Eigen/src/Core/util/XprHelper.h +++ b/Eigen/src/Core/util/XprHelper.h @@ -484,7 +484,7 @@ struct nested_eval { // solution could be to count the number of temps? NAsInteger = n == Dynamic ? HugeCost : n, CostEval = (NAsInteger + 1) * ScalarReadCost + CoeffReadCost, - CostNoEval = NAsInteger * CoeffReadCost, + CostNoEval = int(NAsInteger) * int(CoeffReadCost), Evaluate = (int(evaluator::Flags) & EvalBeforeNestingBit) || (int(CostEval) < int(CostNoEval)) }; diff --git a/Eigen/src/SparseCore/SparseSelfAdjointView.h b/Eigen/src/SparseCore/SparseSelfAdjointView.h index 129899c45..2f087c9c4 100644 --- a/Eigen/src/SparseCore/SparseSelfAdjointView.h +++ b/Eigen/src/SparseCore/SparseSelfAdjointView.h @@ -53,7 +53,7 @@ class SparseSelfAdjointView : public EigenBase::RowsAtCompileTime, ColsAtCompileTime = internal::traits::ColsAtCompileTime };