Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(404)

Unified Diff: lib/runtime/dart/math.js

Issue 1348453004: fix some errors in our SDK, mostly around numbers (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/runtime/dart/js.js ('k') | lib/runtime/dart_runtime.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/runtime/dart/math.js
diff --git a/lib/runtime/dart/math.js b/lib/runtime/dart/math.js
index 5c172e8e7cf57965dc037bbdd067d34d2feb37ad..6772d8dcfef80598b6e4dc834c67769814b8c6ca 100644
--- a/lib/runtime/dart/math.js
+++ b/lib/runtime/dart/math.js
@@ -52,29 +52,29 @@ dart_library.library('dart/math', null, /* Imports */[
}
['+'](other) {
dart.as(other, Point$(T));
- return new (Point$(T))(dart.as(this.x['+'](other.x), T), dart.as(this.y['+'](other.y), T));
+ return new (Point$(T))(dart.notNull(this.x) + dart.notNull(other.x), dart.notNull(this.y) + dart.notNull(other.y));
}
['-'](other) {
dart.as(other, Point$(T));
- return new (Point$(T))(dart.as(this.x['-'](other.x), T), dart.as(this.y['-'](other.y), T));
+ return new (Point$(T))(dart.notNull(this.x) - dart.notNull(other.x), dart.notNull(this.y) - dart.notNull(other.y));
}
['*'](factor) {
- return new (Point$(T))(dart.as(this.x['*'](factor), T), dart.as(this.y['*'](factor), T));
+ return new (Point$(T))(dart.notNull(this.x) * dart.notNull(factor), dart.notNull(this.y) * dart.notNull(factor));
}
get magnitude() {
- return sqrt(dart.notNull(this.x['*'](this.x)) + dart.notNull(this.y['*'](this.y)));
+ return sqrt(dart.notNull(this.x) * dart.notNull(this.x) + dart.notNull(this.y) * dart.notNull(this.y));
}
distanceTo(other) {
dart.as(other, Point$(T));
- let dx = this.x['-'](other.x);
- let dy = this.y['-'](other.y);
+ let dx = dart.notNull(this.x) - dart.notNull(other.x);
+ let dy = dart.notNull(this.y) - dart.notNull(other.y);
return sqrt(dart.notNull(dx) * dart.notNull(dx) + dart.notNull(dy) * dart.notNull(dy));
}
squaredDistanceTo(other) {
dart.as(other, Point$(T));
- let dx = this.x['-'](other.x);
- let dy = this.y['-'](other.y);
- return dart.as(dart.notNull(dx) * dart.notNull(dx) + dart.notNull(dy) * dart.notNull(dy), T);
+ let dx = dart.notNull(this.x) - dart.notNull(other.x);
+ let dy = dart.notNull(this.y) - dart.notNull(other.y);
+ return dart.notNull(dx) * dart.notNull(dx) + dart.notNull(dy) * dart.notNull(dy);
}
}
dart.setSignature(Point, {
@@ -105,10 +105,10 @@ dart_library.library('dart/math', null, /* Imports */[
_RectangleBase() {
}
get right() {
- return dart.as(this.left['+'](this.width), T);
+ return dart.notNull(this.left) + dart.notNull(this.width);
}
get bottom() {
- return dart.as(this.top['+'](this.height), T);
+ return dart.notNull(this.top) + dart.notNull(this.height);
}
toString() {
return `Rectangle (${this.left}, ${this.top}) ${this.width} x ${this.height}`;
@@ -124,44 +124,44 @@ dart_library.library('dart/math', null, /* Imports */[
intersection(other) {
dart.as(other, Rectangle$(T));
let x0 = max(this.left, other.left);
- let x1 = min(this.left['+'](this.width), other.left['+'](other.width));
+ let x1 = min(dart.notNull(this.left) + dart.notNull(this.width), dart.notNull(other.left) + dart.notNull(other.width));
if (dart.notNull(x0) <= dart.notNull(x1)) {
let y0 = max(this.top, other.top);
- let y1 = min(this.top['+'](this.height), other.top['+'](other.height));
+ let y1 = min(dart.notNull(this.top) + dart.notNull(this.height), dart.notNull(other.top) + dart.notNull(other.height));
if (dart.notNull(y0) <= dart.notNull(y1)) {
- return new (Rectangle$(T))(dart.as(x0, T), dart.as(y0, T), dart.as(dart.notNull(x1) - dart.notNull(x0), T), dart.as(dart.notNull(y1) - dart.notNull(y0), T));
+ return new (Rectangle$(T))(x0, y0, dart.notNull(x1) - dart.notNull(x0), dart.notNull(y1) - dart.notNull(y0));
}
}
return null;
}
intersects(other) {
- return dart.notNull(this.left['<='](dart.notNull(other.left) + dart.notNull(other.width))) && dart.notNull(other.left) <= dart.notNull(this.left['+'](this.width)) && dart.notNull(this.top['<='](dart.notNull(other.top) + dart.notNull(other.height))) && dart.notNull(other.top) <= dart.notNull(this.top['+'](this.height));
+ return dart.notNull(this.left) <= dart.notNull(other.left) + dart.notNull(other.width) && dart.notNull(other.left) <= dart.notNull(this.left) + dart.notNull(this.width) && dart.notNull(this.top) <= dart.notNull(other.top) + dart.notNull(other.height) && dart.notNull(other.top) <= dart.notNull(this.top) + dart.notNull(this.height);
}
boundingBox(other) {
dart.as(other, Rectangle$(T));
- let right = max(this.left['+'](this.width), other.left['+'](other.width));
- let bottom = max(this.top['+'](this.height), other.top['+'](other.height));
+ let right = max(dart.notNull(this.left) + dart.notNull(this.width), dart.notNull(other.left) + dart.notNull(other.width));
+ let bottom = max(dart.notNull(this.top) + dart.notNull(this.height), dart.notNull(other.top) + dart.notNull(other.height));
let left = min(this.left, other.left);
let top = min(this.top, other.top);
- return new (Rectangle$(T))(dart.as(left, T), dart.as(top, T), dart.as(dart.notNull(right) - dart.notNull(left), T), dart.as(dart.notNull(bottom) - dart.notNull(top), T));
+ return new (Rectangle$(T))(left, top, dart.notNull(right) - dart.notNull(left), dart.notNull(bottom) - dart.notNull(top));
}
containsRectangle(another) {
- return dart.notNull(this.left['<='](another.left)) && dart.notNull(this.left['+'](this.width)) >= dart.notNull(another.left) + dart.notNull(another.width) && dart.notNull(this.top['<='](another.top)) && dart.notNull(this.top['+'](this.height)) >= dart.notNull(another.top) + dart.notNull(another.height);
+ return dart.notNull(this.left) <= dart.notNull(another.left) && dart.notNull(this.left) + dart.notNull(this.width) >= dart.notNull(another.left) + dart.notNull(another.width) && dart.notNull(this.top) <= dart.notNull(another.top) && dart.notNull(this.top) + dart.notNull(this.height) >= dart.notNull(another.top) + dart.notNull(another.height);
}
containsPoint(another) {
- return another.x[dartx['>=']](this.left) && dart.notNull(another.x) <= dart.notNull(this.left['+'](this.width)) && another.y[dartx['>=']](this.top) && dart.notNull(another.y) <= dart.notNull(this.top['+'](this.height));
+ return dart.notNull(another.x) >= dart.notNull(this.left) && dart.notNull(another.x) <= dart.notNull(this.left) + dart.notNull(this.width) && dart.notNull(another.y) >= dart.notNull(this.top) && dart.notNull(another.y) <= dart.notNull(this.top) + dart.notNull(this.height);
}
get topLeft() {
return new (Point$(T))(this.left, this.top);
}
get topRight() {
- return new (Point$(T))(dart.as(this.left['+'](this.width), T), this.top);
+ return new (Point$(T))(dart.notNull(this.left) + dart.notNull(this.width), this.top);
}
get bottomRight() {
- return new (Point$(T))(dart.as(this.left['+'](this.width), T), dart.as(this.top['+'](this.height), T));
+ return new (Point$(T))(dart.notNull(this.left) + dart.notNull(this.width), dart.notNull(this.top) + dart.notNull(this.height));
}
get bottomLeft() {
- return new (Point$(T))(this.left, dart.as(this.top['+'](this.height), T));
+ return new (Point$(T))(this.left, dart.notNull(this.top) + dart.notNull(this.height));
}
}
dart.setSignature(_RectangleBase, {
@@ -182,15 +182,15 @@ dart_library.library('dart/math', null, /* Imports */[
Rectangle(left, top, width, height) {
this.left = left;
this.top = top;
- this.width = dart.as(dart.notNull(width['<'](0)) ? dart.notNull(width['unary-']()) * 0 : width, T);
- this.height = dart.as(dart.notNull(height['<'](0)) ? dart.notNull(height['unary-']()) * 0 : height, T);
+ this.width = dart.notNull(width) < 0 ? -dart.notNull(width) * 0 : width;
+ this.height = dart.notNull(height) < 0 ? -dart.notNull(height) * 0 : height;
super._RectangleBase();
}
static fromPoints(a, b) {
- let left = dart.as(min(a.x, b.x), T);
- let width = dart.as(max(a.x, b.x)[dartx['-']](left), T);
- let top = dart.as(min(a.y, b.y), T);
- let height = dart.as(max(a.y, b.y)[dartx['-']](top), T);
+ let left = min(a.x, b.x);
+ let width = dart.notNull(max(a.x, b.x)) - dart.notNull(left);
+ let top = min(a.y, b.y);
+ let height = dart.notNull(max(a.y, b.y)) - dart.notNull(top);
return new (Rectangle$(T))(left, top, width, height);
}
}
@@ -210,15 +210,15 @@ dart_library.library('dart/math', null, /* Imports */[
MutableRectangle(left, top, width, height) {
this.left = left;
this.top = top;
- this[_width] = dart.as(dart.notNull(width['<'](0)) ? _clampToZero(width) : width, T);
- this[_height] = dart.as(dart.notNull(height['<'](0)) ? _clampToZero(height) : height, T);
+ this[_width] = dart.notNull(width) < 0 ? _clampToZero(width) : width;
+ this[_height] = dart.notNull(height) < 0 ? _clampToZero(height) : height;
super._RectangleBase();
}
static fromPoints(a, b) {
- let left = dart.as(min(a.x, b.x), T);
- let width = dart.as(max(a.x, b.x)[dartx['-']](left), T);
- let top = dart.as(min(a.y, b.y), T);
- let height = dart.as(max(a.y, b.y)[dartx['-']](top), T);
+ let left = min(a.x, b.x);
+ let width = dart.notNull(max(a.x, b.x)) - dart.notNull(left);
+ let top = min(a.y, b.y);
+ let height = dart.notNull(max(a.y, b.y)) - dart.notNull(top);
return new (MutableRectangle$(T))(left, top, width, height);
}
get width() {
@@ -226,8 +226,8 @@ dart_library.library('dart/math', null, /* Imports */[
}
set width(width) {
dart.as(width, T);
- if (dart.notNull(width['<'](0)))
- width = dart.as(_clampToZero(width), T);
+ if (dart.notNull(width) < 0)
+ width = _clampToZero(width);
this[_width] = width;
}
get height() {
@@ -235,8 +235,8 @@ dart_library.library('dart/math', null, /* Imports */[
}
set height(height) {
dart.as(height, T);
- if (dart.notNull(height['<'](0)))
- height = dart.as(_clampToZero(height), T);
+ if (dart.notNull(height) < 0)
+ height = _clampToZero(height);
this[_height] = height;
}
}
@@ -264,9 +264,9 @@ dart_library.library('dart/math', null, /* Imports */[
let SQRT1_2 = 0.7071067811865476;
let SQRT2 = 1.4142135623730951;
function min(a, b) {
- if (!dart.is(a, core.num))
+ if (!(typeof a == 'number'))
dart.throw(new core.ArgumentError(a));
- if (!dart.is(b, core.num))
+ if (!(typeof b == 'number'))
dart.throw(new core.ArgumentError(b));
if (dart.notNull(a) > dart.notNull(b))
return b;
@@ -286,9 +286,9 @@ dart_library.library('dart/math', null, /* Imports */[
}
dart.fn(min, core.num, [core.num, core.num]);
function max(a, b) {
- if (!dart.is(a, core.num))
+ if (!(typeof a == 'number'))
dart.throw(new core.ArgumentError(a));
- if (!dart.is(b, core.num))
+ if (!(typeof b == 'number'))
dart.throw(new core.ArgumentError(b));
if (dart.notNull(a) > dart.notNull(b))
return a;
@@ -466,7 +466,7 @@ dart_library.library('dart/math', null, /* Imports */[
do {
this[_nextState]();
rnd32 = this[_lo];
- result = rnd32[dartx.remainder](max);
+ result = dart.asInt(rnd32[dartx.remainder](max));
} while (dart.notNull(rnd32) - dart.notNull(result) + dart.notNull(max) >= dart.notNull(_POW2_32));
return result;
}
« no previous file with comments | « lib/runtime/dart/js.js ('k') | lib/runtime/dart_runtime.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698