Fix unrolled assignment evaluator
Reference issue
What does this implement/fix?
Small fixed size arrays and matrices utilize a specialized unrolled evaluation loop for assignment ops, e.g. A = B.cwiseAbs2()
. Currently, the unrolled loop will always use the 2d interface coeff(row,col)
and packet(row,col)
instead of the linear interface coeff(index)
and packet(index)
, even if linear access is requested. This is probably not an issue for most cases but could lead to unpredictable data access patterns. At the very least, it was creating confusing debugging scenarios for this contributor.
This patch adds an analogous unrolling strategy that uses the linear access coeff
and packet
functions. Changed a few template parameter names that were identical to a local typedef.
Additional information
Edited by Charles Schlosser