fix a dozen of warnings with MSVC, and get rid of some useless throw()

This commit is contained in:
Gael Guennebaud 2012-02-06 15:57:51 +01:00
parent 6ad48c5d92
commit 99c694623a
6 changed files with 20 additions and 26 deletions

View File

@ -177,10 +177,8 @@ template<int Side, typename OtherDerived>
void TriangularView<MatrixType,Mode>::solveInPlace(const MatrixBase<OtherDerived>& _other) const void TriangularView<MatrixType,Mode>::solveInPlace(const MatrixBase<OtherDerived>& _other) const
{ {
OtherDerived& other = _other.const_cast_derived(); OtherDerived& other = _other.const_cast_derived();
eigen_assert(cols() == rows()); eigen_assert( cols() == rows() && ((Side==OnTheLeft && cols() == other.rows()) || (Side==OnTheRight && cols() == other.cols())) );
eigen_assert( (Side==OnTheLeft && cols() == other.rows()) || (Side==OnTheRight && cols() == other.cols()) ); eigen_assert((!(Mode & ZeroDiag)) && bool(Mode & (Upper|Lower)));
eigen_assert(!(Mode & ZeroDiag));
eigen_assert(Mode & (Upper|Lower));
enum { copy = internal::traits<OtherDerived>::Flags & RowMajorBit && OtherDerived::IsVectorAtCompileTime }; enum { copy = internal::traits<OtherDerived>::Flags & RowMajorBit && OtherDerived::IsVectorAtCompileTime };
typedef typename internal::conditional<copy, typedef typename internal::conditional<copy,

View File

@ -640,7 +640,7 @@ template<typename T> class aligned_stack_memory_handler
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(true) #define EIGEN_MAKE_ALIGNED_OPERATOR_NEW EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(true)
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(Scalar,Size) \ #define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(Scalar,Size) \
EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(((Size)!=Eigen::Dynamic) && ((sizeof(Scalar)*(Size))%16==0)) EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(bool(((Size)!=Eigen::Dynamic) && ((sizeof(Scalar)*(Size))%16==0)))
/****************************************************************************/ /****************************************************************************/
@ -688,24 +688,24 @@ public:
return &value; return &value;
} }
aligned_allocator() throw( ) aligned_allocator()
{ {
} }
aligned_allocator( const aligned_allocator& ) throw( ) aligned_allocator( const aligned_allocator& )
{ {
} }
template<class U> template<class U>
aligned_allocator( const aligned_allocator<U>& ) throw( ) aligned_allocator( const aligned_allocator<U>& )
{ {
} }
~aligned_allocator() throw( ) ~aligned_allocator()
{ {
} }
size_type max_size() const throw( ) size_type max_size() const
{ {
return (std::numeric_limits<size_type>::max)(); return (std::numeric_limits<size_type>::max)();
} }

View File

@ -56,7 +56,7 @@ namespace internal {
template< int Arch,typename VectorLhs,typename VectorRhs, template< int Arch,typename VectorLhs,typename VectorRhs,
typename Scalar = typename VectorLhs::Scalar, typename Scalar = typename VectorLhs::Scalar,
bool Vectorizable = (VectorLhs::Flags&VectorRhs::Flags)&PacketAccessBit> bool Vectorizable = bool((VectorLhs::Flags&VectorRhs::Flags)&PacketAccessBit)>
struct cross3_impl { struct cross3_impl {
static inline typename internal::plain_matrix_type<VectorLhs>::type static inline typename internal::plain_matrix_type<VectorLhs>::type
run(const VectorLhs& lhs, const VectorRhs& rhs) run(const VectorLhs& lhs, const VectorRhs& rhs)

View File

@ -153,12 +153,12 @@ class SparseInnerVectorSet<SparseMatrix<_Scalar, _Options, _Index>, Size>
SparseMatrix<Scalar, IsRowMajor ? RowMajor : ColMajor, Index> tmp(other); SparseMatrix<Scalar, IsRowMajor ? RowMajor : ColMajor, Index> tmp(other);
// 2 - let's check whether there is enough allocated memory // 2 - let's check whether there is enough allocated memory
Index nnz = tmp.nonZeros(); Index nnz = tmp.nonZeros();
Index nnz_previous = nonZeros(); Index nnz_previous = nonZeros();
Index free_size = matrix.data().allocatedSize() + nnz_previous; Index free_size = Index(matrix.data().allocatedSize()) + nnz_previous;
std::size_t nnz_head = m_outerStart==0 ? 0 : matrix.outerIndexPtr()[m_outerStart]; Index nnz_head = m_outerStart==0 ? 0 : matrix.outerIndexPtr()[m_outerStart];
std::size_t tail = m_matrix.outerIndexPtr()[m_outerStart+m_outerSize.value()]; Index tail = m_matrix.outerIndexPtr()[m_outerStart+m_outerSize.value()];
std::size_t nnz_tail = matrix.nonZeros() - tail; Index nnz_tail = matrix.nonZeros() - tail;
if(nnz>free_size) if(nnz>free_size)
{ {

View File

@ -160,7 +160,7 @@ class SparseVector
Scalar& insert(Index i) Scalar& insert(Index i)
{ {
Index startId = 0; Index startId = 0;
Index p = m_data.size() - 1; Index p = Index(m_data.size()) - 1;
// TODO smart realloc // TODO smart realloc
m_data.resize(p+2,1); m_data.resize(p+2,1);

View File

@ -177,10 +177,8 @@ template<typename ExpressionType,int Mode>
template<typename OtherDerived> template<typename OtherDerived>
void SparseTriangularView<ExpressionType,Mode>::solveInPlace(MatrixBase<OtherDerived>& other) const void SparseTriangularView<ExpressionType,Mode>::solveInPlace(MatrixBase<OtherDerived>& other) const
{ {
eigen_assert(m_matrix.cols() == m_matrix.rows()); eigen_assert(m_matrix.cols() == m_matrix.rows() && m_matrix.cols() == other.rows());
eigen_assert(m_matrix.cols() == other.rows()); eigen_assert((!(Mode & ZeroDiag)) && bool(Mode & (Upper|Lower)));
eigen_assert(!(Mode & ZeroDiag));
eigen_assert(Mode & (Upper|Lower));
enum { copy = internal::traits<OtherDerived>::Flags & RowMajorBit }; enum { copy = internal::traits<OtherDerived>::Flags & RowMajorBit };
@ -304,10 +302,8 @@ template<typename ExpressionType,int Mode>
template<typename OtherDerived> template<typename OtherDerived>
void SparseTriangularView<ExpressionType,Mode>::solveInPlace(SparseMatrixBase<OtherDerived>& other) const void SparseTriangularView<ExpressionType,Mode>::solveInPlace(SparseMatrixBase<OtherDerived>& other) const
{ {
eigen_assert(m_matrix.cols() == m_matrix.rows()); eigen_assert(m_matrix.cols() == m_matrix.rows() && m_matrix.cols() == other.rows());
eigen_assert(m_matrix.cols() == other.rows()); eigen_assert( (!(Mode & ZeroDiag)) && bool(Mode & (Upper|Lower)));
eigen_assert(!(Mode & ZeroDiag));
eigen_assert(Mode & (Upper|Lower));
// enum { copy = internal::traits<OtherDerived>::Flags & RowMajorBit }; // enum { copy = internal::traits<OtherDerived>::Flags & RowMajorBit };