Compare commits

...

2 Commits

Author SHA1 Message Date
Eric Cousineau 964de932bf
Merge d222055544 into 66c3774a64 2024-08-28 22:08:04 -07:00
Jeremy Nimmer d222055544 [eigen] Obey noconvert() in Eigen::Sparse type type caster (#69) 2023-11-11 15:45:31 -05:00
1 changed files with 4 additions and 1 deletions

View File

@ -650,7 +650,7 @@ struct type_caster<Type, enable_if_t<is_eigen_sparse<Type>::value>> {
using Index = typename Type::Index;
static constexpr bool rowMajor = Type::IsRowMajor;
bool load(handle src, bool) {
bool load(handle src, bool convert) {
if (!src) {
return false;
}
@ -660,6 +660,9 @@ struct type_caster<Type, enable_if_t<is_eigen_sparse<Type>::value>> {
object matrix_type = sparse_module.attr(rowMajor ? "csr_matrix" : "csc_matrix");
if (!type::handle_of(obj).is(matrix_type)) {
if (!convert) {
return false;
}
try {
obj = matrix_type(obj);
} catch (const error_already_set &) {