OLD | NEW |
1 (function(){ | 1 (function(){ |
2 | 2 |
3 // Populated from: http://www.medcalc.be/manual/t-distribution.php | 3 // Populated from: http://www.medcalc.be/manual/t-distribution.php |
4 // 95% confidence for N - 1 = 4 | 4 // 95% confidence for N - 1 = 4 |
5 var tDistribution = 2.776; | 5 var tDistribution = 2.776; |
6 | 6 |
7 // The number of individual test iterations to do | 7 // The number of individual test iterations to do |
8 var numTests = 5; | 8 var numTests = 5; |
9 | 9 |
10 // The type of run that we're doing (options are "runs/s" or "ms") | 10 // The type of run that we're doing (options are "runs/s" or "ms") |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 var testDone = {}; | 223 var testDone = {}; |
224 var testNames = {}; | 224 var testNames = {}; |
225 var testVersions = {}; | 225 var testVersions = {}; |
226 var dataStore = []; | 226 var dataStore = []; |
227 var names = []; | 227 var names = []; |
228 var interval; | 228 var interval; |
229 var totalTime = 0; | 229 var totalTime = 0; |
230 var time = 0; | 230 var time = 0; |
231 var title, testName, testID, testSummary = {} , testSummaryNum = {}, max
Total = 0, maxTotalNum = 0; | 231 var title, testName, testID, testSummary = {} , testSummaryNum = {}, max
Total = 0, maxTotalNum = 0; |
232 var nameDone = {}; | 232 var nameDone = {}; |
| 233 var automated = false; |
233 | 234 |
234 // Query String Parsing | 235 // Query String Parsing |
235 var search = (window.location.search || "?").substr(1); | 236 var search = (window.location.search || "?").substr(1); |
236 | 237 |
237 search = search.replace(/&runStyle=([^&]+)/, function(all, type){ | 238 search = search.replace(/&runStyle=([^&]+)/, function(all, type){ |
238 runStyle = type; | 239 runStyle = type; |
239 return ""; | 240 return ""; |
240 }); | 241 }); |
241 | 242 |
242 var parts = search.split("&"); | 243 var parts = search.split("&"); |
(...skipping 19 matching lines...) Expand all Loading... |
262 var sharkMatch = new RegExp(m[1]); | 263 var sharkMatch = new RegExp(m[1]); |
263 doShark = function(name) { | 264 doShark = function(name) { |
264 return sharkMatch.test(name); | 265 return sharkMatch.test(name); |
265 }; | 266 }; |
266 } | 267 } |
267 } | 268 } |
268 | 269 |
269 m = /^numTests=(\d+)$/.exec(parts[i]); | 270 m = /^numTests=(\d+)$/.exec(parts[i]); |
270 if (m) | 271 if (m) |
271 numTests = Number(m[1]); | 272 numTests = Number(m[1]); |
| 273 |
| 274 automated = /^automated$/.exec(parts[i]); |
272 } | 275 } |
273 | 276 |
274 jQuery(function(){ | 277 jQuery(function(){ |
275 var id = search.match(/id=([\d,]+)/); | 278 var id = search.match(/id=([\d,]+)/); |
276 | 279 |
277 if ( none && !id ) { | 280 if ( none && !id ) { |
278 $("#overview").hide(); | 281 $("#overview").hide(); |
279 return; | 282 return; |
280 } | 283 } |
281 | 284 |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 queue.shift()(); | 356 queue.shift()(); |
354 | 357 |
355 } else if ( queue.length == 0 ) { | 358 } else if ( queue.length == 0 ) { |
356 interval = false; | 359 interval = false; |
357 time = 0; | 360 time = 0; |
358 | 361 |
359 $("#overview input").remove(); | 362 $("#overview input").remove(); |
360 updateTimebar(); | 363 updateTimebar(); |
361 | 364 |
362 if ( dataStore && dataStore.length ) { | 365 if ( dataStore && dataStore.length ) { |
363 » » » » $("body").addClass("alldone"); | 366 » » » » if (!automated) { |
364 » » » » var div = jQuery("<div class='results'>Saving...
</div>").insertBefore("#overview"); | 367 » » » » » $("body").addClass("alldone"); |
365 » » » » jQuery.ajax({ | 368 » » » » » var div = jQuery("<div class='results'>S
aving...</div>").insertBefore("#overview"); |
366 » » » » » type: "POST", | 369 » » » » » jQuery.ajax({ |
367 » » » » » url: "store.php", | 370 » » » » » » type: "POST", |
368 » » » » » data: "data=" + encodeURIComponent(JSON.
stringify(dataStore)) + "&style=" + runStyle, | 371 » » » » » » url: "store.php", |
369 » » » » » success: function(id){ | 372 » » » » » » data: "data=" + encodeURICompone
nt(JSON.stringify(dataStore)) + "&style=" + runStyle, |
370 » » » » » » var url = window.location.href.r
eplace(/\?.*$/, "") + "?id=" + id; | 373 » » » » » » success: function(id){ |
371 » » » » » » div.html("Results saved. You can
access them at a later time at the following URL:<br/><strong><a href='" + url
+ "'>" + url + "</a></strong></div>"); | 374 » » » » » » » var url = window.locatio
n.href.replace(/\?.*$/, "") + "?id=" + id; |
372 » » » » » } | 375 » » » » » » » div.html("Results saved.
You can access them at a later time at the following URL:<br/><strong><a href='
" + url + "'>" + url + "</a></strong></div>"); |
373 » » » » }); | 376 » » » » » » } |
| 377 » » » » » }); |
| 378 » » » » } else { |
| 379 » » » » » window.automation.SetDone(); |
| 380 » » » » } |
374 } | 381 } |
375 } | 382 } |
376 } | 383 } |
377 | 384 |
378 function updateTimebar(){ | 385 function updateTimebar(){ |
379 $("#timebar").html("<span><strong>" + (runStyle === "runs/s" ? M
ath.pow(Math.E, maxTotal / maxTotalNum) : maxTotal).toFixed(2) + "</strong>" + r
unStyle + " (Total)</span>"); | 386 $("#timebar").html("<span><strong>" + (runStyle === "runs/s" ? M
ath.pow(Math.E, maxTotal / maxTotalNum) : maxTotal).toFixed(2) + "</strong>" + r
unStyle + " (Total)</span>"); |
380 } | 387 } |
381 | 388 |
382 // Run once all the test files are fully loaded | 389 // Run once all the test files are fully loaded |
383 function init(){ | 390 function init(){ |
384 for ( var n = 0; n < names.length; n++ ) { | 391 for ( var n = 0; n < names.length; n++ ) { |
385 queue = queue.concat( queues[ names[n] ] ); | 392 queue = queue.concat( queues[ names[n] ] ); |
386 } | 393 } |
387 | 394 |
388 totalTime = time; | 395 totalTime = time; |
389 time += timePerTest; | 396 time += timePerTest; |
390 updateTime(); | 397 updateTime(); |
391 | 398 |
392 » » $("#pause") | 399 » » if (!automated) { |
393 » » » .val("Run") | 400 » » » $("#pause") |
394 » » » .click(function(){ | 401 » » » » .val("Run") |
395 » » » » if ( interval ) { | 402 » » » » .click(function(){ |
396 » » » » » interval = null; | 403 » » » » » if ( interval ) { |
397 » » » » » this.value = "Run"; | 404 » » » » » » interval = null; |
398 » » » » } else { | 405 » » » » » » this.value = "Run"; |
399 » » » » » if ( !interval ) { | 406 » » » » » } else { |
400 » » » » » » interval = true; | 407 » » » » » » if ( !interval ) { |
401 » » » » » » dequeue(); | 408 » » » » » » » interval = true; |
| 409 » » » » » » » dequeue(); |
| 410 » » » » » » } |
| 411 » » » » » » this.value = "Pause"; |
402 } | 412 } |
403 » » » » » this.value = "Pause"; | 413 » » » » }); |
404 » » » » } | 414 » » } else { |
405 » » » }); | 415 » » » $("#pause") |
| 416 » » » » .val("Automated") |
| 417 » » » » .click(function(){}); |
| 418 » » » interval = true; |
| 419 » » » dequeue(); |
| 420 » » } |
406 } | 421 } |
407 | 422 |
408 function initTest(curID){ | 423 function initTest(curID){ |
409 $("<div class='result-item'></div>") | 424 $("<div class='result-item'></div>") |
410 .append( testElems[ curID ] ) | 425 .append( testElems[ curID ] ) |
411 .append( "<p>" + (tests[curID] ? tests[ curID ].desc : "
") + "<br/><a href='" + | 426 .append( "<p>" + (tests[curID] ? tests[ curID ].desc : "
") + "<br/><a href='" + |
412 (tests[curID] && tests[curID].origin ? tests[ cu
rID ].origin[1] : "") + "'>Origin</a>, <a href='tests/" + | 427 (tests[curID] && tests[curID].origin ? tests[ cu
rID ].origin[1] : "") + "'>Origin</a>, <a href='tests/" + |
413 (tests[curID] ? tests[ curID ].file : "") + "'>S
ource</a>, <b>Tests:</b> " + | 428 (tests[curID] ? tests[ curID ].file : "") + "'>S
ource</a>, <b>Tests:</b> " + |
414 (tests[curID] && tests[curID].tags ? tests[ curI
D ].tags.join(", ") : "") + "</p>" ) | 429 (tests[curID] && tests[curID].tags ? tests[ curI
D ].tags.join(", ") : "") + "</p>" ) |
415 .append( "<ol class='results'></ol>" ) | 430 .append( "<ol class='results'></ol>" ) |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
750 testElems[testID] = $("<div class='test'></div>") | 765 testElems[testID] = $("<div class='test'></div>") |
751 .click(function(){ | 766 .click(function(){ |
752 var next = jQuery(this).next().next(); | 767 var next = jQuery(this).next().next(); |
753 if ( next.children().length == 0 ) return; | 768 if ( next.children().length == 0 ) return; |
754 var display = next.css("display"); | 769 var display = next.css("display"); |
755 next.css("display", display == 'none' ? 'block'
: 'none'); | 770 next.css("display", display == 'none' ? 'block'
: 'none'); |
756 }); | 771 }); |
757 | 772 |
758 updateTestPos({curID: testID, collection: tests[testID] ? tests[
testID].name : testID, version: testVersions[testID]}, true); | 773 updateTestPos({curID: testID, collection: tests[testID] ? tests[
testID].name : testID, version: testVersions[testID]}, true); |
759 } | 774 } |
| 775 |
| 776 if (automated) { |
| 777 // Add some more stuff if running in automated mode. |
| 778 window.automation = {} |
| 779 window.automation.SetDone = function() { |
| 780 window.document.cookie = "__done=1; path=/"; |
| 781 } |
| 782 window.automation.GetScore = function() { |
| 783 return (runStyle === "runs/s" ? Math.pow(Math.E, maxTota
l / maxTotalNum) : maxTotal).toString(); |
| 784 } |
| 785 window.automation.GetResults = function() { |
| 786 results = {} |
| 787 for (var i = 0; i < dataStore.length; i++) { |
| 788 var data = dataStore[i]; |
| 789 // dots are not allowed. |
| 790 var key = (data.collection + "/" + data.name).re
place(".", "_"); |
| 791 results[key] = data.mean.toString(); |
| 792 } |
| 793 return results; |
| 794 } |
| 795 } |
760 })(); | 796 })(); |
OLD | NEW |