ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
gsl::wavelet Class Reference

Wavelets in one dimension. More...

#include <wavelet.hpp>

Inheritance diagram for gsl::wavelet:
Inheritance graph
Collaboration diagram for gsl::wavelet:
Collaboration graph

Classes

class  workspace
 Workspace for wavelets. More...
 

Public Types

typedef gsl_wavelet_type const * type
 Define gsl::wavelet::static type. More...
 

Public Member Functions

 wavelet ()
 The default constructor is only really useful for assigning to. More...
 
 wavelet (type T, size_t const k)
 The default constructor creates a new wavelet with n elements. More...
 
 wavelet (gsl_wavelet *v)
 Could construct from a gsl_wavelet. More...
 
 wavelet (wavelet const &v)
 The copy constructor. More...
 
waveletoperator= (wavelet const &v)
 The assignment operator. More...
 
 ~wavelet ()
 The destructor only deletes the pointers if count reaches zero. More...
 
 wavelet (wavelet &&v)
 Move constructor. More...
 
waveletoperator= (wavelet &&v)
 Move operator. More...
 
bool operator== (wavelet const &v) const
 Two wavelet are identically equal if their elements are identical. More...
 
bool operator!= (wavelet const &v) const
 Two wavelet are different if their elements are not identical. More...
 
