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

📄 mscalar.h

📁 这是一个从音频信号里提取特征参量的程序
💻 H
📖 第 1 页 / 共 3 页
字号:
  // method: atan  //  TIntegral atan() {    return atan(value_d);  }  // method: atan  //  TIntegral atan(TIntegral arg) {    return (value_d = (TIntegral)Integral::atan(arg));  }  // method: atanh  //  TIntegral atanh() {    return atanh(value_d);  }  // method: atanh  //  TIntegral atanh(TIntegral arg) {    return (value_d = (TIntegral)Integral::atanh(arg));  }  // method: ceil  //  TIntegral ceil() {    return ceil(value_d);  }  // method: ceil  //  template <class TAIntegral>  TIntegral ceil(TAIntegral arg) {    return (value_d = (TIntegral)Integral::ceil(arg));  }  // method: centerClip  //  TIntegral centerClip(TIntegral min, TIntegral max) {    return MScalarMethods::centerClip(*this, min, max, value_d);  }  // method: centerClip  //  TIntegral centerClip(TIntegral min, TIntegral max, TIntegral val) {    return MScalarMethods::centerClip(*this, min, max, val);  }    // method: cos  //  TIntegral cos() {    return cos(value_d);  }    // method: cos  //  TIntegral cos(TIntegral arg) {    return (value_d = (TIntegral)Integral::cos(arg));  }  // method: cosh  //  TIntegral cosh() {    return cosh(value_d);  }    // method: cosh  //  TIntegral cosh(TIntegral arg) {    return (value_d = (TIntegral)Integral::cosh(arg));  }  // method: exp  //  TIntegral exp() {    return exp(value_d);  }  // method: exp  //  TIntegral exp(TIntegral arg) {    return (value_d = presentValue(Integral::exp(arg)));  }  // method: exp2  //  TIntegral exp2() {    return exp2(value_d);  }  // method: exp2  //  TIntegral exp2(TIntegral arg) {    return (value_d = presentValue(Integral::exp2(arg)));  }  // method: exp10  //  TIntegral exp10() {    return exp10(value_d);  }  // method: exp10  //  TIntegral exp10(TIntegral arg) {    return (value_d =  presentValue(Integral::exp10(arg)));  }    // method: factorial  //  TIntegral factorial() {    return factorial(value_d);  }    // method: factorial  //  TIntegral factorial(TIntegral arg) {    value_d = 1;        for (TIntegral count = 2; count <= arg; count++) {      value_d *= count;    }    return value_d;  }  // method: floor  //  TIntegral floor() {    return floor(value_d);  }  // method: floor  //  template <class TAIntegral>  TIntegral floor(TAIntegral arg) {    return (value_d = (TIntegral)Integral::floor(arg));  }  // method: fraction  //  TIntegral fraction() {    return fraction(value_d);  }    // method: fraction  //  TIntegral fraction(TIntegral arg) {    return (value_d = (TIntegral)0);  }    // gaussian random number generation methods  //  TIntegral grand(TIntegral mean, TIntegral stddev,		  Random& generator = Random::GLOBAL_GAUSSIAN);  // method: hash  //  ulong hash(ulong hsize) const {    return Integral::hash(value_d,  hsize);  }      // method: inverse  //  TIntegral inverse() {    return inverse(value_d);  }    // method: inverse  //  TIntegral inverse(TIntegral arg) {    value_d = 1;    return (value_d /= arg);  }  // method: limit  //  TIntegral limit(TIntegral min, TIntegral max) {    return MScalarMethods::limit(*this, min, max, value_d);  }    // method: limit  //  TIntegral limit(TIntegral min, TIntegral max, TIntegral val) {    return MScalarMethods::limit(*this, min, max, val);  }    // method: limitMag  //  TIntegral limitMag(TIntegral thresh, TIntegral output) {    return MScalarMethods::limitMag(*this, thresh, output, value_d);  }    // method: limitMag  //  TIntegral limitMag(TIntegral thresh, TIntegral output, TIntegral val) {    return MScalarMethods::limitMag(*this, thresh, output, val);  }  // method: log  //  TIntegral log() {    return log(value_d);  }    // method: log  //  TIntegral log(TIntegral arg) {    return (value_d = presentValue(Integral::log(arg)));  }  // method: log2  //  TIntegral log2() {    return log2(value_d);  }  // method: log2  //  TIntegral log2(TIntegral arg) {    return (value_d = presentValue(Integral::log2(arg)));  }    // method: log10  //  TIntegral log10() {    return log10(value_d);  }    // method: log10  //  TIntegral log10(TIntegral arg) {    return (value_d = presentValue(Integral::log10(arg)));  }     // method: log1p  //  TIntegral log1p() {    return log1p(value_d);  }     // method: log1p  //  TIntegral log1p(TIntegral arg) {    return (value_d = presentValue(Integral::log1p(arg)));  }     // method: max  //  TIntegral max(TIntegral arg) {    return max(value_d, arg);  }   // method: max  //  TIntegral max(TIntegral arg_1, TIntegral arg_2) {    if (arg_1 > arg_2) {      return (value_d = arg_1);    }    return (value_d = arg_2);  }    // method: min  //  TIntegral min(TIntegral arg) {    return min(value_d, arg);  }    // method: min  //  TIntegral min(TIntegral arg_1, TIntegral arg_2) {    if (arg_1 > arg_2) {      return (value_d = arg_2);    }    else {      return (value_d = arg_1);        }  }  // method: neg  //  TIntegral neg() {    return neg(value_d);  }    // method: neg  //  TIntegral neg(TIntegral arg) {    return (value_d = -arg);  }  // method: pow  //  TIntegral pow(TIntegral exponent) {    return pow(value_d, exponent);  }    // method: pow  //  TIntegral pow(TIntegral arg, TIntegral exponent) {    return (value_d = presentValue(Integral::pow(arg, exponent)));  }  // random number generation methods  //  TIntegral rand(Random& generator = Random::GLOBAL_UNIFORM);  TIntegral rand(TIntegral min, TIntegral max,		 Random& generator = Random::GLOBAL_UNIFORM);    // method: rceil  //  TIntegral rceil() {    return rceil(value_d);  }  // method: rceil  //  TIntegral rceil(TIntegral arg) {    return (value_d = (TIntegral)(Integral::ceil(arg) - arg));  }  // method: rfloor  //  TIntegral rfloor() {    return rfloor(value_d);  }  // method: rfloor  //  TIntegral rfloor(TIntegral arg) {    return (value_d = (TIntegral)(Integral::floor(arg) - arg));  }  // method: round  //  TIntegral round() {    return round(value_d);  }  // method: round  //  template <class TAIntegral>  TIntegral round(TAIntegral arg) {    return (value_d = (TIntegral)Integral::round(arg));  }  // method: sign  //  TIntegral sign() {    return sign(value_d);  }    // method: sign  //  TIntegral sign(TIntegral arg) {    if (arg < (TIntegral)0.0) {      return (value_d = (TIntegral)Integral::NEGATIVE);    }    return (value_d = (TIntegral)Integral::POSITIVE);      }    // method: sin  //  TIntegral sin() {    return sin(value_d);  }  // method: sin  //  TIntegral sin(TIntegral arg) {    return (value_d = (TIntegral)Integral::sin(arg));  }  // method: sinh  //  TIntegral sinh() {    return sinh(value_d);  }  // method: sinh  //  TIntegral sinh(TIntegral arg) {    return (value_d = (TIntegral)Integral::sinh(arg));  }  // method: sqrt  //  TIntegral sqrt() {    return sqrt(value_d);  }     // method: sqrt  //  TIntegral sqrt(TIntegral arg) {    return (value_d = presentValue(Integral::sqrt(arg)));  }  // method: square  //  TIntegral square() {    return (value_d * value_d);  }     // method: square  //  TIntegral square(TIntegral arg) {    return (value_d = arg * arg);  }  // method: tan  //  TIntegral tan() {    return tan(value_d);  }  // method: tan  //  TIntegral tan(TIntegral arg) {    return (value_d = (TIntegral)Integral::tan(arg));  }  // method: tanh  //  TIntegral tanh() {    return tanh(value_d);  }  // method: tanh  //  TIntegral tanh(TIntegral arg) {    return (value_d = (TIntegral)Integral::tanh(arg));  }  //---------------------------------------------------------------------------  //  // private methods  //  //---------------------------------------------------------------------------private:    // friend functions:  //  while friend functions are generally discouraged in the ISIP  //  environment, they are used in the MScalar class to circumvent the  //  template delayed compilation problem.   //  friend class MScalarMethods;};// the presentValue method is used to construct values for// mathematical methods which have approximate// values for integer types and exact values for floating point types//template<> doubleMScalar<double, float64>::presentValue(double arg) const {  return (double)arg;}template<> floatMScalar<float, float32>::presentValue(double arg) const {  return (float)arg;}template<> complexdoubleMScalar<complexdouble, float64>::presentValue(complexdouble arg) const {  return (complexdouble)arg;}template<> complexfloatMScalar<complexfloat, float32>::presentValue(complexdouble arg) const {  return (complexfloat)arg;}template<> complexlongMScalar<complexlong, int32>::presentValue(complexdouble arg) const {  return (complexlong)Integral::round(arg);}// template specializations for mathematical methods which have type-specific// values. typically, these are methods that have approximate// values for integer types and exact values for floating point types.//template<> doubleMScalar<double, float64>::mod(double arg1, double arg2) {  return arg1;}template<> floatMScalar<float, float32>::mod(float arg1, float arg2) {  return arg1;}template<> doubleMScalar<double, float64>::operator%(double arg) const {  return arg;}template<> floatMScalar<float, float32>::operator%(float arg) const {  return arg;}template<> MScalar<double, float64>&MScalar<double, float64>::operator%= (double arg) {  return *this;}template<> MScalar<float, float32>&MScalar<float, float32>::operator%= (float arg) {  return *this;}template<> doubleMScalar<double, float64>::bor(double arg1, double arg2) {  return arg1;}template<> floatMScalar<float, float32>::bor(float arg1, float arg2) {  return arg1;}template<> doubleMScalar<double, float64>::band(double arg1, double arg2) {  return arg1;}template<> floatMScalar<float, float32>::band(float arg1, float arg2) {  return arg1;}template<> doubleMScalar<double, float64>::bxor(double arg1, double arg2) {  return arg1;}template<> floatMScalar<float, float32>::bxor(float arg1, float arg2) {  return arg1;}template<> doubleMScalar<double, float64>::brs(double arg1, double arg2) {  return arg1;}template<> floatMScalar<float, float32>::brs(float arg1, float arg2) {  return arg1;}template<> doubleMScalar<double, float64>::bls(double arg1, double arg2) {  return arg1;}template<> floatMScalar<float, float32>::bls(float arg1, float arg2) {  return arg1;}template<> doubleMScalar<double, float64>::bcmpl(double arg) {  return arg;}template<> floatMScalar<float, float32>::bcmpl(float arg1) {  return arg1;}template<> doubleMScalar<double, float64>::fraction(double arg) {  return (value_d = Integral::fraction(arg)); }template<> floatMScalar<float, float32>::fraction(float arg) {  return (value_d = Integral::fraction(arg)); }template<> byteMScalar<byte, byte8>::neg(byte arg) {  Error::handle(name(), L"neg", Error::TEST, __FILE__, __LINE__);  return (byte)0; }template<> ulongMScalar<ulong, uint32>::neg(ulong arg) {    Error::handle(name(), L"neg", Error::TEST, __FILE__, __LINE__);    return (ulong)0; }template<> ullongMScalar<ullong, uint64>::neg(ullong arg) {   Error::handle(name(), L"neg", Error::TEST, __FILE__, __LINE__);   return (ullong)0; }template<> ushortMScalar<ushort, uint16>::neg(ushort arg) {   Error::handle(name(), L"neg", Error::TEST, __FILE__, __LINE__);   return (ushort)0; }template<> byteMScalar<byte, byte8>::abs(byte arg) {  Error::handle(name(), L"abs", Error::TEST, __FILE__, __LINE__);  return (byte)0; }template<> ulongMScalar<ulong, uint32>::abs(ulong arg) {  Error::handle(name(), L"abs", Error::TEST, __FILE__, __LINE__);  return (ulong)0; }template<> ullongMScalar<ullong, uint64>::abs(ullong arg) {  Error::handle(name(), L"abs", Error::TEST, __FILE__, __LINE__);  return (ullong)0; }template<> ushortMScalar<ushort, uint16>::abs(ushort arg) {  Error::handle(name(), L"abs", Error::TEST, __FILE__, __LINE__);  return (ushort)0; }template<> byteMScalar<byte, byte8>::sign(byte arg) {    Error::handle(name(), L"sign", Error::TEST, __FILE__, __LINE__);    return (byte)0;}template<> ulongMScalar<ulong, uint32>::sign(ulong arg) {  Error::handle(name(), L"sign", Error::TEST, __FILE__, __LINE__);  return (ulong)0;}template<> ullongMScalar<ullong, uint64>::sign(ullong arg) {  Error::handle(name(), L"sign", Error::TEST, __FILE__, __LINE__);  return (ullong)0;}template<> ushortMScalar<ushort, uint16>::sign(ushort arg) {  Error::handle(name(), L"sign", Error::TEST, __FILE__, __LINE__);  return (ushort)0;}template<> byteMScalar<byte, byte8>::acos(byte arg) {  Error::handle(name(), L"acos", Error::TEST, __FILE__, __LINE__);  return (byte)0;}template<> ullongMScalar<ullong, uint64>::acos(ullong arg) {  Error::handle(name(), L"acos", Error::TEST, __FILE__, __LINE__);  return (ullong)0;}template<> ulongMScalar<ulong, uint32>::acos(ulong arg) {  Error::handle(name(), L"acos", Error::TEST, __FILE__, __LINE__);  return (ulong)0;}template<> ushortMScalar<ushort, uint16>::acos(ushort arg) {  Error::handle(name(), L"acos", Error::TEST, __FILE__, __LINE__);  return (ushort)0;}template<> llongMScalar<llong, int64>::acos(llong arg) {  Error::handle(name(), L"acos", Error::TEST, __FILE__, __LINE__);  return (llong)0;}template<> longMScalar<long, int32>::acos(long arg) {  Error::handle(name(), L"acos", Error::TEST, __FILE__, __LINE__);  return (long)0;

⌨️ 快捷键说明

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