user189035
user189035

Reputation: 5789

strange behavior of eigen::select()

in eigen, the construct:

(R.array() < s).select(P,Q); 

works when either one or both of P,Q are vectors (of the same length as R). But as soon as both of them are scalars, I get a compilation error.

My question is; is the behavior of select in the presence of two scalars a way for eigen to warn me that there are more efficient constructs? If so, what are they?

Upvotes: 1

Views: 1658

Answers (2)

Gavin Gao
Gavin Gao

Reputation: 377

Please ref the definition of select() in Eigen: http://eigen.tuxfamily.org/dox/classEigen_1_1DenseBase.html#a65e78cfcbc9852e6923bebff4323ddca

enter image description here

Upvotes: 0

ggael
ggael

Reputation: 29205

You can workaround by using VectorXd::Constant(size,value) for one argument.

Upvotes: 6

Related Questions