Changeset 34659 in webkit for trunk/JavaScriptCore/kjs/MathObject.cpp
- Timestamp:
- Jun 19, 2008, 10:29:29 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/MathObject.cpp
r34587 r34659 77 77 } 78 78 79 JSValue* MathObject::getValueProperty(ExecState* , int token) const79 JSValue* MathObject::getValueProperty(ExecState* exec, int token) const 80 80 { 81 81 switch (token) { 82 82 case Euler: 83 return jsNumber(ex p(1.0));83 return jsNumber(exec, exp(1.0)); 84 84 case Ln2: 85 return jsNumber( log(2.0));85 return jsNumber(exec, log(2.0)); 86 86 case Ln10: 87 return jsNumber( log(10.0));87 return jsNumber(exec, log(10.0)); 88 88 case Log2E: 89 return jsNumber( 1.0 / log(2.0));89 return jsNumber(exec, 1.0 / log(2.0)); 90 90 case Log10E: 91 return jsNumber( 1.0 / log(10.0));91 return jsNumber(exec, 1.0 / log(10.0)); 92 92 case Pi: 93 return jsNumber( piDouble);93 return jsNumber(exec, piDouble); 94 94 case Sqrt1_2: 95 return jsNumber( sqrt(0.5));95 return jsNumber(exec, sqrt(0.5)); 96 96 case Sqrt2: 97 return jsNumber( sqrt(2.0));97 return jsNumber(exec, sqrt(2.0)); 98 98 } 99 99 … … 107 107 { 108 108 double arg = args[0]->toNumber(exec); 109 return signbit(arg) ? jsNumber( -arg) : jsNumber(arg);109 return signbit(arg) ? jsNumber(exec, -arg) : jsNumber(exec, arg); 110 110 } 111 111 112 112 JSValue* mathProtoFuncACos(ExecState* exec, JSObject*, const ArgList& args) 113 113 { 114 return jsNumber( acos(args[0]->toNumber(exec)));114 return jsNumber(exec, acos(args[0]->toNumber(exec))); 115 115 } 116 116 117 117 JSValue* mathProtoFuncASin(ExecState* exec, JSObject*, const ArgList& args) 118 118 { 119 return jsNumber( asin(args[0]->toNumber(exec)));119 return jsNumber(exec, asin(args[0]->toNumber(exec))); 120 120 } 121 121 122 122 JSValue* mathProtoFuncATan(ExecState* exec, JSObject*, const ArgList& args) 123 123 { 124 return jsNumber( atan(args[0]->toNumber(exec)));124 return jsNumber(exec, atan(args[0]->toNumber(exec))); 125 125 } 126 126 127 127 JSValue* mathProtoFuncATan2(ExecState* exec, JSObject*, const ArgList& args) 128 128 { 129 return jsNumber( atan2(args[0]->toNumber(exec), args[1]->toNumber(exec)));129 return jsNumber(exec, atan2(args[0]->toNumber(exec), args[1]->toNumber(exec))); 130 130 } 131 131 … … 134 134 double arg = args[0]->toNumber(exec); 135 135 if (signbit(arg) && arg > -1.0) 136 return jsNumber( -0.0);137 return jsNumber( ceil(arg));136 return jsNumber(exec, -0.0); 137 return jsNumber(exec, ceil(arg)); 138 138 } 139 139 140 140 JSValue* mathProtoFuncCos(ExecState* exec, JSObject*, const ArgList& args) 141 141 { 142 return jsNumber( cos(args[0]->toNumber(exec)));142 return jsNumber(exec, cos(args[0]->toNumber(exec))); 143 143 } 144 144 145 145 JSValue* mathProtoFuncExp(ExecState* exec, JSObject*, const ArgList& args) 146 146 { 147 return jsNumber(ex p(args[0]->toNumber(exec)));147 return jsNumber(exec, exp(args[0]->toNumber(exec))); 148 148 } 149 149 … … 152 152 double arg = args[0]->toNumber(exec); 153 153 if (signbit(arg) && arg == 0.0) 154 return jsNumber( -0.0);155 return jsNumber( floor(arg));154 return jsNumber(exec, -0.0); 155 return jsNumber(exec, floor(arg)); 156 156 } 157 157 158 158 JSValue* mathProtoFuncLog(ExecState* exec, JSObject*, const ArgList& args) 159 159 { 160 return jsNumber( log(args[0]->toNumber(exec)));160 return jsNumber(exec, log(args[0]->toNumber(exec))); 161 161 } 162 162 … … 174 174 result = val; 175 175 } 176 return jsNumber( result);176 return jsNumber(exec, result); 177 177 } 178 178 … … 190 190 result = val; 191 191 } 192 return jsNumber( result);192 return jsNumber(exec, result); 193 193 } 194 194 … … 201 201 202 202 if (isnan(arg2)) 203 return jsNaN( );203 return jsNaN(exec); 204 204 if (isinf(arg2) && fabs(arg) == 1) 205 return jsNaN( );206 return jsNumber( pow(arg, arg2));207 } 208 209 JSValue* mathProtoFuncRandom(ExecState* , JSObject*, const ArgList&)205 return jsNaN(exec); 206 return jsNumber(exec, pow(arg, arg2)); 207 } 208 209 JSValue* mathProtoFuncRandom(ExecState* exec, JSObject*, const ArgList&) 210 210 { 211 211 #if !USE(MULTIPLE_THREADS) … … 217 217 #endif 218 218 219 return jsNumber( wtf_random());219 return jsNumber(exec, wtf_random()); 220 220 } 221 221 … … 224 224 double arg = args[0]->toNumber(exec); 225 225 if (signbit(arg) && arg >= -0.5) 226 return jsNumber( -0.0);227 return jsNumber( floor(arg + 0.5));226 return jsNumber(exec, -0.0); 227 return jsNumber(exec, floor(arg + 0.5)); 228 228 } 229 229 230 230 JSValue* mathProtoFuncSin(ExecState* exec, JSObject*, const ArgList& args) 231 231 { 232 return jsNumber( sin(args[0]->toNumber(exec)));232 return jsNumber(exec, sin(args[0]->toNumber(exec))); 233 233 } 234 234 235 235 JSValue* mathProtoFuncSqrt(ExecState* exec, JSObject*, const ArgList& args) 236 236 { 237 return jsNumber( sqrt(args[0]->toNumber(exec)));237 return jsNumber(exec, sqrt(args[0]->toNumber(exec))); 238 238 } 239 239 240 240 JSValue* mathProtoFuncTan(ExecState* exec, JSObject*, const ArgList& args) 241 241 { 242 return jsNumber( tan(args[0]->toNumber(exec)));242 return jsNumber(exec, tan(args[0]->toNumber(exec))); 243 243 } 244 244
Note:
See TracChangeset
for help on using the changeset viewer.