16 #ifndef OPENKALMAN_IDENTITYTRANSFORM_HPP 17 #define OPENKALMAN_IDENTITYTRANSFORM_HPP 35 using Base::operator();
46 (coordinates::compares_with<
typename DistributionTraits<InputDist>::StaticDescriptor,
47 typename DistributionTraits<NoiseDists>::StaticDescriptor> and ...)
49 template<
typename InputDist,
typename ... NoiseDists,
50 std::enable_if_t<(distribution<InputDist> and ... and distribution<NoiseDists>) and
51 (coordinates::compares_with<
typename DistributionTraits<InputDist>::StaticDescriptor,
52 typename DistributionTraits<NoiseDists>::StaticDescriptor> and ...),
int> = 0>
54 auto operator()(
const InputDist& x,
const NoiseDists& ... ns)
const 56 return make_self_contained((x + ... + ns));
71 (coordinates::compares_with<
typename DistributionTraits<InputDist>::StaticDescriptor,
72 typename DistributionTraits<NoiseDists>::StaticDescriptor> and ...)
74 template<
typename InputDist,
typename ... NoiseDists,
75 std::enable_if_t<(distribution<InputDist> and ... and distribution<NoiseDists>) and
76 (coordinates::compares_with<
typename DistributionTraits<InputDist>::StaticDescriptor,
77 typename DistributionTraits<NoiseDists>::StaticDescriptor> and ...),
int> = 0>
81 auto cross =
Matrix {covariance_of(x)};
82 return std::tuple {make_self_contained((x + ... + ns)), std::move(cross)};
89 #endif //OPENKALMAN_IDENTITYTRANSFORM_HPP
The root namespace for OpenKalman.
Definition: basics.hpp:34
constexpr bool distribution
T is a statistical distribution of any kind that is defined in OpenKalman.
Definition: object-types.hpp:193
Definition: basics.hpp:48
A matrix with typed rows and columns.
Definition: forward-class-declarations.hpp:448