#include <rallNd.h>
Public Member Functions | |
RallNd () | |
RallNd (const Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > &arg) | |
RallNd (double value, double d[]) | |
RallNd () | |
RallNd (const Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > &arg) | |
RallNd (double value, double d[]) | |
Public Member Functions inherited from KDL::Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > | |
RallNd< N-1 > | deriv () const |
INLINE RallNd< N-1 > & | Gradient () |
INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > & | operator*= (const Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > &rhs) |
INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > & | operator*= (doublerhs) |
INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > & | operator+= (const Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > &rhs) |
INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > & | operator+= (doublerhs) |
INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > & | operator-= (const Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > &rhs) |
INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > & | operator-= (doublerhs) |
INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > & | operator/= (const Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > &rhs) |
INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > & | operator/= (doublerhs) |
INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > & | operator= (doublec) |
INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > & | operator= (const Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > &r) |
INLINE | Rall1d () |
INLINE | Rall1d (typename TI< RallNd< N-1 > >::Arg c) |
INLINE | Rall1d (typename TI< RallNd< N-1 > >::Arg tn, typename TI< RallNd< N-1 > >::Arg afg) |
INLINE | Rall1d (const Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > &r) |
RallNd< N-1 > | value () const |
INLINE RallNd< N-1 > & | Value () |
Public Member Functions inherited from KDL::Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > | |
INLINE RallNd< N-2 > & | D () |
INLINE RallNd< N-2 > & | DD () |
INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > & | operator*= (const Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > &rhs) |
INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > & | operator*= (doublerhs) |
INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > & | operator+= (const Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > &rhs) |
INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > & | operator+= (doublerhs) |
INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > & | operator-= (const Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > &rhs) |
INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > & | operator-= (doublerhs) |
INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > & | operator/= (const Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > &rhs) |
INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > & | operator/= (doublerhs) |
INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > & | operator= (doublec) |
INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > & | operator= (const Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > &r) |
INLINE | Rall2d () |
INLINE | Rall2d (typename TI< RallNd< N-2 > >::Arg c) |
INLINE | Rall2d (typename TI< RallNd< N-2 > >::Arg tn, const RallNd< N-2 > &afg) |
INLINE | Rall2d (typename TI< RallNd< N-2 > >::Arg tn, const RallNd< N-2 > &afg, const RallNd< N-2 > &afg2) |
INLINE | Rall2d (const Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > &r) |
INLINE RallNd< N-2 > & | Value () |
Additional Inherited Members | |
Public Types inherited from KDL::Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > | |
typedef RallNd< N-1 > | gradienttype |
typedef double | scalartype |
typedef RallNd< N-1 > | valuetype |
Static Public Member Functions inherited from KDL::Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > | |
static INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > | Identity () |
static INLINE Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > | Zero () |
Static Public Member Functions inherited from KDL::Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > | |
static INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > | Identity () |
static INLINE Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > | Zero () |
Public Attributes inherited from KDL::Rall1d< RallNd< N-1 >, RallNd< N-1 >, double > | |
RallNd< N-1 > | grad |
gradient More... | |
RallNd< N-1 > | t |
value More... | |
Public Attributes inherited from KDL::Rall2d< RallNd< N-2 >, RallNd< N-2 >, double > | |
RallNd< N-2 > | d |
1st derivative More... | |
RallNd< N-2 > | dd |
2nd derivative More... | |
RallNd< N-2 > | t |
value More... | |
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
Definition at line 56 of file rallnumbertest.cpp.
|
inline |
Definition at line 57 of file rallnumbertest.cpp.
Definition at line 59 of file rallnumbertest.cpp.