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

Side by Side Diff: test/codegen/expect/DeltaBlue.js

Issue 1138793002: Tag closures with their types (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Address jmesserly's comments Created 5 years, 7 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 unified diff | Download patch
OLDNEW
1 var DeltaBlue = dart.defineLibrary(DeltaBlue, {}); 1 var DeltaBlue = dart.defineLibrary(DeltaBlue, {});
2 var BenchmarkBase = dart.import(BenchmarkBase); 2 var BenchmarkBase = dart.import(BenchmarkBase);
3 var core = dart.import(core); 3 var core = dart.import(core);
4 (function(exports, BenchmarkBase, core) { 4 (function(exports, BenchmarkBase, core) {
5 'use strict'; 5 'use strict';
6 // Function main: () → dynamic
7 function main() { 6 function main() {
8 new DeltaBlue().report(); 7 new DeltaBlue().report();
9 } 8 }
9 dart.fn(main);
10 class DeltaBlue extends BenchmarkBase.BenchmarkBase { 10 class DeltaBlue extends BenchmarkBase.BenchmarkBase {
11 DeltaBlue() { 11 DeltaBlue() {
12 super.BenchmarkBase("DeltaBlue"); 12 super.BenchmarkBase("DeltaBlue");
13 } 13 }
14 run() { 14 run() {
15 chainTest(100); 15 chainTest(100);
16 projectionTest(100); 16 projectionTest(100);
17 } 17 }
18 } 18 }
19 dart.setSignature(DeltaBlue, {
20 methods: () => ({run: dart.functionType(dart.void, [])})
21 });
19 class Strength extends core.Object { 22 class Strength extends core.Object {
20 Strength(value, name) { 23 Strength(value, name) {
21 this.value = value; 24 this.value = value;
22 this.name = name; 25 this.name = name;
23 } 26 }
24 nextWeaker() { 27 nextWeaker() {
25 return dart.const(dart.setType([STRONG_PREFERRED, PREFERRED, STRONG_DEFAUL T, NORMAL, WEAK_DEFAULT, WEAKEST], core.List$(Strength)))[core.$get](this.value) ; 28 return dart.const(dart.setType([STRONG_PREFERRED, PREFERRED, STRONG_DEFAUL T, NORMAL, WEAK_DEFAULT, WEAKEST], core.List$(Strength)))[core.$get](this.value) ;
26 } 29 }
27 static stronger(s1, s2) { 30 static stronger(s1, s2) {
28 return dart.notNull(s1.value) < dart.notNull(s2.value); 31 return dart.notNull(s1.value) < dart.notNull(s2.value);
29 } 32 }
30 static weaker(s1, s2) { 33 static weaker(s1, s2) {
31 return dart.notNull(s1.value) > dart.notNull(s2.value); 34 return dart.notNull(s1.value) > dart.notNull(s2.value);
32 } 35 }
33 static weakest(s1, s2) { 36 static weakest(s1, s2) {
34 return Strength.weaker(s1, s2) ? s1 : s2; 37 return Strength.weaker(s1, s2) ? s1 : s2;
35 } 38 }
36 static strongest(s1, s2) { 39 static strongest(s1, s2) {
37 return Strength.stronger(s1, s2) ? s1 : s2; 40 return Strength.stronger(s1, s2) ? s1 : s2;
38 } 41 }
39 } 42 }
43 dart.setSignature(Strength, {
44 methods: () => ({nextWeaker: dart.functionType(Strength, [])}),
45 statics: () => ({
46 stronger: dart.functionType(core.bool, [Strength, Strength]),
47 weaker: dart.functionType(core.bool, [Strength, Strength]),
48 weakest: dart.functionType(Strength, [Strength, Strength]),
49 strongest: dart.functionType(Strength, [Strength, Strength])
50 }),
51 names: ['stronger', 'weaker', 'weakest', 'strongest']
52 });
40 let REQUIRED = dart.const(new Strength(0, "required")); 53 let REQUIRED = dart.const(new Strength(0, "required"));
41 let STRONG_PREFERRED = dart.const(new Strength(1, "strongPreferred")); 54 let STRONG_PREFERRED = dart.const(new Strength(1, "strongPreferred"));
42 let PREFERRED = dart.const(new Strength(2, "preferred")); 55 let PREFERRED = dart.const(new Strength(2, "preferred"));
43 let STRONG_DEFAULT = dart.const(new Strength(3, "strongDefault")); 56 let STRONG_DEFAULT = dart.const(new Strength(3, "strongDefault"));
44 let NORMAL = dart.const(new Strength(4, "normal")); 57 let NORMAL = dart.const(new Strength(4, "normal"));
45 let WEAK_DEFAULT = dart.const(new Strength(5, "weakDefault")); 58 let WEAK_DEFAULT = dart.const(new Strength(5, "weakDefault"));
46 let WEAKEST = dart.const(new Strength(6, "weakest")); 59 let WEAKEST = dart.const(new Strength(6, "weakest"));
47 class Constraint extends core.Object { 60 class Constraint extends core.Object {
48 Constraint(strength) { 61 Constraint(strength) {
49 this.strength = strength; 62 this.strength = strength;
(...skipping 23 matching lines...) Expand all
73 } 86 }
74 destroyConstraint() { 87 destroyConstraint() {
75 if (this.isSatisfied()) 88 if (this.isSatisfied())
76 exports.planner.incrementalRemove(this); 89 exports.planner.incrementalRemove(this);
77 this.removeFromGraph(); 90 this.removeFromGraph();
78 } 91 }
79 isInput() { 92 isInput() {
80 return false; 93 return false;
81 } 94 }
82 } 95 }
96 dart.setSignature(Constraint, {
97 methods: () => ({
98 addConstraint: dart.functionType(dart.void, []),
99 satisfy: dart.functionType(Constraint, [dart.dynamic]),
100 destroyConstraint: dart.functionType(dart.void, []),
101 isInput: dart.functionType(core.bool, [])
102 })
103 });
83 class UnaryConstraint extends Constraint { 104 class UnaryConstraint extends Constraint {
84 UnaryConstraint(myOutput, strength) { 105 UnaryConstraint(myOutput, strength) {
85 this.myOutput = myOutput; 106 this.myOutput = myOutput;
86 this.satisfied = false; 107 this.satisfied = false;
87 super.Constraint(strength); 108 super.Constraint(strength);
88 this.addConstraint(); 109 this.addConstraint();
89 } 110 }
90 addToGraph() { 111 addToGraph() {
91 this.myOutput.addConstraint(this); 112 this.myOutput.addConstraint(this);
92 this.satisfied = false; 113 this.satisfied = false;
(...skipping 19 matching lines...) Expand all
112 } 133 }
113 inputsKnown(mark) { 134 inputsKnown(mark) {
114 return true; 135 return true;
115 } 136 }
116 removeFromGraph() { 137 removeFromGraph() {
117 if (this.myOutput != null) 138 if (this.myOutput != null)
118 this.myOutput.removeConstraint(this); 139 this.myOutput.removeConstraint(this);
119 this.satisfied = false; 140 this.satisfied = false;
120 } 141 }
121 } 142 }
143 dart.setSignature(UnaryConstraint, {
144 methods: () => ({
145 addToGraph: dart.functionType(dart.void, []),
146 chooseMethod: dart.functionType(dart.void, [core.int]),
147 isSatisfied: dart.functionType(core.bool, []),
148 markInputs: dart.functionType(dart.void, [core.int]),
149 output: dart.functionType(Variable, []),
150 recalculate: dart.functionType(dart.void, []),
151 markUnsatisfied: dart.functionType(dart.void, []),
152 inputsKnown: dart.functionType(core.bool, [core.int]),
153 removeFromGraph: dart.functionType(dart.void, [])
154 })
155 });
122 class StayConstraint extends UnaryConstraint { 156 class StayConstraint extends UnaryConstraint {
123 StayConstraint(v, str) { 157 StayConstraint(v, str) {
124 super.UnaryConstraint(v, str); 158 super.UnaryConstraint(v, str);
125 } 159 }
126 execute() {} 160 execute() {}
127 } 161 }
162 dart.setSignature(StayConstraint, {
163 methods: () => ({execute: dart.functionType(dart.void, [])})
164 });
128 class EditConstraint extends UnaryConstraint { 165 class EditConstraint extends UnaryConstraint {
129 EditConstraint(v, str) { 166 EditConstraint(v, str) {
130 super.UnaryConstraint(v, str); 167 super.UnaryConstraint(v, str);
131 } 168 }
132 isInput() { 169 isInput() {
133 return true; 170 return true;
134 } 171 }
135 execute() {} 172 execute() {}
136 } 173 }
174 dart.setSignature(EditConstraint, {
175 methods: () => ({
176 isInput: dart.functionType(core.bool, []),
177 execute: dart.functionType(dart.void, [])
178 })
179 });
137 let NONE = 1; 180 let NONE = 1;
138 let FORWARD = 2; 181 let FORWARD = 2;
139 let BACKWARD = 0; 182 let BACKWARD = 0;
140 class BinaryConstraint extends Constraint { 183 class BinaryConstraint extends Constraint {
141 BinaryConstraint(v1, v2, strength) { 184 BinaryConstraint(v1, v2, strength) {
142 this.v1 = v1; 185 this.v1 = v1;
143 this.v2 = v2; 186 this.v2 = v2;
144 this.direction = NONE; 187 this.direction = NONE;
145 super.Constraint(strength); 188 super.Constraint(strength);
146 this.addConstraint(); 189 this.addConstraint();
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 return i.mark == mark || dart.notNull(i.stay) || dart.notNull(i.determined By == null); 233 return i.mark == mark || dart.notNull(i.stay) || dart.notNull(i.determined By == null);
191 } 234 }
192 removeFromGraph() { 235 removeFromGraph() {
193 if (this.v1 != null) 236 if (this.v1 != null)
194 this.v1.removeConstraint(this); 237 this.v1.removeConstraint(this);
195 if (this.v2 != null) 238 if (this.v2 != null)
196 this.v2.removeConstraint(this); 239 this.v2.removeConstraint(this);
197 this.direction = NONE; 240 this.direction = NONE;
198 } 241 }
199 } 242 }
243 dart.setSignature(BinaryConstraint, {
244 methods: () => ({
245 chooseMethod: dart.functionType(dart.void, [core.int]),
246 addToGraph: dart.functionType(dart.void, []),
247 isSatisfied: dart.functionType(core.bool, []),
248 markInputs: dart.functionType(dart.void, [core.int]),
249 input: dart.functionType(Variable, []),
250 output: dart.functionType(Variable, []),
251 recalculate: dart.functionType(dart.void, []),
252 markUnsatisfied: dart.functionType(dart.void, []),
253 inputsKnown: dart.functionType(core.bool, [core.int]),
254 removeFromGraph: dart.functionType(dart.void, [])
255 })
256 });
200 class ScaleConstraint extends BinaryConstraint { 257 class ScaleConstraint extends BinaryConstraint {
201 ScaleConstraint(src, scale, offset, dest, strength) { 258 ScaleConstraint(src, scale, offset, dest, strength) {
202 this.scale = scale; 259 this.scale = scale;
203 this.offset = offset; 260 this.offset = offset;
204 super.BinaryConstraint(src, dest, strength); 261 super.BinaryConstraint(src, dest, strength);
205 } 262 }
206 addToGraph() { 263 addToGraph() {
207 super.addToGraph(); 264 super.addToGraph();
208 this.scale.addConstraint(this); 265 this.scale.addConstraint(this);
209 this.offset.addConstraint(this); 266 this.offset.addConstraint(this);
(...skipping 17 matching lines...) Expand all
227 } 284 }
228 } 285 }
229 recalculate() { 286 recalculate() {
230 let ihn = this.input(), out = this.output(); 287 let ihn = this.input(), out = this.output();
231 out.walkStrength = Strength.weakest(this.strength, ihn.walkStrength); 288 out.walkStrength = Strength.weakest(this.strength, ihn.walkStrength);
232 out.stay = dart.notNull(ihn.stay) && dart.notNull(this.scale.stay) && dart .notNull(this.offset.stay); 289 out.stay = dart.notNull(ihn.stay) && dart.notNull(this.scale.stay) && dart .notNull(this.offset.stay);
233 if (out.stay) 290 if (out.stay)
234 this.execute(); 291 this.execute();
235 } 292 }
236 } 293 }
294 dart.setSignature(ScaleConstraint, {
295 methods: () => ({
296 addToGraph: dart.functionType(dart.void, []),
297 removeFromGraph: dart.functionType(dart.void, []),
298 markInputs: dart.functionType(dart.void, [core.int]),
299 execute: dart.functionType(dart.void, []),
300 recalculate: dart.functionType(dart.void, [])
301 })
302 });
237 class EqualityConstraint extends BinaryConstraint { 303 class EqualityConstraint extends BinaryConstraint {
238 EqualityConstraint(v1, v2, strength) { 304 EqualityConstraint(v1, v2, strength) {
239 super.BinaryConstraint(v1, v2, strength); 305 super.BinaryConstraint(v1, v2, strength);
240 } 306 }
241 execute() { 307 execute() {
242 this.output().value = this.input().value; 308 this.output().value = this.input().value;
243 } 309 }
244 } 310 }
311 dart.setSignature(EqualityConstraint, {
312 methods: () => ({execute: dart.functionType(dart.void, [])})
313 });
245 class Variable extends core.Object { 314 class Variable extends core.Object {
246 Variable(name, value) { 315 Variable(name, value) {
247 this.constraints = dart.setType([], core.List$(Constraint)); 316 this.constraints = dart.setType([], core.List$(Constraint));
248 this.name = name; 317 this.name = name;
249 this.value = value; 318 this.value = value;
250 this.determinedBy = null; 319 this.determinedBy = null;
251 this.mark = 0; 320 this.mark = 0;
252 this.walkStrength = WEAKEST; 321 this.walkStrength = WEAKEST;
253 this.stay = true; 322 this.stay = true;
254 } 323 }
255 addConstraint(c) { 324 addConstraint(c) {
256 this.constraints[core.$add](c); 325 this.constraints[core.$add](c);
257 } 326 }
258 removeConstraint(c) { 327 removeConstraint(c) {
259 this.constraints[core.$remove](c); 328 this.constraints[core.$remove](c);
260 if (dart.equals(this.determinedBy, c)) 329 if (dart.equals(this.determinedBy, c))
261 this.determinedBy = null; 330 this.determinedBy = null;
262 } 331 }
263 } 332 }
333 dart.setSignature(Variable, {
334 methods: () => ({
335 addConstraint: dart.functionType(dart.void, [Constraint]),
336 removeConstraint: dart.functionType(dart.void, [Constraint])
337 })
338 });
264 class Planner extends core.Object { 339 class Planner extends core.Object {
265 Planner() { 340 Planner() {
266 this.currentMark = 0; 341 this.currentMark = 0;
267 } 342 }
268 incrementalAdd(c) { 343 incrementalAdd(c) {
269 let mark = this.newMark(); 344 let mark = this.newMark();
270 for (let overridden = c.satisfy(mark); overridden != null; overridden = ov erridden.satisfy(mark)) 345 for (let overridden = c.satisfy(mark); overridden != null; overridden = ov erridden.satisfy(mark))
271 ; 346 ;
272 } 347 }
273 incrementalRemove(c) { 348 incrementalRemove(c) {
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 } 425 }
351 addConstraintsConsumingTo(v, coll) { 426 addConstraintsConsumingTo(v, coll) {
352 let determining = v.determinedBy; 427 let determining = v.determinedBy;
353 for (let i = 0; dart.notNull(i) < dart.notNull(v.constraints[core.$length] ); i = dart.notNull(i) + 1) { 428 for (let i = 0; dart.notNull(i) < dart.notNull(v.constraints[core.$length] ); i = dart.notNull(i) + 1) {
354 let c = v.constraints[core.$get](i); 429 let c = v.constraints[core.$get](i);
355 if (dart.notNull(!dart.equals(c, determining)) && dart.notNull(c.isSatis fied())) 430 if (dart.notNull(!dart.equals(c, determining)) && dart.notNull(c.isSatis fied()))
356 coll[core.$add](c); 431 coll[core.$add](c);
357 } 432 }
358 } 433 }
359 } 434 }
435 dart.setSignature(Planner, {
436 methods: () => ({
437 incrementalAdd: dart.functionType(dart.void, [Constraint]),
438 incrementalRemove: dart.functionType(dart.void, [Constraint]),
439 newMark: dart.functionType(core.int, []),
440 makePlan: dart.functionType(Plan, [core.List$(Constraint)]),
441 extractPlanFromConstraints: dart.functionType(Plan, [core.List$(Constraint )]),
442 addPropagate: dart.functionType(core.bool, [Constraint, core.int]),
443 removePropagateFrom: dart.functionType(core.List$(Constraint), [Variable]) ,
444 addConstraintsConsumingTo: dart.functionType(dart.void, [Variable, core.Li st$(Constraint)])
445 })
446 });
360 class Plan extends core.Object { 447 class Plan extends core.Object {
361 Plan() { 448 Plan() {
362 this.list = dart.setType([], core.List$(Constraint)); 449 this.list = dart.setType([], core.List$(Constraint));
363 } 450 }
364 addConstraint(c) { 451 addConstraint(c) {
365 this.list[core.$add](c); 452 this.list[core.$add](c);
366 } 453 }
367 size() { 454 size() {
368 return this.list[core.$length]; 455 return this.list[core.$length];
369 } 456 }
370 execute() { 457 execute() {
371 for (let i = 0; dart.notNull(i) < dart.notNull(this.list[core.$length]); i = dart.notNull(i) + 1) { 458 for (let i = 0; dart.notNull(i) < dart.notNull(this.list[core.$length]); i = dart.notNull(i) + 1) {
372 this.list[core.$get](i).execute(); 459 this.list[core.$get](i).execute();
373 } 460 }
374 } 461 }
375 } 462 }
376 // Function chainTest: (int) → void 463 dart.setSignature(Plan, {
464 methods: () => ({
465 addConstraint: dart.functionType(dart.void, [Constraint]),
466 size: dart.functionType(core.int, []),
467 execute: dart.functionType(dart.void, [])
468 })
469 });
377 function chainTest(n) { 470 function chainTest(n) {
378 exports.planner = new Planner(); 471 exports.planner = new Planner();
379 let prev = null, first = null, last = null; 472 let prev = null, first = null, last = null;
380 for (let i = 0; dart.notNull(i) <= dart.notNull(n); i = dart.notNull(i) + 1) { 473 for (let i = 0; dart.notNull(i) <= dart.notNull(n); i = dart.notNull(i) + 1) {
381 let v = new Variable("v", 0); 474 let v = new Variable("v", 0);
382 if (prev != null) 475 if (prev != null)
383 new EqualityConstraint(prev, v, REQUIRED); 476 new EqualityConstraint(prev, v, REQUIRED);
384 if (i == 0) 477 if (i == 0)
385 first = v; 478 first = v;
386 if (i == n) 479 if (i == n)
387 last = v; 480 last = v;
388 prev = v; 481 prev = v;
389 } 482 }
390 new StayConstraint(last, STRONG_DEFAULT); 483 new StayConstraint(last, STRONG_DEFAULT);
391 let edit = new EditConstraint(first, PREFERRED); 484 let edit = new EditConstraint(first, PREFERRED);
392 let plan = exports.planner.extractPlanFromConstraints(dart.setType([edit], c ore.List$(Constraint))); 485 let plan = exports.planner.extractPlanFromConstraints(dart.setType([edit], c ore.List$(Constraint)));
393 for (let i = 0; dart.notNull(i) < 100; i = dart.notNull(i) + 1) { 486 for (let i = 0; dart.notNull(i) < 100; i = dart.notNull(i) + 1) {
394 first.value = i; 487 first.value = i;
395 plan.execute(); 488 plan.execute();
396 if (last.value != i) { 489 if (last.value != i) {
397 core.print("Chain test failed:"); 490 core.print("Chain test failed:");
398 core.print(`Expected last value to be ${i} but it was ${last.value}.`); 491 core.print(`Expected last value to be ${i} but it was ${last.value}.`);
399 } 492 }
400 } 493 }
401 } 494 }
402 // Function projectionTest: (int) → void 495 dart.fn(chainTest, dart.void, [core.int]);
403 function projectionTest(n) { 496 function projectionTest(n) {
404 exports.planner = new Planner(); 497 exports.planner = new Planner();
405 let scale = new Variable("scale", 10); 498 let scale = new Variable("scale", 10);
406 let offset = new Variable("offset", 1000); 499 let offset = new Variable("offset", 1000);
407 let src = null, dst = null; 500 let src = null, dst = null;
408 let dests = dart.setType([], core.List$(Variable)); 501 let dests = dart.setType([], core.List$(Variable));
409 for (let i = 0; dart.notNull(i) < dart.notNull(n); i = dart.notNull(i) + 1) { 502 for (let i = 0; dart.notNull(i) < dart.notNull(n); i = dart.notNull(i) + 1) {
410 src = new Variable("src", i); 503 src = new Variable("src", i);
411 dst = new Variable("dst", i); 504 dst = new Variable("dst", i);
412 dests[core.$add](dst); 505 dests[core.$add](dst);
(...skipping 10 matching lines...) Expand all
423 for (let i = 0; dart.notNull(i) < dart.notNull(n) - 1; i = dart.notNull(i) + 1) { 516 for (let i = 0; dart.notNull(i) < dart.notNull(n) - 1; i = dart.notNull(i) + 1) {
424 if (dests[core.$get](i).value != dart.notNull(i) * 5 + 1000) 517 if (dests[core.$get](i).value != dart.notNull(i) * 5 + 1000)
425 core.print("Projection 3 failed"); 518 core.print("Projection 3 failed");
426 } 519 }
427 change(offset, 2000); 520 change(offset, 2000);
428 for (let i = 0; dart.notNull(i) < dart.notNull(n) - 1; i = dart.notNull(i) + 1) { 521 for (let i = 0; dart.notNull(i) < dart.notNull(n) - 1; i = dart.notNull(i) + 1) {
429 if (dests[core.$get](i).value != dart.notNull(i) * 5 + 2000) 522 if (dests[core.$get](i).value != dart.notNull(i) * 5 + 2000)
430 core.print("Projection 4 failed"); 523 core.print("Projection 4 failed");
431 } 524 }
432 } 525 }
433 // Function change: (Variable, int) → void 526 dart.fn(projectionTest, dart.void, [core.int]);
434 function change(v, newValue) { 527 function change(v, newValue) {
435 let edit = new EditConstraint(v, PREFERRED); 528 let edit = new EditConstraint(v, PREFERRED);
436 let plan = exports.planner.extractPlanFromConstraints(dart.setType([edit], c ore.List$(EditConstraint))); 529 let plan = exports.planner.extractPlanFromConstraints(dart.setType([edit], c ore.List$(EditConstraint)));
437 for (let i = 0; dart.notNull(i) < 10; i = dart.notNull(i) + 1) { 530 for (let i = 0; dart.notNull(i) < 10; i = dart.notNull(i) + 1) {
438 v.value = newValue; 531 v.value = newValue;
439 plan.execute(); 532 plan.execute();
440 } 533 }
441 edit.destroyConstraint(); 534 edit.destroyConstraint();
442 } 535 }
536 dart.fn(change, dart.void, [Variable, core.int]);
443 exports.planner = null; 537 exports.planner = null;
444 // Exports: 538 // Exports:
445 exports.main = main; 539 exports.main = main;
446 exports.DeltaBlue = DeltaBlue; 540 exports.DeltaBlue = DeltaBlue;
447 exports.Strength = Strength; 541 exports.Strength = Strength;
448 exports.REQUIRED = REQUIRED; 542 exports.REQUIRED = REQUIRED;
449 exports.STRONG_PREFERRED = STRONG_PREFERRED; 543 exports.STRONG_PREFERRED = STRONG_PREFERRED;
450 exports.PREFERRED = PREFERRED; 544 exports.PREFERRED = PREFERRED;
451 exports.STRONG_DEFAULT = STRONG_DEFAULT; 545 exports.STRONG_DEFAULT = STRONG_DEFAULT;
452 exports.NORMAL = NORMAL; 546 exports.NORMAL = NORMAL;
453 exports.WEAK_DEFAULT = WEAK_DEFAULT; 547 exports.WEAK_DEFAULT = WEAK_DEFAULT;
454 exports.WEAKEST = WEAKEST; 548 exports.WEAKEST = WEAKEST;
455 exports.Constraint = Constraint; 549 exports.Constraint = Constraint;
456 exports.UnaryConstraint = UnaryConstraint; 550 exports.UnaryConstraint = UnaryConstraint;
457 exports.StayConstraint = StayConstraint; 551 exports.StayConstraint = StayConstraint;
458 exports.EditConstraint = EditConstraint; 552 exports.EditConstraint = EditConstraint;
459 exports.NONE = NONE; 553 exports.NONE = NONE;
460 exports.FORWARD = FORWARD; 554 exports.FORWARD = FORWARD;
461 exports.BACKWARD = BACKWARD; 555 exports.BACKWARD = BACKWARD;
462 exports.BinaryConstraint = BinaryConstraint; 556 exports.BinaryConstraint = BinaryConstraint;
463 exports.ScaleConstraint = ScaleConstraint; 557 exports.ScaleConstraint = ScaleConstraint;
464 exports.EqualityConstraint = EqualityConstraint; 558 exports.EqualityConstraint = EqualityConstraint;
465 exports.Variable = Variable; 559 exports.Variable = Variable;
466 exports.Planner = Planner; 560 exports.Planner = Planner;
467 exports.Plan = Plan; 561 exports.Plan = Plan;
468 exports.chainTest = chainTest; 562 exports.chainTest = chainTest;
469 exports.projectionTest = projectionTest; 563 exports.projectionTest = projectionTest;
470 exports.change = change; 564 exports.change = change;
471 })(DeltaBlue, BenchmarkBase, core); 565 })(DeltaBlue, BenchmarkBase, core);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698