8#include <kernel/shape.hpp> 
    9#include <kernel/util/math.hpp> 
   10#include <kernel/util/tiny_algebra.hpp> 
   26      template<
typename Shape_>
 
   28      class CongruencyTrafo;
 
   45        template<
typename DataType_, 
int sm_, 
int sn_, 
int sl_>
 
   46        static void compute(Tiny::Matrix<DataType_, m, n, sm_, sn_>& a, Tiny::Vector<DataType_, n, sl_>& b, 
int orient);
 
   54      class CongruencyTrafo<Shape::Simplex<1>>
 
   57        template<
typename DataType_, 
int sm_, 
int sn_, 
int sl_>
 
   58        static void compute(Tiny::Matrix<DataType_, 1, 1, sm_, sn_>& a, Tiny::Vector<DataType_, 1, sl_>& b, 
int orient)
 
   64            b(
Index(0)) =  DataType_(0);
 
   68            b(
Index(0)) = +DataType_(1);
 
   78      class CongruencyTrafo<Shape::Simplex<2>>
 
   81        template<
typename DataType_, 
int sm_, 
int sn_, 
int sl_>
 
   82        static void compute(Tiny::Matrix<DataType_, 2, 2, sm_, sn_>& a, Tiny::Vector<DataType_, 2, sl_>& b, 
int orient)
 
   91            b(
Index(0)) =  DataType_(0);
 
   92            b(
Index(1)) =  DataType_(0);
 
   99            b(
Index(0)) = +DataType_(1);
 
  100            b(
Index(1)) =  DataType_(0);
 
  107            b(
Index(0)) =  DataType_(0);
 
  108            b(
Index(1)) = +DataType_(1);
 
  115            b(
Index(0)) =  DataType_(0);
 
  116            b(
Index(1)) =  DataType_(0);
 
  123            b(
Index(0)) = +DataType_(1);
 
  124            b(
Index(1)) =  DataType_(0);
 
  131            b(
Index(0)) =  DataType_(0);
 
  132            b(
Index(1)) = +DataType_(1);
 
  142      class CongruencyTrafo<Shape::Hypercube<1>>
 
  145        template<
typename DataType_, 
int sm_, 
int sn_, 
int sl_>
 
  146        static void compute(Tiny::Matrix<DataType_, 1, 1, sm_, sn_>& a, Tiny::Vector<DataType_, 1, sl_>& b, 
int orient)
 
  157          b(
Index(0)) = DataType_(0);
 
  165      class CongruencyTrafo<Shape::Hypercube<2>>
 
  168        template<
typename DataType_, 
int sm_, 
int sn_, 
int sl_>
 
  169        static void compute(Tiny::Matrix<DataType_, 2, 2, sm_, sn_>& a, Tiny::Vector<DataType_, 2, sl_>& b, 
int orient)
 
  222          b(
Index(0)) = DataType_(0);
 
  223          b(
Index(0)) = DataType_(0);
 
std::uint64_t Index
Index data type.