Skip to content

SparseMatrix index type of short int fails to compile

Submitted by Roy Stogner

Assigned to Nobody

Link to original bugzilla bug (#605)

Description

Constructing a Eigen::SparseMatrix<Real, Eigen::RowMajor, short> and then attempting to call diagonal() on the result fails:

/opt/apps/ossw/libraries/eigen/eigen-3.1.3/include/eigen3/Eigen/src/Core/Diagonal.h:77: error: call of overloaded 'min(short int, int)' is ambiguous

The arithmetic on rows()+/-value() at that line promotes the results from short to int, which is then (on a typical system) different from and not std::min comparable with short.

The same error appears to exist in 3.1.91 (mercurial changeset e0566a81), the newest version I could find, at line 78.

Blocking

#387 (closed)

Edited by Eigen Bugzilla