rOpLib.h

00001 #ifndef  __REAL_OPERATOR_LIB__
00002 #define  __REAL_OPERATOR_LIB__
00003 #include "OpLib.h"
00004 #include "symfunimpexp.h"
00005 
00006 class __IMPEXP__ CAMrealOperatorLib : public CAMoperatorLib
00007 {
00008 
00009 public :
00010 
00011     static void evaluate(int i, double** argPtr);
00012 
00013     int getOperatorIndex(char*);
00014     int getUnaryOperatorIndex(char*);
00015     int getBinaryOperatorIndex(char*);
00016 
00017     int   getOperatorPriority(int index);
00018     char* getOperatorSymbol(int index);
00019     int   getOperatorCount();
00020     int   getOperatorArgCount(int index);
00021 
00022     static void** getFunctionArrayPtr();
00023 
00024 public :
00025 
00026 //
00027 //  Unary Operators
00028 //
00029         static void Plus(double**);                    // +x //
00030     static void Minus(double**);                   // -x //
00031 
00032 
00033 // Binary Operators
00034 
00035     static void Add(double**);                     // x + y //
00036     static void Subtract(double**);                // x - y //
00037 
00038     static void Times(double **);                  // x * y //
00039     static void Divide(double **);                 // x / y //
00040     static void Exponentiate(double **);           // x ^ y //
00041 //
00042 // Operators
00043 //
00044     static void Sin(double**);
00045     static void Cos(double**);
00046     static void Tan(double**);
00047     static void Asin(double**);
00048     static void Acos(double**);
00049     static void Atan(double**);
00050         static void Atan2(double**);
00051     static void Sinh(double**);
00052     static void Cosh(double**);
00053     static void Tanh(double**);
00054     static void Ceil(double**);
00055     static void Exp(double**);
00056     static void Fabs(double**);
00057     static void Floor(double**);
00058     static void Fmod(double**);
00059     static void Log(double**);
00060     static void Log10(double**);
00061     static void Sqrt(double**);
00062     static void Pow(double**);
00063 //
00064 //  Symbol Table
00065 //
00066         static int operatorCount;
00067         static char* Symbols[];
00068     static int   Priority[];
00069     static int   ArgCount[];
00070     static void* FunctionArray[];
00071 };
00072 #endif
00073 

Generated on Wed Jan 14 09:18:14 2009 for DoubleVector by  doxygen 1.5.1-p1