Add function definitions for function calls involving intermediate Fastor types#162
Conversation
|
cc @niermann999 for review. This mostly is in response to what we discussed in detray PR #963. I've added definitions for intermediate Fastor types for Ideally though I should add these function definitions for all the functions, I think. What are your thoughts on the matter? |
|
As for the tests, I've only enabled them for Fastor at the moment, because when I tried to enable it globally (for Eigen_generic, Vc_generic, and cmath_generic), it was failing for those backends. I don't think it should be failing, but that can be addressed (if needed) in a follow-up PR. |
How exactly were the tests failing? Did they fail to compile or fail to run? |
Yes, if this works, I think it should be done for all functions. Also, is it possible to remove the overloads using Fastor tensors? |
They failed to compile. Some concept wasn't being satisfied, so it couldn't find a suitable function template to use.
Okay. I'll add them in.
I was already looking into it. The bad news is that it's not possible to remove all overloads, but the good news is that most of them should be safe to remove. It's not possible to remove all of them because Fastor is very particular about Tensor shape. In particular, it does not allow an inner product between This is obviously used in certain places, and definitely tested for in the test suite. So I need to keep the overload in place that casts a |
|
I've rewritten the The set of overloads for For both
|
|
Also, in order to support the intermediate types, I had to remove the |
|
@niermann999 This PR is ready for review now. |
|



No description provided.