You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using Matrix::row with scalars, it works fine. However, using it with a packet, gather produces a compiler error.
Code to reproduce the problem:
using FloatP = enoki::Array<float, 4>;
using Matrix = enoki::Matrix<FloatP, 3>;
spdlog::info("Matrix=\n{}.", matrix.row(0));
Compiler output:
.../ext/enoki/include/enoki/array_router.h:1106:31: error: static assertion failed: gather(): don't know what to do with the input arguments!
1106 | static_assert(detail::false_v<Array>, "gather(): don't know what to do with the input arguments!");
I looked through the Enoki codebase, and it seems that the code crashes in a recursive call to array_router.h:gather(), but I am unsure where to go from here.
I am willing to submit a pull request if somebody can point in the right direction? Alternatively, in case it is not planned to change the Matrix::row code in the upstream, or that I am doing something wrong, I am still interested in how this gather call might be performed correctly?
The text was updated successfully, but these errors were encountered:
IIRC enoki::Matrix is implemented in a way that expects the Value type to be a scalar or a dynamic array (e.g. DynamicArray<FloatP>). You should consider FloatP as an intermediate type which should rarely be used on its own.
In your case, the gather routine isn't implemented on Packet types. Could you use enoki::Matrix<FloatX, 3> instead?
When using
Matrix::row
with scalars, it works fine. However, using it with a packet,gather
produces a compiler error.Code to reproduce the problem:
Compiler output:
I looked through the Enoki codebase, and it seems that the code crashes in a recursive call to
array_router.h:gather()
, but I am unsure where to go from here.I am willing to submit a pull request if somebody can point in the right direction? Alternatively, in case it is not planned to change the
Matrix::row
code in the upstream, or that I am doing something wrong, I am still interested in how this gather call might be performed correctly?The text was updated successfully, but these errors were encountered: