Conversation
|
One design decision here is how strongly typed to make these interfaces. If you do something like the following, you can eliminate a class of mistakes by compile-time errors. The downside is that raw access to arrays is harder. typedef struct {
CeedScalar values[3][3];
} Mat3x3;
typedef struct {
CeedScalar values[6];
} Mat3x3KelvinMandel;In C++, you can make types like this that also overload the |
1443435 to
191453f
Compare
191453f to
31ab327
Compare
|
I've added quite a few Vector and matrix related tools in my SGS branch (this commit specifically: 1f559ec). Most of the matrix ones are built with a size-agnostic function, with a wrapper to get the function signature in a more user-friendly format. I figure that the compiler should be able to do all the loop unrolling it wants, especially since the size of the loops are known at runtime. Would we be interested in taking a similar strategy here? |
6f5258f to
0cff132
Compare
0cff132 to
582b693
Compare
582b693 to
e57d8a7
Compare
e57d8a7 to
ed555ec
Compare
4cad39f to
240ecfb
Compare
240ecfb to
fceb3b9
Compare
We can start adding helper functions we want to install on this branch.
We should make sure any helper function we add is used somewhere.
I think we need to find a balance between having a large number of files and a large number of unused function warnings.