Changeset 216178 in webkit for trunk/Source/JavaScriptCore/runtime/MathObject.cpp
- Timestamp:
- May 4, 2017, 4:40:46 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/MathObject.cpp
r211247 r216178 79 79 ASSERT(inherits(vm, info())); 80 80 81 putDirectWithoutTransition(vm, Identifier::fromString(&vm, "E"), jsNumber( exp(1.0)), DontDelete | DontEnum | ReadOnly);82 putDirectWithoutTransition(vm, Identifier::fromString(&vm, "LN2"), jsNumber( log(2.0)), DontDelete | DontEnum | ReadOnly);83 putDirectWithoutTransition(vm, Identifier::fromString(&vm, "LN10"), jsNumber( log(10.0)), DontDelete | DontEnum | ReadOnly);84 putDirectWithoutTransition(vm, Identifier::fromString(&vm, "LOG2E"), jsNumber(1.0 / log(2.0)), DontDelete | DontEnum | ReadOnly);81 putDirectWithoutTransition(vm, Identifier::fromString(&vm, "E"), jsNumber(Math::exp(1.0)), DontDelete | DontEnum | ReadOnly); 82 putDirectWithoutTransition(vm, Identifier::fromString(&vm, "LN2"), jsNumber(Math::log(2.0)), DontDelete | DontEnum | ReadOnly); 83 putDirectWithoutTransition(vm, Identifier::fromString(&vm, "LN10"), jsNumber(Math::log(10.0)), DontDelete | DontEnum | ReadOnly); 84 putDirectWithoutTransition(vm, Identifier::fromString(&vm, "LOG2E"), jsNumber(1.0 / Math::log(2.0)), DontDelete | DontEnum | ReadOnly); 85 85 putDirectWithoutTransition(vm, Identifier::fromString(&vm, "LOG10E"), jsNumber(0.4342944819032518), DontDelete | DontEnum | ReadOnly); 86 86 putDirectWithoutTransition(vm, Identifier::fromString(&vm, "PI"), jsNumber(piDouble), DontDelete | DontEnum | ReadOnly); … … 90 90 91 91 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "abs"), 1, mathProtoFuncAbs, AbsIntrinsic, DontEnum); 92 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "acos"), 1, mathProtoFuncACos, NoIntrinsic, DontEnum);93 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "asin"), 1, mathProtoFuncASin, NoIntrinsic, DontEnum);94 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "atan"), 1, mathProtoFuncATan, NoIntrinsic, DontEnum);95 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "acosh"), 1, mathProtoFuncACosh, NoIntrinsic, DontEnum);96 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "asinh"), 1, mathProtoFuncASinh, NoIntrinsic, DontEnum);97 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "atanh"), 1, mathProtoFuncATanh, NoIntrinsic, DontEnum);92 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "acos"), 1, mathProtoFuncACos, ACosIntrinsic, DontEnum); 93 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "asin"), 1, mathProtoFuncASin, ASinIntrinsic, DontEnum); 94 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "atan"), 1, mathProtoFuncATan, ATanIntrinsic, DontEnum); 95 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "acosh"), 1, mathProtoFuncACosh, ACoshIntrinsic, DontEnum); 96 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "asinh"), 1, mathProtoFuncASinh, ASinhIntrinsic, DontEnum); 97 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "atanh"), 1, mathProtoFuncATanh, ATanhIntrinsic, DontEnum); 98 98 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "atan2"), 2, mathProtoFuncATan2, NoIntrinsic, DontEnum); 99 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "cbrt"), 1, mathProtoFuncCbrt, NoIntrinsic, DontEnum);99 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "cbrt"), 1, mathProtoFuncCbrt, CbrtIntrinsic, DontEnum); 100 100 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "ceil"), 1, mathProtoFuncCeil, CeilIntrinsic, DontEnum); 101 101 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "clz32"), 1, mathProtoFuncClz32, Clz32Intrinsic, DontEnum); 102 102 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "cos"), 1, mathProtoFuncCos, CosIntrinsic, DontEnum); 103 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "cosh"), 1, mathProtoFuncCosh, NoIntrinsic, DontEnum);103 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "cosh"), 1, mathProtoFuncCosh, CoshIntrinsic, DontEnum); 104 104 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "exp"), 1, mathProtoFuncExp, ExpIntrinsic, DontEnum); 105 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "expm1"), 1, mathProtoFuncExpm1, NoIntrinsic, DontEnum);105 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "expm1"), 1, mathProtoFuncExpm1, Expm1Intrinsic, DontEnum); 106 106 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "floor"), 1, mathProtoFuncFloor, FloorIntrinsic, DontEnum); 107 107 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "fround"), 1, mathProtoFuncFround, FRoundIntrinsic, DontEnum); 108 108 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "hypot"), 2, mathProtoFuncHypot, NoIntrinsic, DontEnum); 109 109 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "log"), 1, mathProtoFuncLog, LogIntrinsic, DontEnum); 110 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "log10"), 1, mathProtoFuncLog10, NoIntrinsic, DontEnum);111 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "log1p"), 1, mathProtoFuncLog1p, NoIntrinsic, DontEnum);112 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "log2"), 1, mathProtoFuncLog2, NoIntrinsic, DontEnum);110 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "log10"), 1, mathProtoFuncLog10, Log10Intrinsic, DontEnum); 111 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "log1p"), 1, mathProtoFuncLog1p, Log1pIntrinsic, DontEnum); 112 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "log2"), 1, mathProtoFuncLog2, Log2Intrinsic, DontEnum); 113 113 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "max"), 2, mathProtoFuncMax, MaxIntrinsic, DontEnum); 114 114 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "min"), 2, mathProtoFuncMin, MinIntrinsic, DontEnum); … … 118 118 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "sign"), 1, mathProtoFuncSign, NoIntrinsic, DontEnum); 119 119 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "sin"), 1, mathProtoFuncSin, SinIntrinsic, DontEnum); 120 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "sinh"), 1, mathProtoFuncSinh, NoIntrinsic, DontEnum);120 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "sinh"), 1, mathProtoFuncSinh, SinhIntrinsic, DontEnum); 121 121 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "sqrt"), 1, mathProtoFuncSqrt, SqrtIntrinsic, DontEnum); 122 122 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "tan"), 1, mathProtoFuncTan, TanIntrinsic, DontEnum); 123 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "tanh"), 1, mathProtoFuncTanh, NoIntrinsic, DontEnum);123 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "tanh"), 1, mathProtoFuncTanh, TanhIntrinsic, DontEnum); 124 124 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "trunc"), 1, mathProtoFuncTrunc, TruncIntrinsic, DontEnum); 125 125 putDirectNativeFunctionWithoutTransition(vm, globalObject, Identifier::fromString(&vm, "imul"), 2, mathProtoFuncIMul, IMulIntrinsic, DontEnum); … … 135 135 EncodedJSValue JSC_HOST_CALL mathProtoFuncACos(ExecState* exec) 136 136 { 137 return JSValue::encode(jsDoubleNumber( acos(exec->argument(0).toNumber(exec))));137 return JSValue::encode(jsDoubleNumber(Math::acos(exec->argument(0).toNumber(exec)))); 138 138 } 139 139 140 140 EncodedJSValue JSC_HOST_CALL mathProtoFuncASin(ExecState* exec) 141 141 { 142 return JSValue::encode(jsDoubleNumber( asin(exec->argument(0).toNumber(exec))));142 return JSValue::encode(jsDoubleNumber(Math::asin(exec->argument(0).toNumber(exec)))); 143 143 } 144 144 145 145 EncodedJSValue JSC_HOST_CALL mathProtoFuncATan(ExecState* exec) 146 146 { 147 return JSValue::encode(jsDoubleNumber( atan(exec->argument(0).toNumber(exec))));147 return JSValue::encode(jsDoubleNumber(Math::atan(exec->argument(0).toNumber(exec)))); 148 148 } 149 149 … … 171 171 EncodedJSValue JSC_HOST_CALL mathProtoFuncCos(ExecState* exec) 172 172 { 173 return JSValue::encode(jsDoubleNumber( cos(exec->argument(0).toNumber(exec))));173 return JSValue::encode(jsDoubleNumber(Math::cos(exec->argument(0).toNumber(exec)))); 174 174 } 175 175 176 176 EncodedJSValue JSC_HOST_CALL mathProtoFuncExp(ExecState* exec) 177 177 { 178 return JSValue::encode(jsDoubleNumber( exp(exec->argument(0).toNumber(exec))));178 return JSValue::encode(jsDoubleNumber(Math::exp(exec->argument(0).toNumber(exec)))); 179 179 } 180 180 … … 216 216 EncodedJSValue JSC_HOST_CALL mathProtoFuncLog(ExecState* exec) 217 217 { 218 return JSValue::encode(jsDoubleNumber( log(exec->argument(0).toNumber(exec))));218 return JSValue::encode(jsDoubleNumber(Math::log(exec->argument(0).toNumber(exec)))); 219 219 } 220 220 … … 279 279 EncodedJSValue JSC_HOST_CALL mathProtoFuncSin(ExecState* exec) 280 280 { 281 return JSValue::encode(jsDoubleNumber( sin(exec->argument(0).toNumber(exec))));281 return JSValue::encode(jsDoubleNumber(Math::sin(exec->argument(0).toNumber(exec)))); 282 282 } 283 283 … … 289 289 EncodedJSValue JSC_HOST_CALL mathProtoFuncTan(ExecState* exec) 290 290 { 291 return JSValue::encode(jsDoubleNumber( tan(exec->argument(0).toNumber(exec))));291 return JSValue::encode(jsDoubleNumber(Math::tan(exec->argument(0).toNumber(exec)))); 292 292 } 293 293 … … 305 305 EncodedJSValue JSC_HOST_CALL mathProtoFuncACosh(ExecState* exec) 306 306 { 307 return JSValue::encode(jsDoubleNumber( acosh(exec->argument(0).toNumber(exec))));307 return JSValue::encode(jsDoubleNumber(Math::acosh(exec->argument(0).toNumber(exec)))); 308 308 } 309 309 310 310 EncodedJSValue JSC_HOST_CALL mathProtoFuncASinh(ExecState* exec) 311 311 { 312 return JSValue::encode(jsDoubleNumber( asinh(exec->argument(0).toNumber(exec))));312 return JSValue::encode(jsDoubleNumber(Math::asinh(exec->argument(0).toNumber(exec)))); 313 313 } 314 314 315 315 EncodedJSValue JSC_HOST_CALL mathProtoFuncATanh(ExecState* exec) 316 316 { 317 return JSValue::encode(jsDoubleNumber( atanh(exec->argument(0).toNumber(exec))));317 return JSValue::encode(jsDoubleNumber(Math::atanh(exec->argument(0).toNumber(exec)))); 318 318 } 319 319 320 320 EncodedJSValue JSC_HOST_CALL mathProtoFuncCbrt(ExecState* exec) 321 321 { 322 return JSValue::encode(jsDoubleNumber( cbrt(exec->argument(0).toNumber(exec))));322 return JSValue::encode(jsDoubleNumber(Math::cbrt(exec->argument(0).toNumber(exec)))); 323 323 } 324 324 325 325 EncodedJSValue JSC_HOST_CALL mathProtoFuncCosh(ExecState* exec) 326 326 { 327 return JSValue::encode(jsDoubleNumber( cosh(exec->argument(0).toNumber(exec))));327 return JSValue::encode(jsDoubleNumber(Math::cosh(exec->argument(0).toNumber(exec)))); 328 328 } 329 329 330 330 EncodedJSValue JSC_HOST_CALL mathProtoFuncExpm1(ExecState* exec) 331 331 { 332 return JSValue::encode(jsDoubleNumber( expm1(exec->argument(0).toNumber(exec))));332 return JSValue::encode(jsDoubleNumber(Math::expm1(exec->argument(0).toNumber(exec)))); 333 333 } 334 334 … … 340 340 EncodedJSValue JSC_HOST_CALL mathProtoFuncLog1p(ExecState* exec) 341 341 { 342 double value = exec->argument(0).toNumber(exec); 343 if (value == 0) 344 return JSValue::encode(jsDoubleNumber(value)); 345 return JSValue::encode(jsDoubleNumber(log1p(value))); 342 return JSValue::encode(jsDoubleNumber(Math::log1p(exec->argument(0).toNumber(exec)))); 346 343 } 347 344 348 345 EncodedJSValue JSC_HOST_CALL mathProtoFuncLog10(ExecState* exec) 349 346 { 350 return JSValue::encode(jsDoubleNumber( log10(exec->argument(0).toNumber(exec))));347 return JSValue::encode(jsDoubleNumber(Math::log10(exec->argument(0).toNumber(exec)))); 351 348 } 352 349 353 350 EncodedJSValue JSC_HOST_CALL mathProtoFuncLog2(ExecState* exec) 354 351 { 355 return JSValue::encode(jsDoubleNumber( log2(exec->argument(0).toNumber(exec))));352 return JSValue::encode(jsDoubleNumber(Math::log2(exec->argument(0).toNumber(exec)))); 356 353 } 357 354 358 355 EncodedJSValue JSC_HOST_CALL mathProtoFuncSinh(ExecState* exec) 359 356 { 360 return JSValue::encode(jsDoubleNumber( sinh(exec->argument(0).toNumber(exec))));357 return JSValue::encode(jsDoubleNumber(Math::sinh(exec->argument(0).toNumber(exec)))); 361 358 } 362 359 363 360 EncodedJSValue JSC_HOST_CALL mathProtoFuncTanh(ExecState* exec) 364 361 { 365 return JSValue::encode(jsDoubleNumber( tanh(exec->argument(0).toNumber(exec))));362 return JSValue::encode(jsDoubleNumber(Math::tanh(exec->argument(0).toNumber(exec)))); 366 363 } 367 364
Note:
See TracChangeset
for help on using the changeset viewer.