⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arraytree.h

📁 小波分析程序
💻 H
字号:
//*****************************************************************************// ArrayTree.h                                      Definitions of classes//                                               ArrayTreePer and ArrayTreeAper//*****************************************************************************#ifndef ARRAYTREE_H#define ARRAYTREE_H#include "common.h"#include "Interval.h"/************************ Array Tree Periodic ********************************/class ArrayTreePer {                    public:  ArrayTreePer() : maxlevel(0), dim(0), origin(0) { }               // default constructor  ArrayTreePer(integer MAXLEVEL);                                // construct full zero tree with maxlevel=MAXLEVEL and dim=2^maxlevel   ArrayTreePer(integer DIM, integer MAXLEVEL);                  // construct truncated zero tree with maxlevel=MAXLEVEL and dim=DIM       // check that dim is divisible by  2^maxlevel    ArrayTreePer(const ArrayTreePer &);                      // copy constructor  ~ArrayTreePer() { DestroyTree(); }                       // destructor  void DestroyTree();                                      // free all memory     const ArrayTreePer &operator=(const ArrayTreePer &);     // overload =  real *block_start(const integer &L, const integer &B) const;             // pointer to the start of block B at level L  integer block_length(const integer &L) const;             // block length at level L  real *left_child(const integer &L, const integer &B) const;        // pointer to begining of left child of block B at level L  real *right_child(const integer &L, const integer &B) const;        // pointer to begining of right child of block B at level L  ///////////////////////////////////////////////////////////////////////////  integer maxlevel;       // levels numbered  from 0 to maxlevel                                             integer dim;            // dim = total length of each level    real *origin;           // pointer to begining of data array};// end of ArrayTreePer class definition/************************ Array Tree Aperiodic *******************************/class ArrayTreeAper {                         public:  ArrayTreeAper() : maxlevel(0), size(0), root(0) { }                  // default constructor  ArrayTreeAper(integer MAXLEVEL);                        // construct full tree with maxlevel=MAXLEVEL and        // size=2^(maxlevel+1)-1 many empty intervals allocated   ArrayTreeAper(const ArrayTreeAper &);                     // copy constructor  ~ArrayTreeAper() { DestroyTree(); }                       // destructor  void DestroyTree();                                       // free all memory    const ArrayTreeAper &operator=(const ArrayTreeAper &);    // overload =  Interval *block(const integer &L, const integer &B) const;                // pointer to block B at level L  Interval *left_child(const integer &L, const integer &B) const;        // pointer to left child of block B at level L  Interval *right_child(const integer &L, const integer &B) const;         // pointer to right child of block B at level L    void ZeroTree();                      // set all elts of all nonempty intervals to 0  ////////////////////////////////////////////////////////////////////////////  integer maxlevel;        // levels numbered from 0 to maxlevel  integer size;            // size=2^(maxlevel+1)-1=total number of intervals  Interval *root;          // pointer to the first interval};#endif      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -