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

📄 double.h

📁 这是一个从音频信号里提取特征参量的程序
💻 H
字号:
// file: $isip/class/math/scalar/Double/Double.h// version: $Id: Double.h,v 1.37 2001/10/14 04:25:54 bahety Exp $//// make sure definitions are only made once//#ifndef ISIP_DOUBLE#define ISIP_DOUBLE// isip include files//#ifndef ISIP_SCALAR#include <MScalar.h>#endif// Double: this is a class that manages a 64-bit float. this class mainly//  inherits the MScalar template class functionality. we only need to add//  Sof file support and memory management//class Double : public MScalar<double, float64> {  //---------------------------------------------------------------------------  //  // public constants  //  //---------------------------------------------------------------------------public:  // define the class name  //  static const String CLASS_NAME;  //----------------------------------------  //  // other important constants  //  //----------------------------------------    //----------------------------------------  //  // default values and arguments  //  //----------------------------------------    // define the default value(s) of the class data  //     // default arguments to methods  //    //----------------------------------------  //  // error codes  //  //----------------------------------------    static const long ERR = 21100;  //---------------------------------------------------------------------------  //  // protected data  //  //---------------------------------------------------------------------------protected:  // static memory manager  //  static MemoryManager mgr_d;    //---------------------------------------------------------------------------  //  // required public methods  //  //---------------------------------------------------------------------------public:    // method: name  //  static const String& name() {    return CLASS_NAME;  }  // other static methods  //  static boolean diagnose(Integral::DEBUG debug_level);  // debug methods:  //  the setDebug method is inherited from the MScalar template class  //  boolean debug(const unichar* message) const;  // method: destructor  //  ~Double() {}    // method: default constructor  //  Double(double arg = DEF_VALUE) {    value_d = arg;  }    // method: copy constructor  //  Double(const Double& arg) {    assign(arg.value_d);  }      // assign methods:  //  these methods are inherited from the MScalar template class  //    // method: operator=  //  Double& operator= (const Double& arg) {    assign(arg);    return *this;  }    // i/o methods:  //  the sofSize, readData, and writeData methods are inherited from  //  the MScalar template class  //  // method: read  //  boolean read(Sof& sof, long tag, const String& name = CLASS_NAME) {    return MScalar<double, float64>::read(sof, tag, name);  }  // method: write  //  boolean write(Sof& sof, long tag, const String& name = CLASS_NAME) const {    return MScalar<double, float64>::write(sof, tag, name);  }    // equality methods:  //  these methods are inherited from the MScalar template class  //    // method: new  //  static void* operator new(size_t size) {    return mgr_d.get();  }    // method: new[]  //  static void* operator new[](size_t size) {    return mgr_d.getBlock(size);  }    // method: delete  //  static void operator delete(void* ptr) {    mgr_d.release(ptr);  }  // method: delete[]  //  static void operator delete[](void* ptr) {    mgr_d.releaseBlock(ptr);  }  // method: setGrowSize  //  static boolean setGrowSize(long grow_size) {    return mgr_d.setGrow(grow_size);  }    // other memory management methods:  //  this clear is inherited from the MScalar template class  //      //---------------------------------------------------------------------------  //  // class-specific public methods:  //  extentions to required methods  //  //---------------------------------------------------------------------------public:  // method: operator=  //  this method assigns a double value to the scalar  //  Double& operator= (double arg) {    value_d = arg;    return *this;  }     //---------------------------------------------------------------------------  //  // private methods  //  //---------------------------------------------------------------------------private:  // declare bitwise methods as private member functions because they  // are not defined for floating point operations  //  double bor(double, double);  double band(double, double);  double bxor(double, double);  double brs(double, double);  double bls(double, double);  double bcmpl(double);  // declare modulus methods as private member functions because they  // are not defined for floating point operations  //  double mod(double, double);  double& operator%= (double);  double& operator% (double);};// end of include file//#endif

⌨️ 快捷键说明

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