Hello,
I noticed that your matrix structure uses anonymous structs in order to access data by index, or through member names, I am currently searching for the best way to make a similar C structure, but discovered that this method relies on gnu extensions, or C11. Were you already aware of this? Do you have any thoughts on how it can be avoided? I am currently leaning towards simple float arrays for all vector inputs.