sinc.cpp
上传用户:jtjnyq9001
上传日期:2014-11-21
资源大小:3974k
文件大小:1k
源码类别:

3G开发

开发平台:

Visual C++

  1. //
  2. //  File = sinc.cpp
  3. //
  4. #include <stdlib.h>
  5. #include <math.h>
  6. #include "sinc.h"
  7. #include <iostream>
  8. #ifndef PI
  9.   #define PI 3.1415926535897932
  10. #endif
  11. using namespace std;
  12. double sinc(double x)
  13. {
  14.   double val;
  15.    if (x == 0.0)
  16.    { 
  17.       return( 1.0 ); 
  18.    }
  19.    else if(ceil(x) == floor(x))
  20.    {
  21.       return(0.0);
  22.    }
  23.    else
  24.    { 
  25.    val = sin(PI*x)/(PI*x);
  26.    //val = sin(x)/x;
  27.    if(val > 2.0)
  28.     {
  29.     cout << "val = " << val << endl;
  30.     exit(-1);
  31.     }
  32.    return(val);
  33.    }  
  34. }
  35. double sinc_sqrd(double x)
  36. {
  37.   double val;
  38.  if (x == 0.0)
  39.    { return( 1.0 ); }
  40.  else
  41.    { 
  42.    val = sin(PI*x)/(PI*x);
  43.    if(val > 2.0)
  44.     {
  45.     cout << "val = " << val << endl;
  46.     exit(-1);
  47.     }
  48.    return(val*val);
  49.    }  
  50. }
  51. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++