1/*
2 *  pgn4web javascript chessboard
3 *  copyright (C) 2009-2014 Paolo Casaschi
4 *  see README file and http://pgn4web.casaschi.net
5 *  for credits, license and more details
6 */
7
8"use strict";
9
10function testAllMoves() {
11  var ii = 0;
12  var mm = 0;
13  var start = (new Date()).getTime();
14  resetAlert();
15  for (var gg = 0; gg < numberOfGames; gg++) {
16    Init(gg);
17    for (var vv = 0; vv < numberOfVars; vv++) {
18      for (var hh = StartPlyVar[vv]; hh <= StartPlyVar[vv] + PlyNumberVar[vv]; hh++) {
19        GoToMove(hh, vv);
20        mm++;
21        if ((++ii % 100 === 0) && console) { console.log("i=" + ii + " g=" + gg + "/" + numberOfGames + " a=" + alertNumSinceReset); }
22      }
23    }
24  }
25  var tt = ((new Date()).getTime() - start) / 1000;
26  if (console) { console.log("t=" + tt + "s mps=" + Math.floor(mm / tt) + " a=" + alertNumSinceReset); }
27  return alertNumSinceReset;
28}
29
30function testRandomMoves(nn, pv, pg) {
31  var start = (new Date()).getTime();
32  resetAlert();
33  if (typeof(nn) == "undefined") { nn = numberOfGames * 100; }
34  if (typeof(pv) == "undefined") { pv = 0.5; }
35  if (typeof(pg) == "undefined") { pg = 0.1; }
36  var gg = 0;
37  var vv = 0;
38  var mm = 0;
39  for (var ii = 1; ii <= nn; ii++) {
40    if (Math.random() < pg) {
41      gg = Math.floor(numberOfGames * Math.random());
42      Init(gg);
43      vv = 0;
44    }
45    if (Math.random() < pv) {
46      vv = Math.floor(numberOfVars * Math.random());
47    }
48    var hh = StartPlyVar[vv] + Math.floor((PlyNumberVar[vv] + 1) * Math.random());
49    GoToMove(hh, vv);
50    mm++;
51    if ((ii % 100 === 0) && console) { console.log("i=" + ii + "/" + nn + " a=" + alertNumSinceReset); }
52  }
53  var tt = ((new Date()).getTime() - start) / 1000;
54  if (console) { console.log("t=" + tt + "s mps=" + Math.floor(mm / tt) + " a=" + alertNumSinceReset); }
55  return alertNumSinceReset;
56}
57
58function customFunctionOnAlert(msg) {
59  if (console) { console.log("  alert: g=" + currentGame + " v=" + CurrentVar + " p=" + CurrentPly + " m=" + msg); }
60}
61
62