| OLD | NEW |
| 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() { | 6 function main() { |
| 7 new DeltaBlue().report(); | 7 new DeltaBlue().report(); |
| 8 } | 8 } |
| 9 dart.fn(main); | 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, { | 19 dart.setSignature(DeltaBlue, { |
| 20 methods: () => ({run: dart.functionType(dart.void, [])}) | 20 methods: () => ({run: [dart.void, []]}) |
| 21 }); | 21 }); |
| 22 class Strength extends core.Object { | 22 class Strength extends core.Object { |
| 23 Strength(value, name) { | 23 Strength(value, name) { |
| 24 this.value = value; | 24 this.value = value; |
| 25 this.name = name; | 25 this.name = name; |
| 26 } | 26 } |
| 27 nextWeaker() { | 27 nextWeaker() { |
| 28 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)
; |
| 29 } | 29 } |
| 30 static stronger(s1, s2) { | 30 static stronger(s1, s2) { |
| 31 return dart.notNull(s1.value) < dart.notNull(s2.value); | 31 return dart.notNull(s1.value) < dart.notNull(s2.value); |
| 32 } | 32 } |
| 33 static weaker(s1, s2) { | 33 static weaker(s1, s2) { |
| 34 return dart.notNull(s1.value) > dart.notNull(s2.value); | 34 return dart.notNull(s1.value) > dart.notNull(s2.value); |
| 35 } | 35 } |
| 36 static weakest(s1, s2) { | 36 static weakest(s1, s2) { |
| 37 return Strength.weaker(s1, s2) ? s1 : s2; | 37 return Strength.weaker(s1, s2) ? s1 : s2; |
| 38 } | 38 } |
| 39 static strongest(s1, s2) { | 39 static strongest(s1, s2) { |
| 40 return Strength.stronger(s1, s2) ? s1 : s2; | 40 return Strength.stronger(s1, s2) ? s1 : s2; |
| 41 } | 41 } |
| 42 } | 42 } |
| 43 dart.setSignature(Strength, { | 43 dart.setSignature(Strength, { |
| 44 methods: () => ({nextWeaker: dart.functionType(Strength, [])}), | 44 methods: () => ({nextWeaker: [Strength, []]}), |
| 45 statics: () => ({ | 45 statics: () => ({ |
| 46 stronger: dart.functionType(core.bool, [Strength, Strength]), | 46 stronger: [core.bool, [Strength, Strength]], |
| 47 weaker: dart.functionType(core.bool, [Strength, Strength]), | 47 weaker: [core.bool, [Strength, Strength]], |
| 48 weakest: dart.functionType(Strength, [Strength, Strength]), | 48 weakest: [Strength, [Strength, Strength]], |
| 49 strongest: dart.functionType(Strength, [Strength, Strength]) | 49 strongest: [Strength, [Strength, Strength]] |
| 50 }), | 50 }), |
| 51 names: ['stronger', 'weaker', 'weakest', 'strongest'] | 51 names: ['stronger', 'weaker', 'weakest', 'strongest'] |
| 52 }); | 52 }); |
| 53 let REQUIRED = dart.const(new Strength(0, "required")); | 53 let REQUIRED = dart.const(new Strength(0, "required")); |
| 54 let STRONG_PREFERRED = dart.const(new Strength(1, "strongPreferred")); | 54 let STRONG_PREFERRED = dart.const(new Strength(1, "strongPreferred")); |
| 55 let PREFERRED = dart.const(new Strength(2, "preferred")); | 55 let PREFERRED = dart.const(new Strength(2, "preferred")); |
| 56 let STRONG_DEFAULT = dart.const(new Strength(3, "strongDefault")); | 56 let STRONG_DEFAULT = dart.const(new Strength(3, "strongDefault")); |
| 57 let NORMAL = dart.const(new Strength(4, "normal")); | 57 let NORMAL = dart.const(new Strength(4, "normal")); |
| 58 let WEAK_DEFAULT = dart.const(new Strength(5, "weakDefault")); | 58 let WEAK_DEFAULT = dart.const(new Strength(5, "weakDefault")); |
| 59 let WEAKEST = dart.const(new Strength(6, "weakest")); | 59 let WEAKEST = dart.const(new Strength(6, "weakest")); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 88 if (this.isSatisfied()) | 88 if (this.isSatisfied()) |
| 89 exports.planner.incrementalRemove(this); | 89 exports.planner.incrementalRemove(this); |
| 90 this.removeFromGraph(); | 90 this.removeFromGraph(); |
| 91 } | 91 } |
| 92 isInput() { | 92 isInput() { |
| 93 return false; | 93 return false; |
| 94 } | 94 } |
| 95 } | 95 } |
| 96 dart.setSignature(Constraint, { | 96 dart.setSignature(Constraint, { |
| 97 methods: () => ({ | 97 methods: () => ({ |
| 98 addConstraint: dart.functionType(dart.void, []), | 98 addConstraint: [dart.void, []], |
| 99 satisfy: dart.functionType(Constraint, [dart.dynamic]), | 99 satisfy: [Constraint, [dart.dynamic]], |
| 100 destroyConstraint: dart.functionType(dart.void, []), | 100 destroyConstraint: [dart.void, []], |
| 101 isInput: dart.functionType(core.bool, []) | 101 isInput: [core.bool, []] |
| 102 }) | 102 }) |
| 103 }); | 103 }); |
| 104 class UnaryConstraint extends Constraint { | 104 class UnaryConstraint extends Constraint { |
| 105 UnaryConstraint(myOutput, strength) { | 105 UnaryConstraint(myOutput, strength) { |
| 106 this.myOutput = myOutput; | 106 this.myOutput = myOutput; |
| 107 this.satisfied = false; | 107 this.satisfied = false; |
| 108 super.Constraint(strength); | 108 super.Constraint(strength); |
| 109 this.addConstraint(); | 109 this.addConstraint(); |
| 110 } | 110 } |
| 111 addToGraph() { | 111 addToGraph() { |
| (...skipping 23 matching lines...) Expand all Loading... |
| 135 return true; | 135 return true; |
| 136 } | 136 } |
| 137 removeFromGraph() { | 137 removeFromGraph() { |
| 138 if (this.myOutput != null) | 138 if (this.myOutput != null) |
| 139 this.myOutput.removeConstraint(this); | 139 this.myOutput.removeConstraint(this); |
| 140 this.satisfied = false; | 140 this.satisfied = false; |
| 141 } | 141 } |
| 142 } | 142 } |
| 143 dart.setSignature(UnaryConstraint, { | 143 dart.setSignature(UnaryConstraint, { |
| 144 methods: () => ({ | 144 methods: () => ({ |
| 145 addToGraph: dart.functionType(dart.void, []), | 145 addToGraph: [dart.void, []], |
| 146 chooseMethod: dart.functionType(dart.void, [core.int]), | 146 chooseMethod: [dart.void, [core.int]], |
| 147 isSatisfied: dart.functionType(core.bool, []), | 147 isSatisfied: [core.bool, []], |
| 148 markInputs: dart.functionType(dart.void, [core.int]), | 148 markInputs: [dart.void, [core.int]], |
| 149 output: dart.functionType(Variable, []), | 149 output: [Variable, []], |
| 150 recalculate: dart.functionType(dart.void, []), | 150 recalculate: [dart.void, []], |
| 151 markUnsatisfied: dart.functionType(dart.void, []), | 151 markUnsatisfied: [dart.void, []], |
| 152 inputsKnown: dart.functionType(core.bool, [core.int]), | 152 inputsKnown: [core.bool, [core.int]], |
| 153 removeFromGraph: dart.functionType(dart.void, []) | 153 removeFromGraph: [dart.void, []] |
| 154 }) | 154 }) |
| 155 }); | 155 }); |
| 156 class StayConstraint extends UnaryConstraint { | 156 class StayConstraint extends UnaryConstraint { |
| 157 StayConstraint(v, str) { | 157 StayConstraint(v, str) { |
| 158 super.UnaryConstraint(v, str); | 158 super.UnaryConstraint(v, str); |
| 159 } | 159 } |
| 160 execute() {} | 160 execute() {} |
| 161 } | 161 } |
| 162 dart.setSignature(StayConstraint, { | 162 dart.setSignature(StayConstraint, { |
| 163 methods: () => ({execute: dart.functionType(dart.void, [])}) | 163 methods: () => ({execute: [dart.void, []]}) |
| 164 }); | 164 }); |
| 165 class EditConstraint extends UnaryConstraint { | 165 class EditConstraint extends UnaryConstraint { |
| 166 EditConstraint(v, str) { | 166 EditConstraint(v, str) { |
| 167 super.UnaryConstraint(v, str); | 167 super.UnaryConstraint(v, str); |
| 168 } | 168 } |
| 169 isInput() { | 169 isInput() { |
| 170 return true; | 170 return true; |
| 171 } | 171 } |
| 172 execute() {} | 172 execute() {} |
| 173 } | 173 } |
| 174 dart.setSignature(EditConstraint, { | 174 dart.setSignature(EditConstraint, { |
| 175 methods: () => ({ | 175 methods: () => ({ |
| 176 isInput: dart.functionType(core.bool, []), | 176 isInput: [core.bool, []], |
| 177 execute: dart.functionType(dart.void, []) | 177 execute: [dart.void, []] |
| 178 }) | 178 }) |
| 179 }); | 179 }); |
| 180 let NONE = 1; | 180 let NONE = 1; |
| 181 let FORWARD = 2; | 181 let FORWARD = 2; |
| 182 let BACKWARD = 0; | 182 let BACKWARD = 0; |
| 183 class BinaryConstraint extends Constraint { | 183 class BinaryConstraint extends Constraint { |
| 184 BinaryConstraint(v1, v2, strength) { | 184 BinaryConstraint(v1, v2, strength) { |
| 185 this.v1 = v1; | 185 this.v1 = v1; |
| 186 this.v2 = v2; | 186 this.v2 = v2; |
| 187 this.direction = NONE; | 187 this.direction = NONE; |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 removeFromGraph() { | 235 removeFromGraph() { |
| 236 if (this.v1 != null) | 236 if (this.v1 != null) |
| 237 this.v1.removeConstraint(this); | 237 this.v1.removeConstraint(this); |
| 238 if (this.v2 != null) | 238 if (this.v2 != null) |
| 239 this.v2.removeConstraint(this); | 239 this.v2.removeConstraint(this); |
| 240 this.direction = NONE; | 240 this.direction = NONE; |
| 241 } | 241 } |
| 242 } | 242 } |
| 243 dart.setSignature(BinaryConstraint, { | 243 dart.setSignature(BinaryConstraint, { |
| 244 methods: () => ({ | 244 methods: () => ({ |
| 245 chooseMethod: dart.functionType(dart.void, [core.int]), | 245 chooseMethod: [dart.void, [core.int]], |
| 246 addToGraph: dart.functionType(dart.void, []), | 246 addToGraph: [dart.void, []], |
| 247 isSatisfied: dart.functionType(core.bool, []), | 247 isSatisfied: [core.bool, []], |
| 248 markInputs: dart.functionType(dart.void, [core.int]), | 248 markInputs: [dart.void, [core.int]], |
| 249 input: dart.functionType(Variable, []), | 249 input: [Variable, []], |
| 250 output: dart.functionType(Variable, []), | 250 output: [Variable, []], |
| 251 recalculate: dart.functionType(dart.void, []), | 251 recalculate: [dart.void, []], |
| 252 markUnsatisfied: dart.functionType(dart.void, []), | 252 markUnsatisfied: [dart.void, []], |
| 253 inputsKnown: dart.functionType(core.bool, [core.int]), | 253 inputsKnown: [core.bool, [core.int]], |
| 254 removeFromGraph: dart.functionType(dart.void, []) | 254 removeFromGraph: [dart.void, []] |
| 255 }) | 255 }) |
| 256 }); | 256 }); |
| 257 class ScaleConstraint extends BinaryConstraint { | 257 class ScaleConstraint extends BinaryConstraint { |
| 258 ScaleConstraint(src, scale, offset, dest, strength) { | 258 ScaleConstraint(src, scale, offset, dest, strength) { |
| 259 this.scale = scale; | 259 this.scale = scale; |
| 260 this.offset = offset; | 260 this.offset = offset; |
| 261 super.BinaryConstraint(src, dest, strength); | 261 super.BinaryConstraint(src, dest, strength); |
| 262 } | 262 } |
| 263 addToGraph() { | 263 addToGraph() { |
| 264 super.addToGraph(); | 264 super.addToGraph(); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 286 recalculate() { | 286 recalculate() { |
| 287 let ihn = this.input(), out = this.output(); | 287 let ihn = this.input(), out = this.output(); |
| 288 out.walkStrength = Strength.weakest(this.strength, ihn.walkStrength); | 288 out.walkStrength = Strength.weakest(this.strength, ihn.walkStrength); |
| 289 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); |
| 290 if (out.stay) | 290 if (out.stay) |
| 291 this.execute(); | 291 this.execute(); |
| 292 } | 292 } |
| 293 } | 293 } |
| 294 dart.setSignature(ScaleConstraint, { | 294 dart.setSignature(ScaleConstraint, { |
| 295 methods: () => ({ | 295 methods: () => ({ |
| 296 addToGraph: dart.functionType(dart.void, []), | 296 addToGraph: [dart.void, []], |
| 297 removeFromGraph: dart.functionType(dart.void, []), | 297 removeFromGraph: [dart.void, []], |
| 298 markInputs: dart.functionType(dart.void, [core.int]), | 298 markInputs: [dart.void, [core.int]], |
| 299 execute: dart.functionType(dart.void, []), | 299 execute: [dart.void, []], |
| 300 recalculate: dart.functionType(dart.void, []) | 300 recalculate: [dart.void, []] |
| 301 }) | 301 }) |
| 302 }); | 302 }); |
| 303 class EqualityConstraint extends BinaryConstraint { | 303 class EqualityConstraint extends BinaryConstraint { |
| 304 EqualityConstraint(v1, v2, strength) { | 304 EqualityConstraint(v1, v2, strength) { |
| 305 super.BinaryConstraint(v1, v2, strength); | 305 super.BinaryConstraint(v1, v2, strength); |
| 306 } | 306 } |
| 307 execute() { | 307 execute() { |
| 308 this.output().value = this.input().value; | 308 this.output().value = this.input().value; |
| 309 } | 309 } |
| 310 } | 310 } |
| 311 dart.setSignature(EqualityConstraint, { | 311 dart.setSignature(EqualityConstraint, { |
| 312 methods: () => ({execute: dart.functionType(dart.void, [])}) | 312 methods: () => ({execute: [dart.void, []]}) |
| 313 }); | 313 }); |
| 314 class Variable extends core.Object { | 314 class Variable extends core.Object { |
| 315 Variable(name, value) { | 315 Variable(name, value) { |
| 316 this.constraints = dart.setType([], core.List$(Constraint)); | 316 this.constraints = dart.setType([], core.List$(Constraint)); |
| 317 this.name = name; | 317 this.name = name; |
| 318 this.value = value; | 318 this.value = value; |
| 319 this.determinedBy = null; | 319 this.determinedBy = null; |
| 320 this.mark = 0; | 320 this.mark = 0; |
| 321 this.walkStrength = WEAKEST; | 321 this.walkStrength = WEAKEST; |
| 322 this.stay = true; | 322 this.stay = true; |
| 323 } | 323 } |
| 324 addConstraint(c) { | 324 addConstraint(c) { |
| 325 this.constraints[core.$add](c); | 325 this.constraints[core.$add](c); |
| 326 } | 326 } |
| 327 removeConstraint(c) { | 327 removeConstraint(c) { |
| 328 this.constraints[core.$remove](c); | 328 this.constraints[core.$remove](c); |
| 329 if (dart.equals(this.determinedBy, c)) | 329 if (dart.equals(this.determinedBy, c)) |
| 330 this.determinedBy = null; | 330 this.determinedBy = null; |
| 331 } | 331 } |
| 332 } | 332 } |
| 333 dart.setSignature(Variable, { | 333 dart.setSignature(Variable, { |
| 334 methods: () => ({ | 334 methods: () => ({ |
| 335 addConstraint: dart.functionType(dart.void, [Constraint]), | 335 addConstraint: [dart.void, [Constraint]], |
| 336 removeConstraint: dart.functionType(dart.void, [Constraint]) | 336 removeConstraint: [dart.void, [Constraint]] |
| 337 }) | 337 }) |
| 338 }); | 338 }); |
| 339 class Planner extends core.Object { | 339 class Planner extends core.Object { |
| 340 Planner() { | 340 Planner() { |
| 341 this.currentMark = 0; | 341 this.currentMark = 0; |
| 342 } | 342 } |
| 343 incrementalAdd(c) { | 343 incrementalAdd(c) { |
| 344 let mark = this.newMark(); | 344 let mark = this.newMark(); |
| 345 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)) |
| 346 ; | 346 ; |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 427 let determining = v.determinedBy; | 427 let determining = v.determinedBy; |
| 428 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) { |
| 429 let c = v.constraints[core.$get](i); | 429 let c = v.constraints[core.$get](i); |
| 430 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())) |
| 431 coll[core.$add](c); | 431 coll[core.$add](c); |
| 432 } | 432 } |
| 433 } | 433 } |
| 434 } | 434 } |
| 435 dart.setSignature(Planner, { | 435 dart.setSignature(Planner, { |
| 436 methods: () => ({ | 436 methods: () => ({ |
| 437 incrementalAdd: dart.functionType(dart.void, [Constraint]), | 437 incrementalAdd: [dart.void, [Constraint]], |
| 438 incrementalRemove: dart.functionType(dart.void, [Constraint]), | 438 incrementalRemove: [dart.void, [Constraint]], |
| 439 newMark: dart.functionType(core.int, []), | 439 newMark: [core.int, []], |
| 440 makePlan: dart.functionType(Plan, [core.List$(Constraint)]), | 440 makePlan: [Plan, [core.List$(Constraint)]], |
| 441 extractPlanFromConstraints: dart.functionType(Plan, [core.List$(Constraint
)]), | 441 extractPlanFromConstraints: [Plan, [core.List$(Constraint)]], |
| 442 addPropagate: dart.functionType(core.bool, [Constraint, core.int]), | 442 addPropagate: [core.bool, [Constraint, core.int]], |
| 443 removePropagateFrom: dart.functionType(core.List$(Constraint), [Variable])
, | 443 removePropagateFrom: [core.List$(Constraint), [Variable]], |
| 444 addConstraintsConsumingTo: dart.functionType(dart.void, [Variable, core.Li
st$(Constraint)]) | 444 addConstraintsConsumingTo: [dart.void, [Variable, core.List$(Constraint)]] |
| 445 }) | 445 }) |
| 446 }); | 446 }); |
| 447 class Plan extends core.Object { | 447 class Plan extends core.Object { |
| 448 Plan() { | 448 Plan() { |
| 449 this.list = dart.setType([], core.List$(Constraint)); | 449 this.list = dart.setType([], core.List$(Constraint)); |
| 450 } | 450 } |
| 451 addConstraint(c) { | 451 addConstraint(c) { |
| 452 this.list[core.$add](c); | 452 this.list[core.$add](c); |
| 453 } | 453 } |
| 454 size() { | 454 size() { |
| 455 return this.list[core.$length]; | 455 return this.list[core.$length]; |
| 456 } | 456 } |
| 457 execute() { | 457 execute() { |
| 458 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) { |
| 459 this.list[core.$get](i).execute(); | 459 this.list[core.$get](i).execute(); |
| 460 } | 460 } |
| 461 } | 461 } |
| 462 } | 462 } |
| 463 dart.setSignature(Plan, { | 463 dart.setSignature(Plan, { |
| 464 methods: () => ({ | 464 methods: () => ({ |
| 465 addConstraint: dart.functionType(dart.void, [Constraint]), | 465 addConstraint: [dart.void, [Constraint]], |
| 466 size: dart.functionType(core.int, []), | 466 size: [core.int, []], |
| 467 execute: dart.functionType(dart.void, []) | 467 execute: [dart.void, []] |
| 468 }) | 468 }) |
| 469 }); | 469 }); |
| 470 function chainTest(n) { | 470 function chainTest(n) { |
| 471 exports.planner = new Planner(); | 471 exports.planner = new Planner(); |
| 472 let prev = null, first = null, last = null; | 472 let prev = null, first = null, last = null; |
| 473 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)
{ |
| 474 let v = new Variable("v", 0); | 474 let v = new Variable("v", 0); |
| 475 if (prev != null) | 475 if (prev != null) |
| 476 new EqualityConstraint(prev, v, REQUIRED); | 476 new EqualityConstraint(prev, v, REQUIRED); |
| 477 if (i == 0) | 477 if (i == 0) |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 556 exports.BinaryConstraint = BinaryConstraint; | 556 exports.BinaryConstraint = BinaryConstraint; |
| 557 exports.ScaleConstraint = ScaleConstraint; | 557 exports.ScaleConstraint = ScaleConstraint; |
| 558 exports.EqualityConstraint = EqualityConstraint; | 558 exports.EqualityConstraint = EqualityConstraint; |
| 559 exports.Variable = Variable; | 559 exports.Variable = Variable; |
| 560 exports.Planner = Planner; | 560 exports.Planner = Planner; |
| 561 exports.Plan = Plan; | 561 exports.Plan = Plan; |
| 562 exports.chainTest = chainTest; | 562 exports.chainTest = chainTest; |
| 563 exports.projectionTest = projectionTest; | 563 exports.projectionTest = projectionTest; |
| 564 exports.change = change; | 564 exports.change = change; |
| 565 })(DeltaBlue, BenchmarkBase, core); | 565 })(DeltaBlue, BenchmarkBase, core); |
| OLD | NEW |