зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset e8dfde56e9ca (bug 925123) for jsreftest failures; CLOSED TREE
This commit is contained in:
Родитель
23c2df160b
Коммит
229f4c5f0a
|
@ -309,29 +309,6 @@ js::math_ceil(JSContext *cx, unsigned argc, Value *vp)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
js::math_clz32(JSContext *cx, unsigned argc, Value *vp)
|
||||
{
|
||||
CallArgs args = CallArgsFromVp(argc, vp);
|
||||
|
||||
if (args.length() == 0) {
|
||||
args.rval().setInt32(32);
|
||||
return true;
|
||||
}
|
||||
|
||||
uint32_t n;
|
||||
if (!ToUint32(cx, args[0], &n))
|
||||
return false;
|
||||
|
||||
if (n == 0) {
|
||||
args.rval().setInt32(32);
|
||||
return true;
|
||||
}
|
||||
|
||||
args.rval().setInt32(mozilla::CountLeadingZeroes32(n));
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Fast sine and cosine approximation code, based on the sin [0] and cos [1]
|
||||
* implementations [2] in the cephes library [3].
|
||||
|
@ -1558,7 +1535,6 @@ static const JSFunctionSpec math_static_methods[] = {
|
|||
JS_FN("atan", math_atan, 1, 0),
|
||||
JS_FN("atan2", math_atan2, 2, 0),
|
||||
JS_FN("ceil", math_ceil, 1, 0),
|
||||
JS_FN("clz32", math_clz32, 1, 0),
|
||||
JS_FN("cos", math_cos, 1, 0),
|
||||
JS_FN("exp", math_exp, 1, 0),
|
||||
JS_FN("floor", math_floor, 1, 0),
|
||||
|
|
|
@ -247,9 +247,6 @@ math_ceil(JSContext *cx, unsigned argc, Value *vp);
|
|||
extern double
|
||||
math_ceil_impl(double x);
|
||||
|
||||
extern bool
|
||||
math_clz32(JSContext *cx, unsigned argc, Value *vp);
|
||||
|
||||
extern bool
|
||||
math_floor(JSContext *cx, unsigned argc, Value *vp);
|
||||
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
// Undefined and NaN end up as zero after ToUint32
|
||||
assertEq(Math.clz32(), 32);
|
||||
assertEq(Math.clz32(NaN), 32);
|
||||
assertEq(Math.clz32.call(), 32);
|
||||
// 0
|
||||
assertEq(Math.clz32(null), 32);
|
||||
assertEq(Math.clz32(false), 32);
|
||||
// 1
|
||||
assertEq(Math.clz32(true), 31);
|
||||
// 3
|
||||
assertEq(Math.clz32(3.5), 30);
|
||||
// NaN -> 0
|
||||
assertEq(Math.clz32({}), 32);
|
||||
// 2
|
||||
assertEq(Math.clz32({valueOf: function() { return 2; }}), 30);
|
||||
// 0 -> 0
|
||||
assertEq(Math.clz32([]), 32);
|
||||
assertEq(Math.clz32(""), 32);
|
||||
// NaN -> 0
|
||||
assertEq(Math.clz32([1, 2, 3]), 32);
|
||||
assertEq(Math.clz32("bar"), 32);
|
||||
// 15
|
||||
assertEq(Math.clz32("15"), 28);
|
||||
|
||||
|
||||
assertEq(Math.clz32(0x80000000), 0);
|
||||
assertEq(Math.clz32(0xF0FF1000), 0);
|
||||
assertEq(Math.clz32(0x7F8F0001), 1);
|
||||
assertEq(Math.clz32(0x3FFF0100), 2);
|
||||
assertEq(Math.clz32(0x1FF50010), 3);
|
||||
assertEq(Math.clz32(0x00800000), 8);
|
||||
assertEq(Math.clz32(0x00400000), 9);
|
||||
assertEq(Math.clz32(0x00008000), 16);
|
||||
assertEq(Math.clz32(0x00004000), 17);
|
||||
assertEq(Math.clz32(0x00000080), 24);
|
||||
assertEq(Math.clz32(0x00000040), 25);
|
||||
assertEq(Math.clz32(0x00000001), 31);
|
||||
assertEq(Math.clz32(0), 32);
|
Загрузка…
Ссылка в новой задаче