bool operator< (wavelet const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator> (wavelet const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator<= (wavelet const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator>= (wavelet const &v) const
 A container needs to define an ordering for sorting. More...
 
bool empty () const
 Find if the wavelet is empty. More...
 
void swap (wavelet &v)
 Swap two wavelet objects. More...
 
gsl_wavelet * get () const
 Get the gsl_wavelet. More...
 
bool unique () const
 Find if this is the only object sharing the gsl_wavelet. More...
 
size_t use_count () const
 Find how many wavelet objects share this pointer. More...
 
 operator bool () const
 Allow conversion to bool. More...
 
std::string name () const
 C++ version of gsl_wavelet_name(). More...
 
gsl_wavelet_direction forward () const
 Access direction. More...
 
gsl_wavelet_direction backward () const
 Access direction. More...
 
template<typename DATA >
int transform (DATA &data, size_t stride, gsl_wavelet_direction dir, workspace &work) const
 C++ version of gsl_wavelet_transform(). More...
 
template<typename DATA >
int transform_forward (DATA &data, size_t stride, workspace &work) const
 C++ version of gsl_wavelet_transform_forward(). More...
 
template<typename DATA >
int transform_inverse (DATA &data, size_t stride, workspace &work) const
 C++ version of gsl_wavelet_transform_inverse(). More...
 
template<typename DATA >
int transform (DATA &data, gsl_wavelet_direction dir, workspace &work) const
 C++ version of gsl_wavelet_transform(). More...
 
template<typename DATA >
int transform_forward (DATA &data, workspace &work) const
 C++ version of gsl_wavelet_transform_forward(). More...
 
template<typename DATA >
int transform_inverse (DATA &data, workspace &work) const
 C++ version of gsl_wavelet_transform_inverse(). More...
 

Static Public Member Functions

static type daubechies ()
 Wavelet static type. More...
 
static type daubechies_centered ()
 Wavelet static type. More...
 
static type haar ()
 Wavelet static type. More...
 
static type haar_centered ()
 Wavelet static type. More...
 
static type bspline ()
 Wavelet static type. More...
 
static type bspline_centered ()
 Wavelet static type. More...
 

Protected Attributes

gsl_wavelet * ccgsl_pointer
 The shared pointer. More...
 
size_t * count
 The shared reference count. More...
 

Detailed Description

Wavelets in one dimension.

Definition at line 30 of file wavelet.hpp.

Member Typedef Documentation

◆ type

typedef gsl_wavelet_type const* gsl::wavelet::type

Define gsl::wavelet::static type.

Definition at line 35 of file wavelet.hpp.

Constructor & Destructor Documentation

◆ wavelet() [1/5]

gsl::wavelet::wavelet ( )
inline

The default constructor is only really useful for assigning to.

Definition at line 39 of file wavelet.hpp.

References ccgsl_pointer, and count.

Referenced by operator=().

◆ wavelet() [2/5]

gsl::wavelet::wavelet ( type  T,
size_t const  k 
)
inlineexplicit

The default constructor creates a new wavelet with n elements.

Parameters
TThe type of the wavelet
kParameter to select specific member of wavelet family

Definition at line 50 of file wavelet.hpp.

References ccgsl_pointer, and count.

◆ wavelet() [3/5]

gsl::wavelet::wavelet ( gsl_wavelet *  v)
inlineexplicit

Could construct from a gsl_wavelet.

This is not usually a good idea. In this case we should not use gsl_wavelet_free() to deallocate the memory.

Parameters
vThe wavelet

Definition at line 66 of file wavelet.hpp.

References ccgsl_pointer, and count.

◆ wavelet() [4/5]

gsl::wavelet::wavelet ( wavelet const &  v)
inline

The copy constructor.

This creates a new reference to the workspace.

Parameters
vThe wavelet to copy.

Definition at line 77 of file wavelet.hpp.

References ccgsl_pointer, and count.

◆ ~wavelet()

gsl::wavelet::~wavelet ( )
inline

The destructor only deletes the pointers if count reaches zero.

Definition at line 96 of file wavelet.hpp.

References ccgsl_pointer, and count.

◆ wavelet() [5/5]

gsl::wavelet::wavelet ( wavelet &&  v)
inline

Move constructor.

Parameters
vThe wavelet to move.

Definition at line 108 of file wavelet.hpp.

References count.

Member Function Documentation

◆ backward()

gsl_wavelet_direction gsl::wavelet::backward ( ) const
inline

Access direction.

Returns
direction

Definition at line 479 of file wavelet.hpp.

◆ bspline()

static type gsl::wavelet::bspline ( )
inlinestatic

Wavelet static type.

Returns
the named wavelet type

Definition at line 261 of file wavelet.hpp.

◆ bspline_centered()

static type gsl::wavelet::bspline_centered ( )
inlinestatic

Wavelet static type.

Returns
the named wavelet type

Definition at line 266 of file wavelet.hpp.

◆ daubechies()

static type gsl::wavelet::daubechies ( )
inlinestatic

Wavelet static type.

Returns
the named wavelet type

Definition at line 241 of file wavelet.hpp.

◆ daubechies_centered()

static type gsl::wavelet::daubechies_centered ( )
inlinestatic

Wavelet static type.

Returns
the named wavelet type

Definition at line 246 of file wavelet.hpp.

◆ empty()

bool gsl::wavelet::empty ( ) const
inline

Find if the wavelet is empty.

Returns
true if has size zero; otherwise false

Definition at line 185 of file wavelet.hpp.

References ccgsl_pointer.

◆ forward()

gsl_wavelet_direction gsl::wavelet::forward ( ) const
inline

Access direction.

Returns
direction

Definition at line 474 of file wavelet.hpp.

◆ get()

◆ haar()

static type gsl::wavelet::haar ( )
inlinestatic

Wavelet static type.

Returns
the named wavelet type

Definition at line 251 of file wavelet.hpp.

◆ haar_centered()

static type gsl::wavelet::haar_centered ( )
inlinestatic

Wavelet static type.

Returns
the named wavelet type

Definition at line 256 of file wavelet.hpp.

◆ name()

std::string gsl::wavelet::name ( ) const
inline

C++ version of gsl_wavelet_name().

Returns
UNDOCUMENTED

Definition at line 236 of file wavelet.hpp.

References get().

◆ operator bool()

gsl::wavelet::operator bool ( ) const
inlineexplicit

Allow conversion to bool.

Returns
true or false according as this contains a pointer to a gsl_wavelet.

Definition at line 231 of file wavelet.hpp.

References ccgsl_pointer.

◆ operator!=()

bool gsl::wavelet::operator!= ( wavelet const &  v) const
inline

Two wavelet are different if their elements are not identical.

Parameters
vThe wavelet to be compared with this
Returns
false or true according as this and v have identical elements or not

Definition at line 138 of file wavelet.hpp.

References operator==().

◆ operator<()

bool gsl::wavelet::operator< ( wavelet const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a wavelet is nonnegative.

Parameters
vThe wavelet to be compared with this
Returns
false or true according as this is less than v lexicographically

Definition at line 150 of file wavelet.hpp.

References ccgsl_pointer.

◆ operator<=()

bool gsl::wavelet::operator<= ( wavelet const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a wavelet is nonnegative.

Parameters
vThe wavelet to be compared with this
Returns
false or true according as this is less than or equal to v lexicographically

Definition at line 170 of file wavelet.hpp.

References ccgsl_pointer.

◆ operator=() [1/2]

wavelet & gsl::wavelet::operator= ( wavelet &&  v)
inline

Move operator.

Parameters
vThe wavelet to move.
Returns
A reference to this.

Definition at line 117 of file wavelet.hpp.

References wavelet().

◆ operator=() [2/2]

wavelet & gsl::wavelet::operator= ( wavelet const &  v)
inline

The assignment operator.

This copies elementwise.

Parameters
vThe wavelet to copy

Definition at line 84 of file wavelet.hpp.

References ccgsl_pointer, and count.

◆ operator==()

bool gsl::wavelet::operator== ( wavelet const &  v) const
inline

Two wavelet are identically equal if their elements are identical.

Parameters
vThe wavelet to be compared with this
Returns
true or false according as this and v have identical elements or not

Definition at line 130 of file wavelet.hpp.

References ccgsl_pointer.

Referenced by operator!=().

◆ operator>()

bool gsl::wavelet::operator> ( wavelet const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a wavelet is nonnegative.

Parameters
vThe wavelet to be compared with this
Returns
false or true according as this is greater than v lexicographically

Definition at line 160 of file wavelet.hpp.

References ccgsl_pointer.

◆ operator>=()

bool gsl::wavelet::operator>= ( wavelet const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a wavelet is nonnegative.

Parameters
vThe wavelet to be compared with this
Returns
false or true according as this is no less than v lexicographically

Definition at line 180 of file wavelet.hpp.

References ccgsl_pointer.

◆ swap()

void gsl::wavelet::swap ( wavelet v)
inline

Swap two wavelet objects.

This works even if the wavelet have different sizes because it swaps pointers.

Parameters
vThe wavelet to swap with this.

Definition at line 192 of file wavelet.hpp.

References ccgsl_pointer, and count.

◆ transform() [1/2]

template<typename DATA >
int gsl::wavelet::transform ( DATA &  data,
gsl_wavelet_direction  dir,
workspace work 
) const
inline

C++ version of gsl_wavelet_transform().

This version handles std::vector and gsl::vector.

Parameters
dataData array
dirDirection: forward() or backward()
workSupply a workspace of size n
Returns
Error code on failure

Definition at line 565 of file wavelet.hpp.

References get(), and gsl::wavelet::workspace::get().

◆ transform() [2/2]

template<typename DATA >
int gsl::wavelet::transform ( DATA &  data,
size_t  stride,
gsl_wavelet_direction  dir,
workspace work 
) const
inline

C++ version of gsl_wavelet_transform().

This version works on std::vector<double> and gsl::vector

Parameters
dataData array
strideStride
dirDirection: forward() or backward()
workSupply a workspace of size n
Returns
Error code on failure

Definition at line 528 of file wavelet.hpp.

References get(), and gsl::wavelet::workspace::get().

◆ transform_forward() [1/2]

template<typename DATA >
int gsl::wavelet::transform_forward ( DATA &  data,
size_t  stride,
workspace work 
) const
inline

C++ version of gsl_wavelet_transform_forward().

This version works on std::vector<double> and gsl::vector

Parameters
dataData array
strideStride
workSupply a workspace of size n
Returns
Error code on failure

Definition at line 541 of file wavelet.hpp.

References get(), and gsl::wavelet::workspace::get().

◆ transform_forward() [2/2]

template<typename DATA >
int gsl::wavelet::transform_forward ( DATA &  data,
workspace work 
) const
inline

C++ version of gsl_wavelet_transform_forward().

This version handles std::vector and gsl::vector.

Parameters
dataData array
workSupply a workspace of size n
Returns
Error code on failure

Definition at line 577 of file wavelet.hpp.

References get(), and gsl::wavelet::workspace::get().

◆ transform_inverse() [1/2]

template<typename DATA >
int gsl::wavelet::transform_inverse ( DATA &  data,
size_t  stride,
workspace work 
) const
inline

C++ version of gsl_wavelet_transform_inverse().

This version works on std::vector<double> and gsl::vector

Parameters
dataData array
strideStride
workSupply a workspace of size n
Returns
Error code on failure

Definition at line 553 of file wavelet.hpp.

References get(), and gsl::wavelet::workspace::get().

◆ transform_inverse() [2/2]

template<typename DATA >
int gsl::wavelet::transform_inverse ( DATA &  data,
workspace work 
) const
inline

C++ version of gsl_wavelet_transform_inverse().

This version handles std::vector and gsl::vector.

Parameters
dataData array
workSupply a workspace of size n
Returns
Error code on failure

Definition at line 588 of file wavelet.hpp.

References get(), and gsl::wavelet::workspace::get().

◆ unique()

bool gsl::wavelet::unique ( ) const
inline

Find if this is the only object sharing the gsl_wavelet.

Returns
true or falses according as this is the only wavelet object sharing the gsl_wavelet.

Definition at line 217 of file wavelet.hpp.

References count.

◆ use_count()

size_t gsl::wavelet::use_count ( ) const
inline

Find how many wavelet objects share this pointer.

Returns
the number of wavelet objects that share this pointer.

Definition at line 222 of file wavelet.hpp.

References count.

Member Data Documentation

◆ ccgsl_pointer

gsl_wavelet* gsl::wavelet::ccgsl_pointer
protected

◆ count

size_t* gsl::wavelet::count
protected

The shared reference count.

Definition at line 204 of file wavelet.hpp.

Referenced by operator=(), gsl::wavelet2d::operator=(), swap(), unique(), use_count(), wavelet(), gsl::wavelet2d::wavelet2d(), and ~wavelet().


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