oln::internal::dim_skip_iterate_rec_< dim, skip, 0 > Struct Template Reference

Specialization of dim_skip_iterate_rec_ with current dimension set to 0. More...

#include <dwt.hh>

List of all members.

Static Public Member Functions

template<class I, class K>
static void doit (abstract::image< I > &im, typename mlc::exact< I >::ret::point_type &p, const unsigned l1, const unsigned l2, const K &coeffs, dwt_transform_dir_ d)
 Iterate over all dimensions except one.


Detailed Description

template<unsigned dim, unsigned skip>
struct oln::internal::dim_skip_iterate_rec_< dim, skip, 0 >

Specialization of dim_skip_iterate_rec_ with current dimension set to 0.

Parameters:
dim Number of dimension to process.
skip Dimension to skip.

Definition at line 316 of file dwt.hh.


Member Function Documentation

template<unsigned dim, unsigned skip>
template<class I, class K>
static void oln::internal::dim_skip_iterate_rec_< dim, skip, 0 >::doit ( abstract::image< I > &  im,
typename mlc::exact< I >::ret::point_type &  p,
const unsigned  l1,
const unsigned  l2,
const K &  coeffs,
dwt_transform_dir_  d 
) [inline, static]

Iterate over all dimensions except one.

Parameters:
I Exact type of the image to process.
K Type of coefficients.
It is leaf call, thus you can call a dwt transform step.

Definition at line 327 of file dwt.hh.

References oln::internal::dwt_transform_inv_step_(), and oln::internal::dwt_transform_step_().

00333       {
00334         unsigned n;
00335 
00336         switch (d) {
00337         case dwt_fwd:
00338           for (n = l2; n >= l1; n >>= 1)
00339             dwt_transform_step_(im, p, skip - 1, n, coeffs);
00340           break;
00341         case dwt_bwd:
00342           for (n = l1; n <= l2; n <<= 1)
00343             dwt_transform_inv_step_(im, p, skip - 1, n, coeffs);
00344           break;
00345         };
00346       }


The documentation for this struct was generated from the following file:
Generated on Tue Feb 20 20:27:13 2007 for Olena by  doxygen 1.5.1