Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

nncmath.h

Go to the documentation of this file.
00001 #ifndef __NNCMATH_H
00002 #define __NNCMATH_H
00003 
00004 #define MULTIPLIER 1000
00005 #define SIN_TABLE_SIZE 10000
00006 #define SIN_DEFAULT_VALUE -2.0
00007 #define COS_TABLE_SIZE 10000
00008 #define COS_DEFAULT_VALUE -2.0
00009 #define TAN_TABLE_SIZE 10000
00010 #define TAN_DEFAULT_VALUE -2.0
00011 #define ARC_SIN_TABLE_SIZE 10000
00012 #define ARC_SIN_DEFAULT_VALUE -1.0
00013 #define ARC_COS_TABLE_SIZE 10000
00014 #define ARC_COS_DEFAULT_VALUE -1.0
00015 #define ARC_TAN_TABLE_SIZE 40000 
00016 #define ARC_TAN_DEFAULT_VALUE -1.0
00017 #define ROOT_TABLE_SIZE 100000
00018 #define ROOT_DEFAULT_VALUE -1.0
00019 #include <math.h>
00020 
00021 typedef struct _degree {
00022   double value;
00023 } degree;
00024 
00025 typedef struct _radian {
00026   double value;
00027 } radian;
00028 
00029 
00030 
00031 class NNCMath {
00032  public:  
00033   static void MathInit();
00034   static double Sin(degree d);
00035   static double Cos(degree d);
00036   static double Tan(degree d);
00037   static double Sin(radian r);
00038   static double Cos(radian r);
00039   static double Tan(radian r);
00040   static radian ArcSin(double d);
00041   static radian ArcCos(double d); 
00042   static radian ArcTan(double d);
00043   static double SRoot(double d);
00044   static const double PI;
00045   static const double TWO_PI;
00046   static const double PI_OVER_TWO;
00047  private:
00048   static double sinTable[SIN_TABLE_SIZE];
00049   static double cosTable[COS_TABLE_SIZE];
00050   static double tanTable[TAN_TABLE_SIZE];
00051   static double arcSinTable[ARC_SIN_TABLE_SIZE];
00052   static double arcCosTable[ARC_COS_TABLE_SIZE];
00053   static double arcTanTable[ARC_TAN_TABLE_SIZE];
00054   static double sRootTable[ROOT_TABLE_SIZE];
00055   
00056 };
00057 
00058 #endif
00059 

Generated on Sun Dec 8 12:02:19 2002 for nnc by doxygen1.3-rc1