source of highlighter
plain | download
    1 #include "matrix3x3.hpp"
    2 
    3 void tajny_algoritmus(void *r, const void *a, const void *b, long element_size, binop op_plus, binop op_krat) {
    4         int i, j, k;
    5 
    6         auto A = [a, element_size](int i, int j) {
    7                 return (void *) ((char *) a + element_size*(i*3+j));
    8         };
    9         auto B = [b, element_size](int i, int j) {
   10                 return (void *) ((char *) b + element_size*(i*3+j));
   11         };
   12         auto R = [r, element_size](int i, int j) {
   13                 return (void *) ((char *) r + element_size*(i*3+j));
   14         };
   15 
   16         char _[element_size];
   17         void *tmp = (void *) _;
   18 
   19         for (i = 0; i < 3; ++i) {
   20                 for (j = 0; j < 3; ++j) {
   21                         for (k = 0; k < 3; ++k) {
   22                                 op_krat(tmp, A(i,k), B(k,j));
   23                                 op_plus(R(i,j), R(i,j), tmp);
   24                         }
   25                 }
   26         }
   27 }