On Sep 9, 2013, at 8:57 PM, Jed Brown <jedbr...@mcs.anl.gov> wrote: > Barry Smith <bsm...@mcs.anl.gov> writes: >> Take a look at MatCreate_SeqAIJ. These fill up all the function >> points in one swoop with the big function table, this is why there >> is not "base class setup". > > Those MatOps_Values are a perpetual maintenance hassle. I would replace > them all with a boring list of assignment statements for any implemented > functions, as in MatCreate_Nest.
Someone broke all your fingers :-) > Then we wouldn't need any "dummy" > entries, the order wouldn't matter, etc. > > If Microsoft would implement C99, we could use designated initializers: > > static struct _MatOps MatOps_Values = { > .setvalues = MatSetValues_SeqAIJ, > .mult = MatMult_SeqAIJ, > ..... > };