20#ifndef CCGSL_WAVELET2D_HPP
21#define CCGSL_WAVELET2D_HPP
23#include<gsl/gsl_wavelet2d.h>
66#ifdef __GXX_EXPERIMENTAL_CXX0X__
74 std::swap(
count, v.count );
75 v.ccgsl_pointer =
nullptr;
83 wavelet2d( std::move( v ) ).swap( *
this );
98 int transform(
double* data,
size_t tda,
size_t size1,
size_t size2,
100 return gsl_wavelet2d_transform(
get(), data, tda, size1, size2, dir, work.
get() ); }
113 return gsl_wavelet2d_transform_forward(
get(), data, tda, size1, size2, work.
get() ); }
126 return gsl_wavelet2d_transform_inverse(
get(), data, tda, size1, size2, work.
get() ); }
138 int nstransform(
double* data,
size_t tda,
size_t size1,
size_t size2,
140 return gsl_wavelet2d_nstransform(
get(), data, tda, size1, size2, dir, work.
get() );
154 return gsl_wavelet2d_nstransform_forward(
get(), data, tda, size1, size2, work.
get() ); }
167 return gsl_wavelet2d_nstransform_inverse(
get(), data, tda, size1, size2, work.
get() ); }
178 return gsl_wavelet2d_transform_matrix(
get(),
a.get(), dir, work.
get() ); }
187 return gsl_wavelet2d_transform_matrix_forward(
get(),
a.get(), work.
get() ); }
196 return gsl_wavelet2d_transform_matrix_inverse(
get(),
a.get(), work.
get() ); }
207 return gsl_wavelet2d_nstransform_matrix(
get(),
a.get(), dir, work.
get() ); }
216 return gsl_wavelet2d_nstransform_matrix_forward(
get(),
a.get(), work.
get() ); }
225 return gsl_wavelet2d_nstransform_matrix_inverse(
get(),
a.get(), work.
get() ); }
This class handles matrix objects as shared handles.
Wavelets in two dimensions.
wavelet2d(wavelet2d &&v)
Move constructor.
wavelet2d & operator=(wavelet2d &&v)
Move operator.
int nstransform_matrix(matrix &a, gsl_wavelet_direction dir, wavelet::workspace &work) const
C++ version of gsl_wavelet2d_nstransform_matrix().
wavelet2d(gsl_wavelet *v)
Could construct from a gsl_wavelet.
wavelet2d & operator=(wavelet2d const &v)
The assignment operator.
wavelet2d(type &T, size_t const k)
The default constructor creates a new wavelet2d with n elements.
wavelet2d(wavelet2d const &v)
The copy constructor.
int nstransform(double *data, size_t tda, size_t size1, size_t size2, gsl_wavelet_direction dir, wavelet::workspace work) const
C++ version of gsl_wavelet2d_nstransform().
int nstransform_matrix_inverse(matrix &a, wavelet::workspace &work) const
C++ version of gsl_wavelet2d_nstransform_matrix_inverse().
int transform_matrix(matrix &a, gsl_wavelet_direction dir, wavelet::workspace &work) const
C++ version of gsl_wavelet2d_transform_matrix().
int transform_matrix_forward(matrix &a, wavelet::workspace &work) const
C++ version of gsl_wavelet2d_transform_matrix_forward().
int nstransform_inverse(double *data, size_t tda, size_t size1, size_t size2, wavelet::workspace &work) const
C++ version of gsl_wavelet2d_nstransform_inverse().
int nstransform_forward(double *data, size_t tda, size_t size1, size_t size2, wavelet::workspace &work) const
C++ version of gsl_wavelet2d_nstransform_forward().
int nstransform_matrix_forward(matrix &a, wavelet::workspace &work) const
C++ version of gsl_wavelet2d_nstransform_matrix_forward().
int transform(double *data, size_t tda, size_t size1, size_t size2, gsl_wavelet_direction dir, wavelet::workspace &work) const
C++ version of gsl_wavelet2d_transform().
int transform_matrix_inverse(matrix &a, wavelet::workspace &work) const
C++ version of gsl_wavelet2d_transform_matrix_inverse().
int transform_forward(double *data, size_t tda, size_t size1, size_t size2, wavelet::workspace &work) const
C++ version of gsl_wavelet2d_transform_forward().
int transform_inverse(double *data, size_t tda, size_t size1, size_t size2, wavelet::workspace &work) const
C++ version of gsl_wavelet2d_transform_inverse().
gsl_wavelet_workspace * get() const
Get the gsl_wavelet_workspace.
Wavelets in one dimension.
gsl_wavelet_type const * type
Define gsl::wavelet::static type.
gsl_wavelet * get() const
Get the gsl_wavelet.
size_t * count
The shared reference count.
gsl_wavelet * ccgsl_pointer
The shared pointer.
double a(int order, double qq)
C++ version of gsl_sf_mathieu_a().
The gsl package creates an interface to the GNU Scientific Library for C++.