Orocos KDL
RallNd< N > Class Template Reference

#include <rallNd.h>

Inheritance diagram for RallNd< N >:

Public Member Functions

 RallNd ()
 RallNd (const Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > &arg)
 RallNd (double value, double d[])

Detailed Description

template<int N>
class RallNd< N >

The Rall1d class allows for a 24-line implementation of rall numbers generalized to the Nth derivative ! The efficiency is not very good for high derivatives. This could be improved by also using Rall2d

template <int N> class RallNd : public Rall1d< RallNd<N-1>, RallNd<N-1>, double > { public: RallNd() {} RallNd(const Rall1d< RallNd<N-1>, RallNd<N-1>,double>& arg) : Rall1d< RallNd<N-1>, RallNd<N-1>,double>(arg) {} RallNd(double value,double d[]) { this->t = RallNd<N-1>(value,d); this->grad = RallNd<N-1>(d[0],&d[1]); } };

template <> class RallNd<1> : public Rall1d<double> { public: RallNd() {} RallNd(const Rall1d<double>& arg) : Rall1d<double,double,double>(arg) {} RallNd(double value,double d[]) { t = value; grad = d[0]; } }; to be checked.. Als je tot 3de orde een efficiente berekening kan doen, dan kan je tot een willekeurige orde alles efficient berekenen 0 1 2 3 ==> 1 2 3 4 ==> 3 4 5 6
4 5 6 7

de aangeduide berekeningen zijn niet noodzakelijk, en er is dan niets verniet berekend in de recursieve implementatie.
of met 2de orde over 1ste order : kan ook efficient : 0 1 ==>1 2 2 3

Constructor & Destructor Documentation

◆ RallNd() [1/3]

template<int N>
RallNd< N >::RallNd ( )
inline

◆ RallNd() [2/3]

template<int N>
RallNd< N >::RallNd ( const Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > & arg)
inline

◆ RallNd() [3/3]

template<int N>
RallNd< N >::RallNd ( double value,
double d[] )
inline

The documentation for this class was generated from the following file: