Возведение в степень: template<class T> inline T _pow2 ( const T & i ) { return i * i; } template<class T> inline T _pow3 ( const T & i ) { return i * i * i; } template<class T> inline T _pow4 ( const T & i ) { return _pow2 ( i * i ); } template<class T> inline T _pow5 ( const T & i ) { return _pow2 ( i * i ) * i; } template<class T> inline T _pow6 ( const T & i ) { return _pow3 ( i * i ); } template<class T> inline T _pow7 ( const T & i ) { return _pow3 ( i * i ) * i; } template<class T> inline T _pow8 ( const T & i ) { return _pow4 ( i * i ); } template<class T> inline T _pow9 ( const T & i ) { return _pow3 ( i * i * i ); } template<class T> inline T _pow10 ( const T & i ) { return _pow5 ( i * i ); }Обмен местами: template<class T> inline void _swap ( T & i1, T & i2 ) { const T i ( i1 ); i1 = i2; i2 = i; }Минимум и максимум двух элементов: template<class T> inline const T & _min ( const T & i1, const T & i2 ) { return i1 < i2 ? i1 : i2; } template<class T> inline const T & _max ( const T & i1, const T & i2 ) { return i1 > i2 ? i1 : i2; }Минимум и максимум трёх элементов: template<class T> inline const T & _min ( const T & i1, const T & i2, const T & i3 ) { return i1 < i2 ? i1 < i3 ? i1 : i3 : i3 < i2 ? i3 : i2; } template<class T> inline const T & _max ( const T & i1, const T & i2, const T & i3 ) { return i1 > i2 ? i1 > i3 ? i1 : i3 : i3 > i2 ? i3 : i2; }Минимум и максимум четырёх элементов: template<class T> inline const T & _min ( const T & i1, const T & i2, const T & i3, const T & i4 ) { return _min ( i1, _min ( i2, i3, i4 ) ); } template<class T> inline const T & _max ( const T & i1, const T & i2, const T & i3, const T & i4 ) { return _max ( i1, _max ( i2, i3, i4 ) ); }Минимум и максимум пяти элементов: template<class T> inline const T & _min ( const T & i1, const T & i2, const T & i3, const T & i4, const T & i5 ) { return _min ( i1, _min ( i2, i3, i4, i5 ) ); } template<class T> inline const T & _max ( const T & i1, const T & i2, const T & i3, const T & i4, const T & i5 ) { return _max ( i1, _max ( i2, i3, i4, i5 ) ); } Исходники находятся в файле Template.h. Наверх |