40 lines
1 KiB
C++
40 lines
1 KiB
C++
//==================================================================================================
|
|
/*
|
|
ROTGEN - Runtime Overlay for Eigen
|
|
Copyright : CODE RECKONS
|
|
SPDX-License-Identifier: BSL-1.0
|
|
*/
|
|
//==================================================================================================
|
|
#pragma once
|
|
|
|
#include <rotgen/concepts.hpp>
|
|
|
|
#include <Eigen/Dense>
|
|
|
|
namespace rotgen
|
|
{
|
|
template<int Outer, int Inner> struct stride : Eigen::Stride<Outer, Inner>
|
|
{
|
|
using parent = Eigen::Stride<Outer, Inner>;
|
|
using parent::parent;
|
|
};
|
|
|
|
template<int Value = Eigen::Dynamic>
|
|
struct inner_stride : Eigen::InnerStride<Value>
|
|
{
|
|
using parent = Eigen::InnerStride<Value>;
|
|
using parent::parent;
|
|
};
|
|
|
|
template<int Value = Eigen::Dynamic>
|
|
struct outer_stride : Eigen::OuterStride<Value>
|
|
{
|
|
using parent = Eigen::OuterStride<Value>;
|
|
using parent::parent;
|
|
};
|
|
|
|
inner_stride(int) -> inner_stride<-1>;
|
|
outer_stride(int) -> outer_stride<-1>;
|
|
|
|
using dynamic_stride = stride<-1, -1>;
|
|
}
|