//================================================================================================== /* ROTGEN - Runtime Overlay for Eigen Copyright : CODE RECKONS SPDX-License-Identifier: BSL-1.0 */ //================================================================================================== #pragma once #include #include #include #include #include namespace rotgen { #define SIZE 64 #define TYPE double #define MATRIX ROTGEN_MATRIX_NAME(matrix_impl,SIZE,_col) #include #undef MATRIX #define MATRIX ROTGEN_MATRIX_NAME(matrix_impl,SIZE,_row) #include #undef MATRIX #undef SIZE #undef TYPE #define SIZE 32 #define TYPE float #define MATRIX ROTGEN_MATRIX_NAME(matrix_impl,SIZE,_col) #include #undef MATRIX #define MATRIX ROTGEN_MATRIX_NAME(matrix_impl,SIZE,_row) #include #undef MATRIX #undef SIZE #undef TYPE template struct find_matrix_impl; template<> struct find_matrix_impl { using type = matrix_impl32_col; }; template<> struct find_matrix_impl { using type = matrix_impl32_row; }; template<> struct find_matrix_impl { using type = matrix_impl64_col; }; template<> struct find_matrix_impl { using type = matrix_impl64_row; }; template using find_matrix = typename find_matrix_impl::type; }