Hi Frank,
Jed likes static inline functions as he said. I assume this is dispatched with a switch statement.
I would probably just use the model used for MatMult in BAIJ. See src/mat/impls/baij/seq/baij.c. This just sets the matmult function to point to specialized functions.
So I'd look where BAIJ sets ops->multadd and do the same for matsetvaluesblocked. This would be called in src/mat/interface.
I see this was already done for block size 4 from Fortran (matsetvaluesblocked4). That might be a good place to start.
Others might have better ideas. I did not write any of this code.
Thanks,
Mark