math_object.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _MATH_OBJECT_H_
00023 #define _MATH_OBJECT_H_
00024
00025 #include "internal.h"
00026 #include "function_object.h"
00027
00028 namespace KJS {
00029
00030 class MathObjectImp : public ObjectImp {
00031 public:
00032 MathObjectImp(ExecState *exec,
00033 ObjectPrototypeImp *objProto);
00034 Value get(ExecState *exec, const Identifier &p) const;
00035 Value getValueProperty(ExecState *exec, int token) const;
00036 virtual const ClassInfo *classInfo() const { return &info; }
00037 static const ClassInfo info;
00038 enum { Euler, Ln2, Ln10, Log2E, Log10E, Pi, Sqrt1_2, Sqrt2,
00039 Abs, ACos, ASin, ATan, ATan2, Ceil, Cos, Pow,
00040 Exp, Floor, Log, Max, Min, Random, Round, Sin, Sqrt, Tan };
00041 };
00042
00043 class MathFuncImp : public InternalFunctionImp {
00044 public:
00045 MathFuncImp(ExecState *exec, int i, int l);
00046 virtual bool implementsCall() const;
00047 virtual Value call(ExecState *exec, Object &thisObj, const List &args);
00048 private:
00049 int id;
00050 };
00051
00052 }
00053
00054 #endif
|