diff --git a/CuckooChess/src/main/java/gui/ChessBoardPainter.java b/CuckooChess/src/main/java/gui/ChessBoardPainter.java index addebab..1b64a32 100644 --- a/CuckooChess/src/main/java/gui/ChessBoardPainter.java +++ b/CuckooChess/src/main/java/gui/ChessBoardPainter.java @@ -127,7 +127,7 @@ public class ChessBoardPainter extends JLabel { } } - private final void drawPiece(Graphics2D g, int xCrd, int yCrd, int p) { + private void drawPiece(Graphics2D g, int xCrd, int yCrd, int p) { g.setColor(Piece.isWhite(p) ? Color.WHITE : Color.BLACK); String ps; switch (p) { @@ -195,10 +195,10 @@ public class ChessBoardPainter extends JLabel { } } - private final int getXCrd(int x) { + private int getXCrd(int x) { return x0 + sqSize * (flipped ? 7 - x : x); } - private final int getYCrd(int y) { + private int getYCrd(int y) { return y0 + sqSize * (flipped ? y : (7 - y)); } diff --git a/CuckooChess/src/main/java/uci/EngineControl.java b/CuckooChess/src/main/java/uci/EngineControl.java index 379d751..7df937b 100644 --- a/CuckooChess/src/main/java/uci/EngineControl.java +++ b/CuckooChess/src/main/java/uci/EngineControl.java @@ -275,7 +275,7 @@ public class EngineControl { engineThread.start(); } - private final void stopThread() { + private void stopThread() { Thread myThread; Search mySearch; synchronized (threadMutex) { @@ -295,13 +295,13 @@ public class EngineControl { } - private final void setupTT() { + private void setupTT() { int nEntries = hashSizeMB > 0 ? hashSizeMB * (1 << 20) / 24 : 1024; int logSize = (int) Math.floor(Math.log(nEntries) / Math.log(2)); tt = new TranspositionTable(logSize); } - private final void setupPosition(Position pos, List moves) { + private void setupPosition(Position pos, List moves) { UndoInfo ui = new UndoInfo(); posHashList = new long[200 + moves.size()]; posHashListSize = 0; @@ -315,7 +315,7 @@ public class EngineControl { /** * Try to find a move to ponder from the transposition table. */ - private final Move getPonderMove(Position pos, Move m) { + private Move getPonderMove(Position pos, Move m) { if (m == null) return null; Move ret = null; UndoInfo ui = new UndoInfo(); diff --git a/CuckooChess/src/main/java/uci/SearchParams.java b/CuckooChess/src/main/java/uci/SearchParams.java index 032cb6b..44f48d9 100644 --- a/CuckooChess/src/main/java/uci/SearchParams.java +++ b/CuckooChess/src/main/java/uci/SearchParams.java @@ -37,6 +37,6 @@ public class SearchParams { boolean infinite; public SearchParams() { - searchMoves = new ArrayList(); + searchMoves = new ArrayList<>(); } } diff --git a/CuckooChess/src/main/java/uci/UCIProtocol.java b/CuckooChess/src/main/java/uci/UCIProtocol.java index 9da1c24..d27e933 100644 --- a/CuckooChess/src/main/java/uci/UCIProtocol.java +++ b/CuckooChess/src/main/java/uci/UCIProtocol.java @@ -50,7 +50,7 @@ public class UCIProtocol { public UCIProtocol() { pos = null; - moves = new ArrayList(); + moves = new ArrayList<>(); quit = false; } diff --git a/CuckooChessApp/src/main/java/org/petero/cuckoochess/ChessBoard.java b/CuckooChessApp/src/main/java/org/petero/cuckoochess/ChessBoard.java index ba1535a..1810313 100644 --- a/CuckooChessApp/src/main/java/org/petero/cuckoochess/ChessBoard.java +++ b/CuckooChessApp/src/main/java/org/petero/cuckoochess/ChessBoard.java @@ -161,7 +161,7 @@ public class ChessBoard extends View { } } - private final void drawPiece(Canvas canvas, int xCrd, int yCrd, int p) { + private void drawPiece(Canvas canvas, int xCrd, int yCrd, int p) { String ps; switch (p) { case Piece.EMPTY: @@ -218,10 +218,10 @@ public class ChessBoard extends View { } } - private final int getXCrd(int x) { + private int getXCrd(int x) { return x0 + sqSize * (flipped ? 7 - x : x); } - private final int getYCrd(int y) { + private int getYCrd(int y) { return y0 + sqSize * (flipped ? y : (7 - y)); } diff --git a/CuckooChessApp/src/main/java/org/petero/cuckoochess/CuckooChess.java b/CuckooChessApp/src/main/java/org/petero/cuckoochess/CuckooChess.java index 197d5a4..d596291 100644 --- a/CuckooChessApp/src/main/java/org/petero/cuckoochess/CuckooChess.java +++ b/CuckooChessApp/src/main/java/org/petero/cuckoochess/CuckooChess.java @@ -134,7 +134,7 @@ public class CuckooChess extends Activity implements GUIInterface { tmp = settings.getString("numUndo", null); if (tmp != null) numUndo = tmp; } - List posHistStr = new ArrayList(); + List posHistStr = new ArrayList<>(); posHistStr.add(fen); posHistStr.add(moves); posHistStr.add(numUndo); diff --git a/CuckooChessEngine/src/main/java/chess/Book.java b/CuckooChessEngine/src/main/java/chess/Book.java index 1c7f1a3..3464513 100644 --- a/CuckooChessEngine/src/main/java/chess/Book.java +++ b/CuckooChessEngine/src/main/java/chess/Book.java @@ -54,13 +54,13 @@ public class Book { if (numBookMoves >= 0) return; long t0 = System.currentTimeMillis(); - bookMap = new HashMap>(); + bookMap = new HashMap<>(); rndGen = new SecureRandom(); rndGen.setSeed(System.currentTimeMillis()); numBookMoves = 0; try { InputStream inStream = getClass().getResourceAsStream("/book.bin"); - List buf = new ArrayList(8192); + List buf = new ArrayList<>(8192); byte[] tmpBuf = new byte[1024]; while (true) { int len = inStream.read(tmpBuf); @@ -106,7 +106,7 @@ public class Book { private void addToBook(Position pos, Move moveToAdd) { List ent = bookMap.get(pos.zobristHash()); if (ent == null) { - ent = new ArrayList(); + ent = new ArrayList<>(); bookMap.put(pos.zobristHash(), ent); } for (int i = 0; i < ent.size(); i++) { diff --git a/CuckooChessEngine/src/main/java/chess/ComputerPlayer.java b/CuckooChessEngine/src/main/java/chess/ComputerPlayer.java index 681a51f..2c247cc 100644 --- a/CuckooChessEngine/src/main/java/chess/ComputerPlayer.java +++ b/CuckooChessEngine/src/main/java/chess/ComputerPlayer.java @@ -210,7 +210,7 @@ public class ComputerPlayer implements Player { // tt.printStats(); // Return best move and PV - return new TwoReturnValues(bestM, PV); + return new TwoReturnValues<>(bestM, PV); } private Move findSemiRandomMove(Search sc, MoveGen.MoveList moves) { @@ -237,7 +237,7 @@ public class ComputerPlayer implements Player { return null; } - private final static int moveProbWeight(int moveScore, int bestScore) { + private static int moveProbWeight(int moveScore, int bestScore) { double d = (bestScore - moveScore) / 100.0; double w = 100*Math.exp(-d*d/2); return (int)Math.ceil(w); diff --git a/CuckooChessEngine/src/main/java/chess/Evaluate.java b/CuckooChessEngine/src/main/java/chess/Evaluate.java index e61e9d7..f068086 100644 --- a/CuckooChessEngine/src/main/java/chess/Evaluate.java +++ b/CuckooChessEngine/src/main/java/chess/Evaluate.java @@ -290,12 +290,12 @@ public class Evaluate { } /** Compute white_material - black_material. */ - static final int material(Position pos) { + static int material(Position pos) { return pos.wMtrl - pos.bMtrl; } /** Compute score based on piece square tables. Positive values are good for white. */ - private final int pieceSquareEval(Position pos) { + private int pieceSquareEval(Position pos) { int score = 0; final int wMtrl = pos.wMtrl; final int bMtrl = pos.bMtrl; @@ -405,7 +405,7 @@ public class Evaluate { } /** Implement the "when ahead trade pieces, when behind trade pawns" rule. */ - private final int tradeBonus(Position pos) { + private int tradeBonus(Position pos) { final int wM = pos.wMtrl; final int bM = pos.bMtrl; final int wPawn = pos.wMtrlPawns; @@ -436,7 +436,7 @@ public class Evaluate { } /** Score castling ability. */ - private final int castleBonus(Position pos) { + private int castleBonus(Position pos) { if (pos.getCastleMask() == 0) return 0; final int k1 = kt1b[7*8+6] - kt1b[7*8+4]; @@ -464,7 +464,7 @@ public class Evaluate { return wBonus - bBonus; } - private final int pawnBonus(Position pos) { + private int pawnBonus(Position pos) { long key = pos.pawnZobristHash(); PawnHashData phd = pawnHash[(int)key & (pawnHash.length - 1)]; if (phd.key != key) @@ -562,7 +562,7 @@ public class Evaluate { } /** Compute pawn hash data for pos. */ - private final void computePawnHashData(Position pos, PawnHashData ph) { + private void computePawnHashData(Position pos, PawnHashData ph) { int score = 0; // Evaluate double pawns and pawn islands @@ -658,7 +658,7 @@ public class Evaluate { } /** Compute rook bonus. Rook on open/half-open file. */ - private final int rookBonus(Position pos) { + private int rookBonus(Position pos) { int score = 0; final long wPawns = pos.pieceTypeBB[Piece.WPAWN]; final long bPawns = pos.pieceTypeBB[Piece.BPAWN]; @@ -703,7 +703,7 @@ public class Evaluate { } /** Compute bishop evaluation. */ - private final int bishopEval(Position pos, int oldScore) { + private int bishopEval(Position pos, int oldScore) { int score = 0; final long occupied = pos.whiteBB | pos.blackBB; long wBishops = pos.pieceTypeBB[Piece.WBISHOP]; @@ -828,7 +828,7 @@ public class Evaluate { } /** Compute king safety for both kings. */ - private final int kingSafety(Position pos) { + private int kingSafety(Position pos) { final int minM = rV + bV; final int m = (pos.wMtrl - pos.wMtrlPawns + pos.bMtrl - pos.bMtrlPawns) / 2; if (m <= minM) @@ -884,7 +884,7 @@ public class Evaluate { } } - private final int kingSafetyKPPart(Position pos) { + private int kingSafetyKPPart(Position pos) { final long key = pos.pawnZobristHash() ^ pos.kingZobristHash(); KingSafetyHashData ksh = kingSafetyHash[(int)key & (kingSafetyHash.length - 1)]; if (ksh.key != key) { @@ -958,7 +958,7 @@ public class Evaluate { } /** Implements special knowledge for some endgame situations. */ - private final int endGameEval(Position pos, int oldScore) { + private int endGameEval(Position pos, int oldScore) { int score = oldScore; if (pos.wMtrl + pos.bMtrl > 6 * rV) return score; diff --git a/CuckooChessEngine/src/main/java/chess/Game.java b/CuckooChessEngine/src/main/java/chess/Game.java index ac5db28..3a35030 100644 --- a/CuckooChessEngine/src/main/java/chess/Game.java +++ b/CuckooChessEngine/src/main/java/chess/Game.java @@ -182,9 +182,9 @@ public class Game { */ protected boolean handleCommand(String moveStr) { if (moveStr.equals("new")) { - moveList = new ArrayList(); - uiInfoList = new ArrayList(); - drawOfferList = new ArrayList(); + moveList = new ArrayList<>(); + uiInfoList = new ArrayList<>(); + drawOfferList = new ArrayList<>(); currentMove = 0; pendingDrawOffer = false; drawState = GameState.ALIVE; @@ -305,7 +305,7 @@ public class Game { } public List getPosHistory() { - List ret = new ArrayList(); + List ret = new ArrayList<>(); Position pos = new Position(this.pos); for (int i = currentMove; i > 0; i--) { @@ -423,7 +423,7 @@ public class Game { /** Return a list of previous positions in this game, back to the last "zeroing" move. */ public ArrayList getHistory() { - ArrayList posList = new ArrayList(); + ArrayList posList = new ArrayList<>(); Position pos = new Position(this.pos); for (int i = currentMove; i > 0; i--) { if (pos.halfMoveClock == 0) @@ -446,7 +446,7 @@ public class Game { boolean valid; if (rep) { valid = false; - List oldPositions = new ArrayList(); + List oldPositions = new ArrayList<>(); if (m != null) { UndoInfo ui = new UndoInfo(); Position tmpPos = new Position(pos); diff --git a/CuckooChessEngine/src/main/java/chess/MoveGen.java b/CuckooChessEngine/src/main/java/chess/MoveGen.java index f61139c..d74b42b 100644 --- a/CuckooChessEngine/src/main/java/chess/MoveGen.java +++ b/CuckooChessEngine/src/main/java/chess/MoveGen.java @@ -366,7 +366,7 @@ public final class MoveGen { { ArrayList allMoves = pseudoLegalMoves(pos); allMoves = MoveGen.removeIllegal(pos, allMoves); - HashSet evMoves = new HashSet(); + HashSet evMoves = new HashSet<>(); for (Move m : moveList) evMoves.add(TextIO.moveToUCIString(m)); for (Move m : allMoves) @@ -967,8 +967,8 @@ public final class MoveGen { moveList.size = length; } - private final static boolean addPawnMovesByMask(MoveList moveList, Position pos, long mask, - int delta, boolean allPromotions) { + private static boolean addPawnMovesByMask(MoveList moveList, Position pos, long mask, + int delta, boolean allPromotions) { if (mask == 0) return false; long oKingMask = pos.pieceTypeBB[pos.whiteMove ? Piece.BKING : Piece.WKING]; @@ -1008,8 +1008,8 @@ public final class MoveGen { return false; } - private final static void addPawnDoubleMovesByMask(MoveList moveList, Position pos, - long mask, int delta) { + private static void addPawnDoubleMovesByMask(MoveList moveList, Position pos, + long mask, int delta) { while (mask != 0) { int sq = BitBoard.numberOfTrailingZeros(mask); setMove(moveList, sq + delta, sq, Piece.EMPTY); @@ -1017,7 +1017,7 @@ public final class MoveGen { } } - private final static boolean addMovesByMask(MoveList moveList, Position pos, int sq0, long mask) { + private static boolean addMovesByMask(MoveList moveList, Position pos, int sq0, long mask) { long oKingMask = pos.pieceTypeBB[pos.whiteMove ? Piece.BKING : Piece.WKING]; if ((mask & oKingMask) != 0) { int sq = BitBoard.numberOfTrailingZeros(mask & oKingMask); @@ -1033,7 +1033,7 @@ public final class MoveGen { return false; } - private final static void setMove(MoveList moveList, int from, int to, int promoteTo) { + private static void setMove(MoveList moveList, int from, int to, int promoteTo) { Move m = moveList.m[moveList.size++]; m.from = from; m.to = to; @@ -1047,7 +1047,7 @@ public final class MoveGen { private static final int MAX_MOVES = 256; - private final MoveList getMoveListObj() { + private MoveList getMoveListObj() { MoveList ml; if (moveListsInCache > 0) { ml = (MoveList)moveListCache[--moveListsInCache]; diff --git a/CuckooChessEngine/src/main/java/chess/Parameters.java b/CuckooChessEngine/src/main/java/chess/Parameters.java index 92df884..523ce60 100644 --- a/CuckooChessEngine/src/main/java/chess/Parameters.java +++ b/CuckooChessEngine/src/main/java/chess/Parameters.java @@ -85,7 +85,7 @@ public class Parameters { return inst; } public final String[] getParamNames() { - ArrayList parNames = new ArrayList(); + ArrayList parNames = new ArrayList<>(); for (Map.Entry e : params.entrySet()) if (e.getValue().visible) parNames.add(e.getKey()); @@ -97,7 +97,7 @@ public class Parameters { } private static final Parameters inst = new Parameters(); - private Map params = new TreeMap(); + private Map params = new TreeMap<>(); private Parameters() { addPar(new SpinParam("qV", false, -200, 200, 0)); @@ -107,7 +107,7 @@ public class Parameters { addPar(new SpinParam("pV", false, -200, 200, 0)); } - private final void addPar(ParamBase p) { + private void addPar(ParamBase p) { params.put(p.name.toLowerCase(), p); } diff --git a/CuckooChessEngine/src/main/java/chess/Position.java b/CuckooChessEngine/src/main/java/chess/Position.java index 3635fcd..5a8bee8 100644 --- a/CuckooChessEngine/src/main/java/chess/Position.java +++ b/CuckooChessEngine/src/main/java/chess/Position.java @@ -210,7 +210,7 @@ public class Position { } /** Move a non-pawn piece to an empty square. */ - private final void movePieceNotPawn(int from, int to) { + private void movePieceNotPawn(int from, int to) { final int piece = squares[from]; hashKey ^= psHashKeys[piece][from]; hashKey ^= psHashKeys[piece][to]; @@ -562,7 +562,7 @@ public class Position { } } - private final void removeCastleRights(int square) { + private void removeCastleRights(int square) { if (square == Position.getSquare(0, 0)) { setCastleMask(castleMask & ~(1 << Position.A1_CASTLE)); } else if (square == Position.getSquare(7, 0)) { @@ -620,7 +620,7 @@ public class Position { return hash; } - private final static long getRandomHashVal(int rndNo) { + private static long getRandomHashVal(int rndNo) { try { MessageDigest md = MessageDigest.getInstance("SHA-1"); byte[] input = new byte[4]; diff --git a/CuckooChessEngine/src/main/java/chess/Search.java b/CuckooChessEngine/src/main/java/chess/Search.java index 0fcefe0..6c174c8 100644 --- a/CuckooChessEngine/src/main/java/chess/Search.java +++ b/CuckooChessEngine/src/main/java/chess/Search.java @@ -418,7 +418,7 @@ public class Search { return bestMove; } - private final void notifyPV(int depth, int score, boolean uBound, boolean lBound, Move m) { + private void notifyPV(int depth, int score, boolean uBound, boolean lBound, Move m) { if (listener != null) { boolean isMate = false; if (score > MATE0 / 2) { @@ -436,7 +436,7 @@ public class Search { } } - private final void notifyStats() { + private void notifyStats() { long tNow = System.currentTimeMillis(); if (listener != null) { int time = (int) (tNow - tStart); @@ -876,7 +876,7 @@ public class Search { } /** Return true if move m2 was made possible by move m1. */ - private final boolean relatedMoves(Move m1, Move m2) { + private boolean relatedMoves(Move m1, Move m2) { if ((m1.from == m1.to) || (m2.from == m2.to)) return false; if ((m1.to == m2.from) || (m1.from == m2.to) || @@ -886,7 +886,7 @@ public class Search { } /** Return true if move should be skipped in order to make engine play weaker. */ - private final boolean weakPlaySkipMove(Position pos, Move m, int ply) { + private boolean weakPlaySkipMove(Position pos, Move m, int ply) { long rndL = pos.zobristHash() ^ Position.psHashKeys[0][m.from] ^ Position.psHashKeys[0][m.to] ^ randomSeed; double rnd = ((rndL & 0x7fffffffffffffffL) % 1000000000) / 1e9; @@ -1207,7 +1207,7 @@ public class Search { m.score = score; } } - private final void scoreMoveListMvvLva(MoveGen.MoveList moves) { + private void scoreMoveListMvvLva(MoveGen.MoveList moves) { for (int i = 0; i < moves.size; i++) { Move m = moves.m[i]; int v = pos.getPiece(m.to); @@ -1271,7 +1271,7 @@ public class Search { return (reps >= 2); } - private final void initNodeStats() { + private void initNodeStats() { nodes = qNodes = 0; nodesPlyVec = new int[20]; nodesDepthVec = new int[20]; diff --git a/CuckooChessEngine/src/main/java/chess/TranspositionTable.java b/CuckooChessEngine/src/main/java/chess/TranspositionTable.java index 8dfc91a..4a17a89 100644 --- a/CuckooChessEngine/src/main/java/chess/TranspositionTable.java +++ b/CuckooChessEngine/src/main/java/chess/TranspositionTable.java @@ -218,9 +218,9 @@ public class TranspositionTable { public final ArrayList extractPVMoves(Position rootPos, Move m) { Position pos = new Position(rootPos); m = new Move(m); - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); UndoInfo ui = new UndoInfo(); - List hashHistory = new ArrayList(); + List hashHistory = new ArrayList<>(); MoveGen moveGen = new MoveGen(); while (true) { ret.add(m); @@ -256,7 +256,7 @@ public class TranspositionTable { boolean first = true; TTEntry ent = probe(pos.historyHash()); UndoInfo ui = new UndoInfo(); - ArrayList hashHistory = new ArrayList(); + ArrayList hashHistory = new ArrayList<>(); boolean repetition = false; MoveGen moveGen = MoveGen.instance; while (ent.type != TTEntry.T_EMPTY) { @@ -301,7 +301,7 @@ public class TranspositionTable { public final void printStats() { int unused = 0; int thisGen = 0; - List depHist = new ArrayList(); + List depHist = new ArrayList<>(); final int maxDepth = 20*8; for (int i = 0; i < maxDepth; i++) { depHist.add(0); @@ -328,11 +328,11 @@ public class TranspositionTable { } } - private final int h0(long key) { + private int h0(long key) { return (int)(key & (table.length - 1)); } - private final int h1(long key) { + private int h1(long key) { return (int)((key >> 32) & (table.length - 1)); } } diff --git a/CuckooChessEngine/src/main/java/chess/TreeLogger.java b/CuckooChessEngine/src/main/java/chess/TreeLogger.java index 8e45a95..717d08d 100644 --- a/CuckooChessEngine/src/main/java/chess/TreeLogger.java +++ b/CuckooChessEngine/src/main/java/chess/TreeLogger.java @@ -65,7 +65,7 @@ public final class TreeLogger { } } - private final void writeHeader(Position pos) { + private void writeHeader(Position pos) { try { byte[] fen = TextIO.toFEN(pos).getBytes(); bos.write((byte)(fen.length)); @@ -196,7 +196,7 @@ public final class TreeLogger { } /** Compute endIndex for all StartNode entries. */ - private final void computeForwardPointers() { + private void computeForwardPointers() { if ((mapBuf.get(127) & (1<<7)) != 0) return; System.out.printf("Computing forward pointers...\n"); @@ -215,7 +215,7 @@ public final class TreeLogger { } /** Get FEN string for root node position. */ - private final String getRootNodeFEN() { + private String getRootNodeFEN() { int len = mapBuf.get(0); byte[] fenB = new byte[len]; for (int i = 0; i < len; i++) @@ -243,7 +243,7 @@ public final class TreeLogger { /** Read a start/end entry. * @return True if entry was a start entry, false if it was an end entry. */ - private final boolean readEntry(int index, StartEntry se, EndEntry ee) { + private boolean readEntry(int index, StartEntry se, EndEntry ee) { int offs = indexToFileOffs(index); for (int i = 0; i < 16; i++) bb.put(i, mapBuf.get(offs + i)); @@ -286,7 +286,7 @@ public final class TreeLogger { an.close(); } - private final void mainLoop(Position rootPos) throws IOException { + private void mainLoop(Position rootPos) throws IOException { int currIndex = -1; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String prevStr = ""; @@ -326,7 +326,7 @@ public final class TreeLogger { String m = cmdStr; StartEntry se = new StartEntry(); EndEntry ee = new EndEntry(); - ArrayList found = new ArrayList(); + ArrayList found = new ArrayList<>(); for (Integer c : children) { readEntries(c, se, ee); if (TextIO.moveToUCIString(se.move).equals(m)) @@ -392,7 +392,7 @@ public final class TreeLogger { } } - private final boolean isMove(String cmdStr) { + private boolean isMove(String cmdStr) { if (cmdStr.length() != 4) return false; cmdStr = cmdStr.toLowerCase(); @@ -410,9 +410,9 @@ public final class TreeLogger { } /** Return all nodes with a given hash key. */ - private final ArrayList getNodeForHashKey(long hashKey) { + private ArrayList getNodeForHashKey(long hashKey) { hashKey &= 0x0000ffffffffffffL; - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); StartEntry se = new StartEntry(); EndEntry ee = new EndEntry(); for (int index = 0; index < numEntries; index++) { @@ -429,7 +429,7 @@ public final class TreeLogger { } /** Get hash key from an input string. */ - private final long getHashKey(String s, long defKey) { + private long getHashKey(String s, long defKey) { long key = defKey; int idx = s.indexOf(' '); if (idx > 0) { @@ -458,7 +458,7 @@ public final class TreeLogger { /** Get a list of integer parameters from an input string. */ final ArrayList getArgs(String s, int defVal) { - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); String[] split = s.split(" "); try { for (int i = 1; i < split.length; i++) @@ -479,7 +479,7 @@ public final class TreeLogger { return defVal; } - private final void printHelp() { + private void printHelp() { System.out.printf(" p - Print move sequence\n"); System.out.printf(" n - Print node info corresponding to move sequence\n"); System.out.printf(" l [move] - List child nodes, optionally only for one move\n"); @@ -493,7 +493,7 @@ public final class TreeLogger { } /** Read start/end entries for a tree node. Return true if the end entry exists. */ - private final boolean readEntries(int index, StartEntry se, EndEntry ee) { + private boolean readEntries(int index, StartEntry se, EndEntry ee) { boolean isStart = readEntry(index, se, ee); if (isStart) { int eIdx = se.endIndex; @@ -510,7 +510,7 @@ public final class TreeLogger { } /** Find the parent node to a node. */ - private final int findParent(int index) { + private int findParent(int index) { if (index >= 0) { StartEntry se = new StartEntry(); EndEntry ee = new EndEntry(); @@ -521,8 +521,8 @@ public final class TreeLogger { } /** Find all children of a node. */ - private final ArrayList findChildren(int index) { - ArrayList ret = new ArrayList(); + private ArrayList findChildren(int index) { + ArrayList ret = new ArrayList<>(); StartEntry se = new StartEntry(); EndEntry ee = new EndEntry(); int child = index + 1; @@ -542,7 +542,7 @@ public final class TreeLogger { } /** Get node position in parents children list. */ - private final int getChildNo(int index) { + private int getChildNo(int index) { ArrayList childs = findChildren(findParent(index)); for (int i = 0; i < childs.size(); i++) if (childs.get(i) == index) @@ -551,8 +551,8 @@ public final class TreeLogger { } /** Get list of nodes from root position to a node. */ - private final ArrayList getNodeSequence(int index) { - ArrayList nodes = new ArrayList(); + private ArrayList getNodeSequence(int index) { + ArrayList nodes = new ArrayList<>(); nodes.add(index); while (index >= 0) { index = findParent(index); @@ -563,8 +563,8 @@ public final class TreeLogger { } /** Find list of moves from root node to a node. */ - private final ArrayList getMoveSequence(int index) { - ArrayList moves = new ArrayList(); + private ArrayList getMoveSequence(int index) { + ArrayList moves = new ArrayList<>(); StartEntry se = new StartEntry(); EndEntry ee = new EndEntry(); while (index >= 0) { @@ -577,7 +577,7 @@ public final class TreeLogger { } /** Find the position corresponding to a node. */ - private final Position getPosition(Position rootPos, int index) { + private Position getPosition(Position rootPos, int index) { ArrayList moves = getMoveSequence(index); Position ret = new Position(rootPos); UndoInfo ui = new UndoInfo(); @@ -586,10 +586,10 @@ public final class TreeLogger { return ret; } - private final void printNodeInfo(Position rootPos, int index) { + private void printNodeInfo(Position rootPos, int index) { printNodeInfo(rootPos, index, ""); } - private final void printNodeInfo(Position rootPos, int index, String filterMove) { + private void printNodeInfo(Position rootPos, int index, String filterMove) { if (index < 0) { // Root node System.out.printf("%8d entries:%d\n", index, numEntries); } else { diff --git a/CuckooChessEngine/src/test/java/chess/ComputerPlayerTest.java b/CuckooChessEngine/src/test/java/chess/ComputerPlayerTest.java index 02e01ce..4b6df77 100644 --- a/CuckooChessEngine/src/test/java/chess/ComputerPlayerTest.java +++ b/CuckooChessEngine/src/test/java/chess/ComputerPlayerTest.java @@ -43,7 +43,7 @@ public class ComputerPlayerTest { @Test public void testGetCommand() throws ChessParseError { System.out.println("getCommand"); - ArrayList nullHist = new ArrayList(); + ArrayList nullHist = new ArrayList<>(); Position pos = TextIO.readFEN("7k/5Q2/p5K1/8/8/8/8/8 b - - 99 80"); ComputerPlayer cp = new ComputerPlayer(); diff --git a/CuckooChessEngine/src/test/java/chess/EvaluateTest.java b/CuckooChessEngine/src/test/java/chess/EvaluateTest.java index 6cba7de..37bd31b 100644 --- a/CuckooChessEngine/src/test/java/chess/EvaluateTest.java +++ b/CuckooChessEngine/src/test/java/chess/EvaluateTest.java @@ -514,7 +514,7 @@ public class EvaluateTest { } /** Compute change in eval score for white after making "moveStr" in position "pos". */ - private final int moveScore(Position pos, String moveStr) { + private int moveScore(Position pos, String moveStr) { int score1 = evalWhite(pos); Position tmpPos = new Position(pos); UndoInfo ui = new UndoInfo(); diff --git a/CuckooChessEngine/src/test/java/chess/MoveGenTest.java b/CuckooChessEngine/src/test/java/chess/MoveGenTest.java index 740e192..186b894 100644 --- a/CuckooChessEngine/src/test/java/chess/MoveGenTest.java +++ b/CuckooChessEngine/src/test/java/chess/MoveGenTest.java @@ -434,7 +434,7 @@ public class MoveGenTest { MoveGen.MoveList moves = moveGen.pseudoLegalMoves(pos); if (onlyLegal) MoveGen.removeIllegal(pos, moves); - ArrayList strMoves = new ArrayList(); + ArrayList strMoves = new ArrayList<>(); for (int mi = 0; mi < moves.size; mi++) { Move m = moves.m[mi]; String mStr = TextIO.moveToUCIString(m); @@ -512,7 +512,7 @@ public class MoveGenTest { } if (onlyLegal) MoveGen.removeIllegal(pos, moves); - ArrayList strMoves = new ArrayList(); + ArrayList strMoves = new ArrayList<>(); for (int mi = 0; mi < moves.size; mi++) { Move m = moves.m[mi]; String mStr = TextIO.moveToUCIString(m); @@ -527,7 +527,7 @@ public class MoveGenTest { MoveGen.MoveList moves = new MoveGen().checkEvasions(pos); if (onlyLegal) MoveGen.removeIllegal(pos, moves); - ArrayList strMoves = new ArrayList(); + ArrayList strMoves = new ArrayList<>(); for (int mi = 0; mi < moves.size; mi++) { Move m = moves.m[mi]; String mStr = TextIO.moveToUCIString(m); diff --git a/CuckooChessEngine/src/test/java/chess/PositionTest.java b/CuckooChessEngine/src/test/java/chess/PositionTest.java index 4560a11..5382ba9 100644 --- a/CuckooChessEngine/src/test/java/chess/PositionTest.java +++ b/CuckooChessEngine/src/test/java/chess/PositionTest.java @@ -395,9 +395,9 @@ public class PositionTest { "b5", "Nc3", "Nf6", "Nb1", "Ng8", "Nc3", "Nf6", "Nb1", "Ng8", "Nc3", "d5", "cxd6", "Qxd6", "h4", "Be6", "h5", "Nc6", "h6", "o-o-o", "hxg7", "Nf6", "gxh8Q", "Be7" }; - List uiList = new ArrayList(); - List hashList = new ArrayList(); - List moveList = new ArrayList(); + List uiList = new ArrayList<>(); + List hashList = new ArrayList<>(); + List moveList = new ArrayList<>(); for (int i = 0; i < moves.length; i++) { uiList.add(new UndoInfo()); Move m = TextIO.stringToMove(pos, moves[i]); @@ -413,7 +413,7 @@ public class PositionTest { pos.unMakeMove(moveList.get(i), uiList.get(i)); long h = pos.zobristHash(); assertEquals(h, pos.computeZobristHash()); - assertEquals(h, i > 0 ? hashList.get(i - 1) : h1); + assertEquals(h, i > 0 ? (long)hashList.get(i - 1) : h1); } } diff --git a/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/GameTreeTest.java b/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/GameTreeTest.java index 1083d14..b73e51f 100644 --- a/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/GameTreeTest.java +++ b/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/GameTreeTest.java @@ -40,7 +40,7 @@ import org.petero.droidfish.gamelogic.TimeControlData.TimeControlField; public class GameTreeTest extends TestCase { /** Add a move to the game tree, with no comments or annotations. */ - private final int addStdMove(GameTree gt, String moveStr) { + private int addStdMove(GameTree gt, String moveStr) { return gt.addMove(moveStr, "", 0, "", ""); } @@ -129,7 +129,7 @@ public class GameTreeTest extends TestCase { assertEquals(2, varList.size()); } - private final String getMoveListAsString(GameTree gt) { + private String getMoveListAsString(GameTree gt) { StringBuilder ret = new StringBuilder(); Pair, Integer> ml = gt.getMoveList(); List lst = ml.first; @@ -318,9 +318,9 @@ public class GameTreeTest extends TestCase { assertEquals(initialTime, gt.getRemainingTime(false, initialTime)); } - private final List getAllTokens(String s) { + private List getAllTokens(String s) { PgnScanner sc = new PgnScanner(s); - List ret = new ArrayList(); + List ret = new ArrayList<>(); while (true) { PgnToken tok = sc.nextToken(); if (tok.type == PgnToken.EOF) @@ -729,7 +729,7 @@ public class GameTreeTest extends TestCase { assertTrue(tcData2.isSymmetric()); assertTrue(tcData.equals(tcData2)); - Map headers = new TreeMap(); + Map headers = new TreeMap<>(); gt.getHeaders(headers); assertEquals("35/180", headers.get("TimeControl")); assertEquals(null, headers.get("WhiteTimeControl")); @@ -741,7 +741,7 @@ public class GameTreeTest extends TestCase { tcData2 = gt.getTimeControlData(); assertTrue(tcData2.isSymmetric()); assertEquals(tcData, tcData2); - headers = new TreeMap(); + headers = new TreeMap<>(); gt.getHeaders(headers); assertEquals("35/180", headers.get("TimeControl")); assertEquals(null, headers.get("WhiteTimeControl")); @@ -757,7 +757,7 @@ public class GameTreeTest extends TestCase { tcData.tcB.add(new TimeControlField(60*1000,20,3004)); tcData.tcB.add(new TimeControlField(30*1000,0,0)); gt.setTimeControlData(tcData); - headers = new TreeMap(); + headers = new TreeMap<>(); gt.getHeaders(headers); assertEquals(null, headers.get("TimeControl")); assertEquals("40/900:20/300.345:10/0+1:0+5", headers.get("WhiteTimeControl")); @@ -773,7 +773,7 @@ public class GameTreeTest extends TestCase { tcData2 = gt.getTimeControlData(); assertTrue(!tcData2.isSymmetric()); assertEquals(tcData, tcData2); - headers = new TreeMap(); + headers = new TreeMap<>(); gt.getHeaders(headers); assertEquals(null, headers.get("TimeControl")); assertEquals("40/900:20/300.345:10/0+1:0+5", headers.get("WhiteTimeControl")); @@ -782,7 +782,7 @@ public class GameTreeTest extends TestCase { tcData = new TimeControlData(); tcData.setTimeControl(2*60*1000, 0, 12000); gt.setTimeControlData(tcData); - headers = new TreeMap(); + headers = new TreeMap<>(); gt.getHeaders(headers); assertEquals("120+12", headers.get("TimeControl")); assertEquals(null, headers.get("WhiteTimeControl")); @@ -815,10 +815,10 @@ public class GameTreeTest extends TestCase { boolean res = gt.readPGN("[White \"a\"][Black \"b\"] f4 *", options); assertEquals(true, res); - TreeMap headers = new TreeMap(); + TreeMap headers = new TreeMap<>(); headers.put("Event", "test"); gt.setHeaders(headers); - TreeMap newHeaders = new TreeMap(); + TreeMap newHeaders = new TreeMap<>(); gt.getHeaders(newHeaders); assertEquals("test", newHeaders.get("Event")); @@ -836,7 +836,7 @@ public class GameTreeTest extends TestCase { { GameTree gt = new GameTree(null); gt.readPGN("f3 e5 g4 Qh4", options); - TreeMap headers = new TreeMap(); + TreeMap headers = new TreeMap<>(); gt.getHeaders(headers); assertEquals("0-1", headers.get("Result")); diff --git a/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/MoveGenTest.java b/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/MoveGenTest.java index aaa6a25..a9fc3d6 100644 --- a/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/MoveGenTest.java +++ b/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/MoveGenTest.java @@ -189,7 +189,7 @@ public class MoveGenTest extends TestCase { if (onlyLegal) { moves = MoveGen.removeIllegal(pos, moves); } - ArrayList strMoves = new ArrayList(); + ArrayList strMoves = new ArrayList<>(); for (Move m : moves) { String mStr = TextIO.moveToString(pos, m, true, false); strMoves.add(mStr); diff --git a/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/PositionTest.java b/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/PositionTest.java index ee5c797..ded091a 100644 --- a/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/PositionTest.java +++ b/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/PositionTest.java @@ -347,9 +347,9 @@ public class PositionTest extends TestCase { "b5", "Nc3", "Nf6", "Nb1", "Ng8", "Nc3", "Nf6", "Nb1", "Ng8", "Nc3", "d5", "cxd6", "Qxd6", "h4", "Be6", "h5", "Nc6", "h6", "o-o-o", "hxg7", "Nf6", "gxh8Q", "Be7" }; - List uiList = new ArrayList(); - List hashList = new ArrayList(); - List moveList = new ArrayList(); + List uiList = new ArrayList<>(); + List hashList = new ArrayList<>(); + List moveList = new ArrayList<>(); for (int i = 0; i < moves.length; i++) { uiList.add(new UndoInfo()); Move m = TextIO.stringToMove(pos, moves[i]); @@ -365,7 +365,7 @@ public class PositionTest extends TestCase { pos.unMakeMove(moveList.get(i), uiList.get(i)); long h = pos.zobristHash(); assertEquals(h, pos.computeZobristHash()); - assertEquals(h, i > 0 ? hashList.get(i - 1) : h1); + assertEquals(h, i > 0 ? (long)hashList.get(i - 1) : h1); } } diff --git a/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/TextIOTest.java b/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/TextIOTest.java index cc65149..51fe116 100644 --- a/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/TextIOTest.java +++ b/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/TextIOTest.java @@ -141,7 +141,7 @@ public class TextIOTest extends TestCase { return wasError; } - private final static String moveToString(Position pos, Move move, boolean longForm) { + private static String moveToString(Position pos, Move move, boolean longForm) { return TextIO.moveToString(pos, move, longForm, false); } diff --git a/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/TimeControlTest.java b/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/TimeControlTest.java index 772e4cb..19fdce9 100644 --- a/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/TimeControlTest.java +++ b/DroidFishApp/src/androidTest/java/org/petero/droidfish/gamelogic/TimeControlTest.java @@ -126,11 +126,11 @@ public class TimeControlTest extends TestCase { public void testMultiTimeControl() { TimeControl tc = new TimeControl(); TimeControlData tcData = new TimeControlData(); - tcData.tcW = new ArrayList(); + tcData.tcW = new ArrayList<>(); tcData.tcW.add(tcf(120*60*1000, 40, 0)); tcData.tcW.add(tcf(60*60*1000, 20, 0)); tcData.tcW.add(tcf(30*60*1000, 0, 15*1000)); - tcData.tcB = new ArrayList(); + tcData.tcB = new ArrayList<>(); tcData.tcB.add(tcf(5*60*1000, 60, 1000)); tc.setTimeControl(tcData); @@ -236,11 +236,11 @@ public class TimeControlTest extends TestCase { public void testSerialize() throws IOException { TimeControl tc = new TimeControl(); TimeControlData tcData = new TimeControlData(); - tcData.tcW = new ArrayList(); + tcData.tcW = new ArrayList<>(); tcData.tcW.add(tcf(120*60*1000, 40, 0)); tcData.tcW.add(tcf(60*60*1000, 20, 0)); tcData.tcW.add(tcf(30*60*1000, 0, 15*1000)); - tcData.tcB = new ArrayList(); + tcData.tcB = new ArrayList<>(); tcData.tcB.add(tcf(5*60*1000, 60, 1000)); tc.setTimeControl(tcData); diff --git a/DroidFishApp/src/androidTest/java/org/petero/droidfish/tb/ProbeResultTest.java b/DroidFishApp/src/androidTest/java/org/petero/droidfish/tb/ProbeResultTest.java index ad6726f..1823bd0 100644 --- a/DroidFishApp/src/androidTest/java/org/petero/droidfish/tb/ProbeResultTest.java +++ b/DroidFishApp/src/androidTest/java/org/petero/droidfish/tb/ProbeResultTest.java @@ -13,25 +13,25 @@ public class ProbeResultTest extends TestCase { assertEquals(0, ProbeResult.compareScore(0, 0, 0, 0)); assertEquals(0, ProbeResult.compareScore(1, 3, 1, 3)); assertEquals(0, ProbeResult.compareScore(-1, 4, -1, 4)); - assertEquals(true, ProbeResult.compareScore(0, 0, 1, 1) < 0); - assertEquals(true, ProbeResult.compareScore(1, 1, 1, 2) > 0); - assertEquals(true, ProbeResult.compareScore(-1, 1, 0, 0) < 0); - assertEquals(true, ProbeResult.compareScore(-1, 20, -1, 10) > 0); - assertEquals(true, ProbeResult.compareScore(-1, 20, 1, 21) < 0); - assertEquals(true, ProbeResult.compareScore(-1, 20, 1, 19) < 0); + assertTrue(ProbeResult.compareScore(0, 0, 1, 1) < 0); + assertTrue(ProbeResult.compareScore(1, 1, 1, 2) > 0); + assertTrue(ProbeResult.compareScore(-1, 1, 0, 0) < 0); + assertTrue(ProbeResult.compareScore(-1, 20, -1, 10) > 0); + assertTrue(ProbeResult.compareScore(-1, 20, 1, 21) < 0); + assertTrue(ProbeResult.compareScore(-1, 20, 1, 19) < 0); - assertEquals(true, ProbeResult.compareScore(1, 0, 0, 0) > 0); - assertEquals(true, ProbeResult.compareScore(1, 0, 1, 1) > 0); - assertEquals(true, ProbeResult.compareScore(0, 0, 1, 0) < 0); - assertEquals(true, ProbeResult.compareScore(1, 1, 1, 0) < 0); + assertTrue(ProbeResult.compareScore(1, 0, 0, 0) > 0); + assertTrue(ProbeResult.compareScore(1, 0, 1, 1) > 0); + assertTrue(ProbeResult.compareScore(0, 0, 1, 0) < 0); + assertTrue(ProbeResult.compareScore(1, 1, 1, 0) < 0); - assertEquals(true, ProbeResult.compareScore(-1, 0, 0, 0) < 0); - assertEquals(true, ProbeResult.compareScore(-1, 0, -1, 1) < 0); - assertEquals(true, ProbeResult.compareScore(0, 0, -1, 0) > 0); - assertEquals(true, ProbeResult.compareScore(-1, 1, -1, 0) > 0); + assertTrue(ProbeResult.compareScore(-1, 0, 0, 0) < 0); + assertTrue(ProbeResult.compareScore(-1, 0, -1, 1) < 0); + assertTrue(ProbeResult.compareScore(0, 0, -1, 0) > 0); + assertTrue(ProbeResult.compareScore(-1, 1, -1, 0) > 0); - assertEquals(true, ProbeResult.compareScore(-1, 0, 1, 0) < 0); - assertEquals(true, ProbeResult.compareScore(1, 0, -1, 0) > 0); + assertTrue(ProbeResult.compareScore(-1, 0, 1, 0) < 0); + assertTrue(ProbeResult.compareScore(1, 0, -1, 0) > 0); } public void testCompareProbeResult() { @@ -43,173 +43,173 @@ public class ProbeResultTest extends TestCase { assertEquals(0, new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.NONE, 1, 2))); // NONE vs DTM,DTZ,WDL - assertEquals(true, new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTM, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTZ, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTM, -1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTZ, -1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.WDL, -1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTM, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTZ, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTM, -1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.DTZ, -1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, 0, 0).compareTo(new ProbeResult(Type.WDL, -1, 1)) > 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTM, -1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.NONE, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTM, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTZ, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTM, -1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTZ, -1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.WDL, -1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); + assertTrue(new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTM, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTZ, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTM, -1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.DTZ, -1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, 1, 1).compareTo(new ProbeResult(Type.WDL, -1, 1)) > 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTM, -1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.NONE, 1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTM, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTZ, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTM, -1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTZ, -1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.WDL, -1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTM, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTZ, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTM, -1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.DTZ, -1, 1)) > 0); + assertTrue(new ProbeResult(Type.NONE, -1, 1).compareTo(new ProbeResult(Type.WDL, -1, 1)) > 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTM, -1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.NONE, -1, 1)) < 0); // DTM vs DTM - assertEquals(true, new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTM, 1, 10)) == 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTM, 1, 11)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 11).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) == 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTM, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 1).compareTo(new ProbeResult(Type.DTM, -1, 1)) == 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTM, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 3).compareTo(new ProbeResult(Type.DTM, -1, 3)) == 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 3).compareTo(new ProbeResult(Type.DTM, -1, 5)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 5).compareTo(new ProbeResult(Type.DTM, -1, 3)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTM, 1, 10)) == 0); + assertTrue(new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTM, 1, 11)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 11).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) == 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTM, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.DTM, 1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTM, -1, 1).compareTo(new ProbeResult(Type.DTM, -1, 1)) == 0); + assertTrue(new ProbeResult(Type.DTM, -1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTM, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTM, -1, 3).compareTo(new ProbeResult(Type.DTM, -1, 3)) == 0); + assertTrue(new ProbeResult(Type.DTM, -1, 3).compareTo(new ProbeResult(Type.DTM, -1, 5)) > 0); + assertTrue(new ProbeResult(Type.DTM, -1, 5).compareTo(new ProbeResult(Type.DTM, -1, 3)) < 0); // DTZ vs DTZ - assertEquals(true, new ProbeResult(Type.DTZ, 1, 10).compareTo(new ProbeResult(Type.DTZ, 1, 10)) == 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 10).compareTo(new ProbeResult(Type.DTZ, 1, 11)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 11).compareTo(new ProbeResult(Type.DTZ, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) == 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTZ, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 1).compareTo(new ProbeResult(Type.DTZ, -1, 1)) == 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTZ, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 3).compareTo(new ProbeResult(Type.DTZ, -1, 3)) == 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 3).compareTo(new ProbeResult(Type.DTZ, -1, 5)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 5).compareTo(new ProbeResult(Type.DTZ, -1, 3)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 10).compareTo(new ProbeResult(Type.DTZ, 1, 10)) == 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 10).compareTo(new ProbeResult(Type.DTZ, 1, 11)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 11).compareTo(new ProbeResult(Type.DTZ, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) == 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTZ, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 1).compareTo(new ProbeResult(Type.DTZ, -1, 1)) == 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTZ, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 3).compareTo(new ProbeResult(Type.DTZ, -1, 3)) == 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 3).compareTo(new ProbeResult(Type.DTZ, -1, 5)) > 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 5).compareTo(new ProbeResult(Type.DTZ, -1, 3)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.WDL, -1, 1)) == 0); - assertEquals(true, new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.WDL, 0, 0)) == 0); - assertEquals(true, new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.WDL, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.WDL, 1, 1)) == 0); + assertTrue(new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.WDL, -1, 1)) == 0); + assertTrue(new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.WDL, 0, 0)) == 0); + assertTrue(new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.WDL, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.WDL, 1, 1)) == 0); // DTM vs DTZ - assertEquals(true, new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTZ, 1, 11)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTZ, 1, 9)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTZ, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTZ, -1, 11)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTZ, -1, 9)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 11).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 9).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 11).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 9).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTZ, 1, 11)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTZ, 1, 9)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTZ, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTZ, -1, 11)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.DTZ, -1, 9)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 11).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 9).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 11).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 9).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) == 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTZ, 1, 3)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTZ, -1, 4)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) == 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 3).compareTo(new ProbeResult(Type.DTM, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 4).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) == 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTZ, 1, 3)) > 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTZ, -1, 4)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) == 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 3).compareTo(new ProbeResult(Type.DTM, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 4).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.DTZ, -1, 7)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.DTZ, -1, 9)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.DTZ, 1, 7)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.DTZ, 1, 9)) > 0); + assertTrue(new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.DTZ, -1, 7)) > 0); + assertTrue(new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.DTZ, -1, 9)) > 0); + assertTrue(new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.DTZ, 1, 7)) > 0); + assertTrue(new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.DTZ, 1, 9)) > 0); // DTM vs WDL - assertEquals(true, new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.WDL, 1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.WDL, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.WDL, 1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.WDL, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 10).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.DTM, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.WDL, 0, 0)) == 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) == 0); - assertEquals(true, new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.WDL, 0, 0)) == 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) == 0); + assertTrue(new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.WDL, -1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.WDL, -1, 1)) > 0); + assertTrue(new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.DTM, -1, 8).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); // DTZ vs WDL - assertEquals(true, new ProbeResult(Type.DTZ, 1, 10).compareTo(new ProbeResult(Type.WDL, 1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 10).compareTo(new ProbeResult(Type.WDL, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 10).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.DTZ, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.DTZ, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.DTZ, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 10).compareTo(new ProbeResult(Type.WDL, 1, 1)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 10).compareTo(new ProbeResult(Type.WDL, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 10).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.DTZ, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.DTZ, 1, 10)) > 0); + assertTrue(new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.DTZ, 1, 10)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.WDL, 0, 0)) == 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) == 0); - assertEquals(true, new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.WDL, 0, 0)) == 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.WDL, -1, 1)) < 0); + assertTrue(new ProbeResult(Type.WDL, 0, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) == 0); + assertTrue(new ProbeResult(Type.WDL, 1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.WDL, -1, 1).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 8).compareTo(new ProbeResult(Type.WDL, -1, 1)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 8).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 8).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 8).compareTo(new ProbeResult(Type.WDL, -1, 1)) > 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 8).compareTo(new ProbeResult(Type.WDL, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 8).compareTo(new ProbeResult(Type.WDL, 1, 1)) > 0); // Win-in-zero and loss-in-zero - assertEquals(true, new ProbeResult(Type.DTM, 1, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTM, 1, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, -1, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTM, -1, 0)) < 0); + assertTrue(new ProbeResult(Type.DTM, 1, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTM, 1, 0)) > 0); + assertTrue(new ProbeResult(Type.DTM, -1, 0).compareTo(new ProbeResult(Type.DTM, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.DTM, 0, 0).compareTo(new ProbeResult(Type.DTM, -1, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 1, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) < 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTZ, 1, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, -1, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); - assertEquals(true, new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTZ, -1, 0)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 1, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) < 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTZ, 1, 0)) > 0); + assertTrue(new ProbeResult(Type.DTZ, -1, 0).compareTo(new ProbeResult(Type.DTZ, 0, 0)) > 0); + assertTrue(new ProbeResult(Type.DTZ, 0, 0).compareTo(new ProbeResult(Type.DTZ, -1, 0)) < 0); } } diff --git a/DroidFishApp/src/main/java/com/kalab/chess/enginesupport/ChessEngineResolver.java b/DroidFishApp/src/main/java/com/kalab/chess/enginesupport/ChessEngineResolver.java index 962e3a0..2045202 100644 --- a/DroidFishApp/src/main/java/com/kalab/chess/enginesupport/ChessEngineResolver.java +++ b/DroidFishApp/src/main/java/com/kalab/chess/enginesupport/ChessEngineResolver.java @@ -51,7 +51,7 @@ public class ChessEngineResolver { } public List resolveEngines() { - List result = new ArrayList(); + List result = new ArrayList<>(); final Intent intent = new Intent(ENGINE_PROVIDER_MARKER); List list = context.getPackageManager() .queryIntentActivities(intent, PackageManager.GET_META_DATA); diff --git a/DroidFishApp/src/main/java/com/larvalabs/svgandroid/SVGParser.java b/DroidFishApp/src/main/java/com/larvalabs/svgandroid/SVGParser.java index d8775cf..d74678c 100644 --- a/DroidFishApp/src/main/java/com/larvalabs/svgandroid/SVGParser.java +++ b/DroidFishApp/src/main/java/com/larvalabs/svgandroid/SVGParser.java @@ -201,7 +201,7 @@ public class SVGParser { //Util.debug("Parsing numbers from: '" + s + "'"); int n = s.length(); int p = 0; - ArrayList numbers = new ArrayList(); + ArrayList numbers = new ArrayList<>(); boolean skipChar = false; for (int i = 1; i < n; i++) { if (skipChar) { @@ -649,8 +649,8 @@ public class SVGParser { boolean isLinear; float x1, y1, x2, y2; float x, y, radius; - ArrayList positions = new ArrayList(); - ArrayList colors = new ArrayList(); + ArrayList positions = new ArrayList<>(); + ArrayList colors = new ArrayList<>(); Matrix matrix = null; public Gradient createChild(Gradient g) { @@ -682,7 +682,7 @@ public class SVGParser { } private static class StyleSet { - HashMap styleMap = new HashMap(); + HashMap styleMap = new HashMap<>(); private StyleSet(String string) { String[] styles = string.split(";"); @@ -783,8 +783,8 @@ public class SVGParser { boolean whiteMode = false; - HashMap gradientMap = new HashMap(); - HashMap gradientRefMap = new HashMap(); + HashMap gradientMap = new HashMap<>(); + HashMap gradientRefMap = new HashMap<>(); Gradient gradient = null; private SVGHandler(Picture picture) { diff --git a/DroidFishApp/src/main/java/net/margaritov/preference/colorpicker/ColorPickerPreference.java b/DroidFishApp/src/main/java/net/margaritov/preference/colorpicker/ColorPickerPreference.java index a5c2e78..18ada17 100644 --- a/DroidFishApp/src/main/java/net/margaritov/preference/colorpicker/ColorPickerPreference.java +++ b/DroidFishApp/src/main/java/net/margaritov/preference/colorpicker/ColorPickerPreference.java @@ -316,8 +316,7 @@ public class ColorPickerPreference } @SuppressWarnings("unused") - public static final Creator CREATOR = - new Creator() { + public static final Creator CREATOR = new Creator() { public SavedState createFromParcel(Parcel in) { return new SavedState(in); } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/ButtonActions.java b/DroidFishApp/src/main/java/org/petero/droidfish/ButtonActions.java index 102f8ed..9b619fa 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/ButtonActions.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/ButtonActions.java @@ -37,7 +37,7 @@ public class ButtonActions { private int menuTitle; private UIAction mainAction = null; - private ArrayList menuActions = new ArrayList(); + private ArrayList menuActions = new ArrayList<>(); private static final int maxMenuActions = 6; diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlay.java b/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlay.java index 5b7b29a..da9736e 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlay.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlay.java @@ -98,7 +98,7 @@ public class ChessBoardPlay extends ChessBoard { protected void drawExtraSquares(Canvas canvas) { } - private final boolean myColor(int piece) { + private boolean myColor(int piece) { return (piece != Piece.EMPTY) && (Piece.isWhite(piece) == pos.whiteMove); } @@ -173,7 +173,7 @@ public class ChessBoardPlay extends ChessBoard { * @return Matching move if unique. * Boolean indicating if there was at least one match. */ - private final Pair matchingMove(int sq1, int sq2, ArrayList moves) { + private Pair matchingMove(int sq1, int sq2, ArrayList moves) { Move matchingMove = null; boolean anyMatch = false; for (Move m : moves) { @@ -198,6 +198,6 @@ public class ChessBoardPlay extends ChessBoard { } } } - return new Pair(matchingMove, anyMatch); + return new Pair<>(matchingMove, anyMatch); } } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/DroidFish.java b/DroidFishApp/src/main/java/org/petero/droidfish/DroidFish.java index 3dda42c..ed49a6e 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/DroidFish.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/DroidFish.java @@ -297,7 +297,7 @@ public class DroidFish extends Activity } { - actions = new HashMap(); + actions = new HashMap<>(); addAction(new UIAction() { public String getId() { return "flipboard"; } public int getName() { return R.string.flip_board; } @@ -613,7 +613,7 @@ public class DroidFish extends Activity return; tourGuide = TourGuide.init(this); - ArrayList guides = new ArrayList(); + ArrayList guides = new ArrayList<>(); TourGuide tg = TourGuide.init(this); tg.setToolTip(new ToolTip() @@ -821,7 +821,7 @@ public class DroidFish extends Activity } catch (SecurityException e) { DroidFishApp.toast(e.getMessage(), Toast.LENGTH_LONG); } - return new Pair(pgnOrFen,filename); + return new Pair<>(pgnOrFen,filename); } private byte[] strToByteArr(String str) { @@ -1617,7 +1617,7 @@ public class DroidFish extends Activity return; } - ArrayList sd = new ArrayList(); + ArrayList sd = new ArrayList<>(); for (Pair p : x) sd.add(new SquareDecoration(p.first, p.second)); cb.setSquareDecorations(sd); @@ -1665,9 +1665,9 @@ public class DroidFish extends Activity new DrawerItem(ITEM_SETTINGS, R.string.option_settings), new DrawerItem(ITEM_ABOUT, R.string.option_about) }; - leftDrawer.setAdapter(new ArrayAdapter(this, - R.layout.drawer_list_item, - leftItems)); + leftDrawer.setAdapter(new ArrayAdapter<>(this, + R.layout.drawer_list_item, + leftItems)); leftDrawer.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, @@ -1683,9 +1683,9 @@ public class DroidFish extends Activity new DrawerItem(ITEM_FORCE_MOVE, R.string.option_force_computer_move), new DrawerItem(ITEM_DRAW, R.string.option_draw) }; - rightDrawer.setAdapter(new ArrayAdapter(this, - R.layout.drawer_list_item, - rightItems)); + rightDrawer.setAdapter(new ArrayAdapter<>(this, + R.layout.drawer_list_item, + rightItems)); rightDrawer.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, @@ -1940,7 +1940,7 @@ public class DroidFish extends Activity private void setBoardFlip(boolean matchPlayerNames) { boolean flipped = boardFlipped; if (playerNameFlip && matchPlayerNames && (ctrl != null)) { - final TreeMap headers = new TreeMap(); + final TreeMap headers = new TreeMap<>(); ctrl.getHeaders(headers); int whiteMatch = nameMatchScore(headers.get("White"), playerName); int blackMatch = nameMatchScore(headers.get("Black"), playerName); @@ -2085,7 +2085,7 @@ public class DroidFish extends Activity private String ecoInfoStr = ""; private int distToEcoTree = 0; private String variantStr = ""; - private ArrayList> pvMoves = new ArrayList>(); + private ArrayList> pvMoves = new ArrayList<>(); private ArrayList bookMoves = null; private ArrayList variantMoves = null; @@ -2178,7 +2178,7 @@ public class DroidFish extends Activity if (pvMovesTmp.size() == 1) { hints = pvMovesTmp.get(0); } else if (pvMovesTmp.size() > 1) { - hints = new ArrayList(); + hints = new ArrayList<>(); for (ArrayList pv : pvMovesTmp) if (!pv.isEmpty()) hints.add(pv.get(0)); @@ -2330,8 +2330,8 @@ public class DroidFish extends Activity final int PASTE = 2; setAutoMode(AutoMode.OFF); - List lst = new ArrayList(); - final List actions = new ArrayList(); + List lst = new ArrayList<>(); + final List actions = new ArrayList<>(); lst.add(getString(R.string.copy_game)); actions.add(COPY_GAME); lst.add(getString(R.string.copy_position)); actions.add(COPY_POSITION); lst.add(getString(R.string.paste)); actions.add(PASTE); @@ -2389,8 +2389,8 @@ public class DroidFish extends Activity final int REPEAT_LAST_MOVE = 6; setAutoMode(AutoMode.OFF); - List lst = new ArrayList(); - final List actions = new ArrayList(); + List lst = new ArrayList<>(); + final List actions = new ArrayList<>(); lst.add(getString(R.string.clipboard)); actions.add(CLIPBOARD); if (storageAvailable()) { lst.add(getString(R.string.option_file)); actions.add(FILEMENU); @@ -2434,8 +2434,7 @@ public class DroidFish extends Activity } } }); - AlertDialog alert = builder.create(); - return alert; + return builder.create(); } private void shareGameOrText(boolean game) { @@ -2515,8 +2514,8 @@ public class DroidFish extends Activity final int SAVE_GAME = 4; setAutoMode(AutoMode.OFF); - List lst = new ArrayList(); - final List actions = new ArrayList(); + List lst = new ArrayList<>(); + final List actions = new ArrayList<>(); if (currFileType() != FT_NONE) { lst.add(getString(R.string.load_last_file)); actions.add(LOAD_LAST_FILE); } @@ -2659,8 +2658,8 @@ public class DroidFish extends Activity } private Dialog selectEngineDialog(final boolean abortOnCancel) { - final ArrayList items = new ArrayList(); - final ArrayList ids = new ArrayList(); + final ArrayList items = new ArrayList<>(); + final ArrayList ids = new ArrayList<>(); ids.add("stockfish"); items.add(getString(R.string.stockfish_engine)); ids.add("cuckoochess"); items.add(getString(R.string.cuckoochess_engine)); @@ -2670,11 +2669,11 @@ public class DroidFish extends Activity { ChessEngineResolver resolver = new ChessEngineResolver(this); List engines = resolver.resolveEngines(); - ArrayList> oexEngines = new ArrayList>(); + ArrayList> oexEngines = new ArrayList<>(); for (ChessEngine engine : engines) { if ((engine.getName() != null) && (engine.getFileName() != null) && (engine.getPackageName() != null)) { - oexEngines.add(new Pair(EngineUtil.openExchangeFileName(engine), + oexEngines.add(new Pair<>(EngineUtil.openExchangeFileName(engine), engine.getName())); } } @@ -2938,8 +2937,8 @@ public class DroidFish extends Activity final int ADD_NULL_MOVE = 6; setAutoMode(AutoMode.OFF); - List lst = new ArrayList(); - final List actions = new ArrayList(); + List lst = new ArrayList<>(); + final List actions = new ArrayList<>(); lst.add(getString(R.string.edit_headers)); actions.add(EDIT_HEADERS); if (ctrl.humansTurn()) { lst.add(getString(R.string.edit_comments)); actions.add(EDIT_COMMENTS); @@ -2997,7 +2996,7 @@ public class DroidFish extends Activity /** Let the user edit the PGN headers. */ private void editHeaders() { - final TreeMap headers = new TreeMap(); + final TreeMap headers = new TreeMap<>(); ctrl.getHeaders(headers); AlertDialog.Builder builder = new AlertDialog.Builder(DroidFish.this); @@ -3098,8 +3097,8 @@ public class DroidFish extends Activity final int TRUNCATE_VARS = 3; final int HIDE_STATISTICS = 4; final int SHOW_STATISTICS = 5; - List lst = new ArrayList(); - final List actions = new ArrayList(); + List lst = new ArrayList<>(); + final List actions = new ArrayList<>(); lst.add(getString(R.string.add_analysis)); actions.add(ADD_ANALYSIS); int numPV = this.numPV; final int maxPV = ctrl.maxPV(); @@ -3289,8 +3288,8 @@ public class DroidFish extends Activity final int AUTO_BACKWARD = 4; setAutoMode(AutoMode.OFF); - List lst = new ArrayList(); - final List actions = new ArrayList(); + List lst = new ArrayList<>(); + final List actions = new ArrayList<>(); lst.add(getString(R.string.goto_start_game)); actions.add(GOTO_START_GAME); lst.add(getString(R.string.goto_start_variation)); actions.add(GOTO_START_VAR); if (ctrl.currVariation() > 0) { @@ -3331,8 +3330,8 @@ public class DroidFish extends Activity final int AUTO_FORWARD = 3; setAutoMode(AutoMode.OFF); - List lst = new ArrayList(); - final List actions = new ArrayList(); + List lst = new ArrayList<>(); + final List actions = new ArrayList<>(); lst.add(getString(R.string.goto_end_variation)); actions.add(GOTO_END_VAR); if (ctrl.currVariation() < ctrl.numVariations() - 1) { lst.add(getString(R.string.goto_next_variation)); actions.add(GOTO_NEXT_VAR); @@ -3365,10 +3364,10 @@ public class DroidFish extends Activity } private Dialog makeButtonDialog(ButtonActions buttonActions) { - List names = new ArrayList(); - final List actions = new ArrayList(); + List names = new ArrayList<>(); + final List actions = new ArrayList<>(); - HashSet used = new HashSet(); + HashSet used = new HashSet<>(); for (UIAction a : buttonActions.getMenuActions()) { if ((a != null) && a.enabled() && !used.contains(a.getId())) { names.add(getString(a.getName())); @@ -3391,8 +3390,8 @@ public class DroidFish extends Activity final int SELECT_ENGINE = 0; final int SET_ENGINE_OPTIONS = 1; final int CONFIG_NET_ENGINE = 2; - List lst = new ArrayList(); - final List actions = new ArrayList(); + List lst = new ArrayList<>(); + final List actions = new ArrayList<>(); lst.add(getString(R.string.select_engine)); actions.add(SELECT_ENGINE); if (canSetEngineOptions()) { lst.add(getString(R.string.set_engine_options)); @@ -3998,7 +3997,7 @@ public class DroidFish extends Activity whiteTitleText.setText(getString(R.string.white_square_character) + " " + timeToString(wTime)); blackTitleText.setText(getString(R.string.black_square_character) + " " + timeToString(bTime)); } else { - TreeMap headers = new TreeMap(); + TreeMap headers = new TreeMap<>(); ctrl.getHeaders(headers); whiteTitleText.setText(headers.get("White")); blackTitleText.setText(headers.get("Black")); @@ -4052,7 +4051,7 @@ public class DroidFish extends Activity static class PgnScreenText implements PgnToken.PgnTokenReceiver, MoveListView.OnLinkClickListener { private SpannableStringBuilder sb = new SpannableStringBuilder(); - private TreeMap offs2Node = new TreeMap(); + private TreeMap offs2Node = new TreeMap<>(); private int prevType = PgnToken.EOF; int nestLevel = 0; boolean col0 = true; @@ -4074,7 +4073,7 @@ public class DroidFish extends Activity PgnScreenText(DroidFish df, PGNOptions options) { this.df = df; - nodeToCharPos = new HashMap(); + nodeToCharPos = new HashMap<>(); this.options = options; } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/FileUtil.java b/DroidFishApp/src/main/java/org/petero/droidfish/FileUtil.java index 5988581..dcc29dd 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/FileUtil.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/FileUtil.java @@ -32,7 +32,7 @@ import java.util.ArrayList; public class FileUtil { /** Read a text file. Return string array with one string per line. */ public static String[] readFile(String filename) throws IOException { - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); InputStream inStream = new FileInputStream(filename); InputStreamReader inFile = new InputStreamReader(inStream, "UTF-8"); BufferedReader inBuf = new BufferedReader(inFile); diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/BufferedRandomAccessFileReader.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/BufferedRandomAccessFileReader.java index 0ba8243..9981146 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/BufferedRandomAccessFileReader.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/BufferedRandomAccessFileReader.java @@ -87,7 +87,7 @@ final class BufferedRandomAccessFileReader { return new String(lineBuf, 0, lineLen); } - private final int getByte() throws IOException { + private int getByte() throws IOException { if (bufPos >= bufLen) { bufStartFilePos = f.getFilePointer(); bufLen = f.read(buffer); diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/ChessBoardEdit.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/ChessBoardEdit.java index 8a2d2be..6be5a20 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/ChessBoardEdit.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/ChessBoardEdit.java @@ -41,7 +41,7 @@ public class ChessBoardEdit extends ChessBoard { landScape = (config.orientation == Configuration.ORIENTATION_LANDSCAPE); } - private final static int getGap(int sqSize) { + private static int getGap(int sqSize) { return sqSize / 4; } @@ -72,7 +72,7 @@ public class ChessBoardEdit extends ChessBoard { y0 = landScape ? 0 : (height - getHeight(sqSize)) / 2; } - private final int extraPieces(int x, int y) { + private int extraPieces(int x, int y) { if (landScape) { if (x == 8) { switch (y) { diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditBoard.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditBoard.java index c316126..93c8081 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditBoard.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditBoard.java @@ -138,7 +138,7 @@ public class EditBoard extends Activity { checkValidAndUpdateMaterialDiff(); } - private final void initUI() { + private void initUI() { setContentView(R.layout.editboard); Util.overrideViewAttribs(findViewById(R.id.main)); @@ -281,7 +281,7 @@ public class EditBoard extends Activity { final int PASTE_POSITION = 7; final int GET_FEN = 8; - final ArrayList leftItems = new ArrayList(); + final ArrayList leftItems = new ArrayList<>(); leftItems.add(new DrawerItem(SIDE_TO_MOVE, R.string.side_to_move)); leftItems.add(new DrawerItem(CLEAR_BOARD, R.string.clear_board)); leftItems.add(new DrawerItem(INITIAL_POS, R.string.initial_position)); @@ -293,9 +293,9 @@ public class EditBoard extends Activity { if (DroidFish.hasFenProvider(getPackageManager())) leftItems.add(new DrawerItem(GET_FEN, R.string.get_fen)); - leftDrawer.setAdapter(new ArrayAdapter(this, - R.layout.drawer_list_item, - leftItems.toArray(new DrawerItem[0]))); + leftDrawer.setAdapter(new ArrayAdapter<>(this, + R.layout.drawer_list_item, + leftItems.toArray(new DrawerItem[0]))); leftDrawer.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, @@ -381,12 +381,12 @@ public class EditBoard extends Activity { return false; } - private final void setSelection(int sq) { + private void setSelection(int sq) { cb.setSelection(sq); setEgtbHints(sq); } - private final void setEgtbHints(int sq) { + private void setEgtbHints(int sq) { if (!egtbHints || (sq < 0)) { cb.setSquareDecorations(null); return; @@ -399,7 +399,7 @@ public class EditBoard extends Activity { return; } - ArrayList sd = new ArrayList(); + ArrayList sd = new ArrayList<>(); for (Pair p : x) sd.add(new SquareDecoration(p.first, p.second)); cb.setSquareDecorations(sd); @@ -447,7 +447,7 @@ public class EditBoard extends Activity { return super.onKeyDown(keyCode, event); } - private final void sendBackResult() { + private void sendBackResult() { if (checkValidAndUpdateMaterialDiff()) { setPosFields(); String fen = TextIO.toFEN(cb.pos); @@ -458,19 +458,19 @@ public class EditBoard extends Activity { finish(); } - private final void setPosFields() { + private void setPosFields() { setEPFile(getEPFile()); // To handle sideToMove change TextIO.fixupEPSquare(cb.pos); TextIO.removeBogusCastleFlags(cb.pos); } - private final int getEPFile() { + private int getEPFile() { int epSquare = cb.pos.getEpSquare(); if (epSquare < 0) return 8; return Position.getX(epSquare); } - private final void setEPFile(int epFile) { + private void setEPFile(int epFile) { int epSquare = -1; if ((epFile >= 0) && (epFile < 8)) { int epRank = cb.pos.whiteMove ? 5 : 2; @@ -480,7 +480,7 @@ public class EditBoard extends Activity { } /** Test if a position is valid and update material diff display. */ - private final boolean checkValidAndUpdateMaterialDiff() { + private boolean checkValidAndUpdateMaterialDiff() { try { MaterialDiff md = Util.getMaterialDiff(cb.pos); whiteFigText.setText(md.white); @@ -496,7 +496,7 @@ public class EditBoard extends Activity { return false; } - private final String getParseErrString(ChessParseError e) { + private String getParseErrString(ChessParseError e) { if (e.resourceId == -1) return e.getMessage(); else @@ -637,7 +637,7 @@ public class EditBoard extends Activity { return null; } - private final void setFEN(String fen) { + private void setFEN(String fen) { if (fen == null) return; try { diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditOptions.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditOptions.java index 256a2ae..e7836c0 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditOptions.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditOptions.java @@ -86,7 +86,7 @@ public class EditOptions extends Activity { return super.onKeyDown(keyCode, event); } - private final void initUI() { + private void initUI() { String title = getString(R.string.edit_options_title); if (engineName != null) title = title + ": " + engineName; @@ -272,9 +272,9 @@ public class EditOptions extends Activity { }); } - private final void sendBackResult() { + private void sendBackResult() { if (uciOpts != null) { - TreeMap uciMap = new TreeMap(); + TreeMap uciMap = new TreeMap<>(); for (String name : uciOpts.getOptionNames()) { UCIOptions.OptionBase o = uciOpts.getOption(name); if (o != null) { diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditPGN.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditPGN.java index cd22698..8e826e8 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditPGN.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditPGN.java @@ -59,7 +59,7 @@ import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; public class EditPGN extends ListActivity { - static ArrayList gamesInFile = new ArrayList(); + static ArrayList gamesInFile = new ArrayList<>(); static boolean cacheValid = false; PGNFile pgnFile; ProgressDialog progress; @@ -246,7 +246,7 @@ public class EditPGN extends ListActivity { return false; } - private final void showList() { + private void showList() { progress = null; removeDialog(PROGRESS_DIALOG); setContentView(R.layout.select_game); @@ -422,7 +422,7 @@ public class EditPGN extends ListActivity { } } - private final boolean readFile() { + private boolean readFile() { String fileName = pgnFile.getName(); if (!fileName.equals(lastFileName)) defaultItem = 0; @@ -431,7 +431,7 @@ public class EditPGN extends ListActivity { return true; Pair> p = pgnFile.getGameInfo(this, progress); if (p.first != GameInfoResult.OK) { - gamesInFile = new ArrayList(); + gamesInFile = new ArrayList<>(); switch (p.first) { case OUT_OF_MEMORY: runOnUiThread(new Runnable() { @@ -462,7 +462,7 @@ public class EditPGN extends ListActivity { return true; } - private final void sendBackResult(GameInfo gi) { + private void sendBackResult(GameInfo gi) { String pgn = pgnFile.readOneGame(gi); if (pgn != null) { String pgnToken = (new ObjectCache()).storeString(pgn); @@ -474,19 +474,18 @@ public class EditPGN extends ListActivity { } } - private final void deleteGame(GameInfo gi) { + private void deleteGame(GameInfo gi) { if (pgnFile.deleteGame(gi, gamesInFile)) { ListView lv = getListView(); int pos = lv.pointToPosition(0,0); - aa = new ArrayAdapter(this, R.layout.select_game_list_item, gamesInFile); + aa = new ArrayAdapter<>(this, R.layout.select_game_list_item, gamesInFile); setListAdapter(aa); String s = filterText.getText().toString(); aa.getFilter().filter(s); lv.setSelection(pos); // Update lastModTime, since current change has already been handled String fileName = pgnFile.getName(); - long modTime = new File(fileName).lastModified(); - lastModTime = modTime; + lastModTime = new File(fileName).lastModified(); } } } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/FENFile.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/FENFile.java index e67684a..a7bfbe8 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/FENFile.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/FENFile.java @@ -65,7 +65,7 @@ public class FENFile { /** Read all FEN strings (one per line) in a file. */ public final Pair> getFenInfo(Activity activity, final ProgressDialog progress) { - ArrayList fensInFile = new ArrayList(); + ArrayList fensInFile = new ArrayList<>(); try { int percent = -1; fensInFile.clear(); @@ -94,15 +94,15 @@ public class FENFile { } } if (Thread.currentThread().isInterrupted()) - return new Pair>(FenInfoResult.CANCEL, null); + return new Pair<>(FenInfoResult.CANCEL, null); } f.close(); } catch (IOException e) { } catch (OutOfMemoryError e) { fensInFile.clear(); fensInFile = null; - return new Pair>(FenInfoResult.OUT_OF_MEMORY, null); + return new Pair<>(FenInfoResult.OUT_OF_MEMORY, null); } - return new Pair>(FenInfoResult.OK, fensInFile); + return new Pair<>(FenInfoResult.OK, fensInFile); } } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/LoadFEN.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/LoadFEN.java index 78a6418..065318c 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/LoadFEN.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/LoadFEN.java @@ -60,7 +60,7 @@ import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; public class LoadFEN extends ListActivity { - private static ArrayList fensInFile = new ArrayList(); + private static ArrayList fensInFile = new ArrayList<>(); private static boolean cacheValid = false; private FENFile fenFile; private ProgressDialog progress; @@ -197,7 +197,7 @@ public class LoadFEN extends ListActivity { super.onDestroy(); } - private final void showList() { + private void showList() { progress = null; removeProgressDialog(); setContentView(R.layout.load_fen); @@ -323,7 +323,7 @@ public class LoadFEN extends ListActivity { ((DialogFragment)f).dismiss(); } - private final boolean readFile() { + private boolean readFile() { String fileName = fenFile.getName(); if (!fileName.equals(lastFileName)) defaultItem = 0; @@ -333,7 +333,7 @@ public class LoadFEN extends ListActivity { fenFile = new FENFile(fileName); Pair> p = fenFile.getFenInfo(this, progress); if (p.first != FenInfoResult.OK) { - fensInFile = new ArrayList(); + fensInFile = new ArrayList<>(); if (p.first == FenInfoResult.OUT_OF_MEMORY) { runOnUiThread(new Runnable() { public void run() { @@ -352,7 +352,7 @@ public class LoadFEN extends ListActivity { return true; } - private final void sendBackResult(FenInfo fi, boolean toast) { + private void sendBackResult(FenInfo fi, boolean toast) { String fen = fi.fen; if (fen != null) { if (toast) diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/LoadScid.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/LoadScid.java index 1f4b151..c52aae7 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/LoadScid.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/LoadScid.java @@ -68,7 +68,7 @@ public class LoadScid extends ListActivity { } } - private static Vector gamesInFile = new Vector(); + private static Vector gamesInFile = new Vector<>(); private static boolean cacheValid = false; private String fileName; private ProgressDialog progress; @@ -229,7 +229,7 @@ public class LoadScid extends ListActivity { super.onDestroy(); } - private final void showList() { + private void showList() { progress = null; removeProgressDialog(); final ArrayAdapter aa = @@ -294,7 +294,7 @@ public class LoadScid extends ListActivity { ((DialogFragment)f).dismiss(); } - private final boolean readFile(Cursor cursor) { + private boolean readFile(Cursor cursor) { if (!fileName.equals(lastFileName)) defaultItem = 0; long modTime = new File(fileName).lastModified(); @@ -346,7 +346,7 @@ public class LoadScid extends ListActivity { gamesInFile.add(gi); } - private final void sendBackResult(final GameInfo gi) { + private void sendBackResult(final GameInfo gi) { if (resultSentBack) return; resultSentBack = true; diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/PGNFile.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/PGNFile.java index ccbe017..f512fe2 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/PGNFile.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/PGNFile.java @@ -169,7 +169,7 @@ public class PGNFile { public final Pair> getGameInfo(Activity activity, final ProgressDialog progress, int maxGames) { - ArrayList gamesInFile = new ArrayList(); + ArrayList gamesInFile = new ArrayList<>(); gamesInFile.clear(); long fileLen = 0; BufferedInput f = null; @@ -350,7 +350,7 @@ public class PGNFile { } } if (Thread.currentThread().isInterrupted()) - return new Pair>(GameInfoResult.CANCEL, null); + return new Pair<>(GameInfoResult.CANCEL, null); } gi = new GameInfo(); gi.startPos = filePos; @@ -368,18 +368,18 @@ public class PGNFile { } catch (OutOfMemoryError e) { gamesInFile.clear(); gamesInFile = null; - return new Pair>(GameInfoResult.OUT_OF_MEMORY, null); + return new Pair<>(GameInfoResult.OUT_OF_MEMORY, null); } finally { if (f != null) f.close(); } if ((gamesInFile.size() == 0) && (fileLen > 0)) - return new Pair>(GameInfoResult.NOT_PGN, null); + return new Pair<>(GameInfoResult.NOT_PGN, null); - return new Pair>(GameInfoResult.OK, gamesInFile); + return new Pair<>(GameInfoResult.OK, gamesInFile); } - private final void mkDirs() { + private void mkDirs() { File dirFile = fileName.getParentFile(); dirFile.mkdirs(); } @@ -465,9 +465,9 @@ public class PGNFile { return false; } - private final static void copyData(RandomAccessFile fileReader, - RandomAccessFile fileWriter, - long nBytes) throws IOException { + private static void copyData(RandomAccessFile fileReader, + RandomAccessFile fileWriter, + long nBytes) throws IOException { byte[] buffer = new byte[8192]; while (nBytes > 0) { int nRead = fileReader.read(buffer, 0, Math.min(buffer.length, (int)nBytes)); diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/SeekBarPreference.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/SeekBarPreference.java index b17ee7a..22d8d26 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/SeekBarPreference.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/SeekBarPreference.java @@ -178,7 +178,7 @@ public class SeekBarPreference extends Preference return layout; } - private final String valToString() { + private String valToString() { return String.format(Locale.US, "%.1f%%", currVal*0.1); } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/book/CtgBook.java b/DroidFishApp/src/main/java/org/petero/droidfish/book/CtgBook.java index 5051e13..72f65b0 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/book/CtgBook.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/book/CtgBook.java @@ -127,7 +127,7 @@ class CtgBook implements IOpeningBook { } /** Read len bytes from offs in file f. */ - private final static byte[] readBytes(RandomAccessFile f, long offs, int len) throws IOException { + private static byte[] readBytes(RandomAccessFile f, long offs, int len) throws IOException { byte[] ret = new byte[len]; f.seek(offs); f.readFully(ret); @@ -135,7 +135,7 @@ class CtgBook implements IOpeningBook { } /** Convert len bytes starting at offs in buf to an integer. */ - private final static int extractInt(byte[] buf, int offs, int len) { + private static int extractInt(byte[] buf, int offs, int len) { int ret = 0; for (int i = 0; i < len; i++) { int b = buf[offs + i]; @@ -156,7 +156,7 @@ class CtgBook implements IOpeningBook { } private final static class BitVector { - private List buf = new ArrayList(); + private List buf = new ArrayList<>(); private int length = 0; void addBit(boolean value) { @@ -191,7 +191,7 @@ class CtgBook implements IOpeningBook { } /** Converts a position to a byte array. */ - private final static byte[] positionToByteArray(Position pos) { + private static byte[] positionToByteArray(Position pos) { BitVector bits = new BitVector(); bits.addBits(0, 8); // Header byte for (int x = 0; x < 8; x++) { @@ -251,7 +251,7 @@ class CtgBook implements IOpeningBook { } final static ArrayList getHashIndices(byte[] encodedPos, CtbFile ctb) throws IOException { - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); int hash = getHashValue(encodedPos); for (int n = 0; n < 0x7fffffff; n = 2*n + 1) { int c = (hash & n) + n; @@ -289,7 +289,7 @@ class CtgBook implements IOpeningBook { 0x274c7e7c, 0x1e8be65c, 0x2fa0b0bb, 0x1eb6c371 }; - private final static int getHashValue(byte[] encodedPos) { + private static int getHashValue(byte[] encodedPos) { int hash = 0; int tmp = 0; for (int i = 0; i < encodedPos.length; i++) { @@ -349,7 +349,7 @@ class CtgBook implements IOpeningBook { return pd; } - private final PositionData findInPage(int page, byte[] encodedPos) throws IOException { + private PositionData findInPage(int page, byte[] encodedPos) throws IOException { byte[] pageBuf = readBytes(f, (page+1)*4096L, 4096); try { int nPos = extractInt(pageBuf, 0, 2); @@ -400,7 +400,7 @@ class CtgBook implements IOpeningBook { } final ArrayList getBookMoves() { - ArrayList entries = new ArrayList(); + ArrayList entries = new ArrayList<>(); int nMoves = (moveBytes - 1) / 2; for (int mi = 0; mi < nMoves; mi++) { int move = extractInt(buf, posLen + 1 + mi * 2, 1); @@ -448,7 +448,7 @@ class CtgBook implements IOpeningBook { int dy; } - private final static MoveInfo MI(int piece, int pieceNo, int dx, int dy) { + private static MoveInfo MI(int piece, int pieceNo, int dx, int dy) { MoveInfo mi = new MoveInfo(); mi.piece = piece; mi.pieceNo = pieceNo; @@ -627,7 +627,7 @@ class CtgBook implements IOpeningBook { moveInfo[0xfe] = MI(Piece.WQUEEN , 1, -3, +3); } - private final static int findPiece(Position pos, int piece, int pieceNo) { + private static int findPiece(Position pos, int piece, int pieceNo) { for (int x = 0; x < 8; x++) for (int y = 0; y < 8; y++) { int sq = Position.getSquare(x, y); @@ -638,7 +638,7 @@ class CtgBook implements IOpeningBook { return -1; } - private final Move decodeMove(Position pos, int moveCode) { + private Move decodeMove(Position pos, int moveCode) { MoveInfo mi = moveInfo[moveCode]; if (mi == null) return null; @@ -656,13 +656,13 @@ class CtgBook implements IOpeningBook { } } - private final static int mirrorSquareColor(int sq) { + private static int mirrorSquareColor(int sq) { int x = Position.getX(sq); int y = 7 - Position.getY(sq); return Position.getSquare(x, y); } - private final static int mirrorPieceColor(int piece) { + private static int mirrorPieceColor(int piece) { if (Piece.isWhite(piece)) { piece = Piece.makeBlack(piece); } else { @@ -671,7 +671,7 @@ class CtgBook implements IOpeningBook { return piece; } - private final static Position mirrorPosColor(Position pos) { + private static Position mirrorPosColor(Position pos) { Position ret = new Position(pos); for (int sq = 0; sq < 64; sq++) { int mSq = mirrorSquareColor(sq); @@ -696,7 +696,7 @@ class CtgBook implements IOpeningBook { return ret; } - private final static Move mirrorMoveColor(Move m) { + private static Move mirrorMoveColor(Move m) { if (m == null) return null; Move ret = new Move(m); ret.from = mirrorSquareColor(m.from); @@ -705,13 +705,13 @@ class CtgBook implements IOpeningBook { return ret; } - private final static int mirrorSquareLeftRight(int sq) { + private static int mirrorSquareLeftRight(int sq) { int x = 7 - Position.getX(sq); int y = Position.getY(sq); return Position.getSquare(x, y); } - private final static Position mirrorPosLeftRight(Position pos) { + private static Position mirrorPosLeftRight(Position pos) { Position ret = new Position(pos); for (int sq = 0; sq < 64; sq++) { int mSq = mirrorSquareLeftRight(sq); @@ -728,7 +728,7 @@ class CtgBook implements IOpeningBook { return ret; } - private final static Move mirrorMoveLeftRight(Move m) { + private static Move mirrorMoveLeftRight(Move m) { if (m == null) return null; Move ret = new Move(m); ret.from = mirrorSquareLeftRight(m.from); diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/book/DroidBook.java b/DroidFishApp/src/main/java/org/petero/droidfish/book/DroidBook.java index 359fa42..80cd8ee 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/book/DroidBook.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/book/DroidBook.java @@ -119,7 +119,7 @@ public final class DroidBook { public final synchronized Pair> getAllBookMoves(Position pos, boolean localized) { StringBuilder ret = new StringBuilder(); - ArrayList bookMoveList = new ArrayList(); + ArrayList bookMoveList = new ArrayList<>(); ArrayList bookMoves = getBook().getBookEntries(pos); // Check legality @@ -165,10 +165,10 @@ public final class DroidBook { ret.append(percent); } } - return new Pair>(ret.toString(), bookMoveList); + return new Pair<>(ret.toString(), bookMoveList); } - private final double scaleWeight(double w) { + private double scaleWeight(double w) { if (w <= 0) return 0; if (options == null) @@ -176,7 +176,7 @@ public final class DroidBook { return Math.pow(w, Math.exp(-options.random)); } - private final IOpeningBook getBook() { + private IOpeningBook getBook() { if (externalBook.enabled()) { return externalBook; } else if (ecoBook.enabled()) { diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/book/EcoBook.java b/DroidFishApp/src/main/java/org/petero/droidfish/book/EcoBook.java index 3898b23..283f150 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/book/EcoBook.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/book/EcoBook.java @@ -45,7 +45,7 @@ public class EcoBook implements IOpeningBook { @Override public ArrayList getBookEntries(Position pos) { ArrayList moves = EcoDb.getInstance().getMoves(pos); - ArrayList entries = new ArrayList(); + ArrayList entries = new ArrayList<>(); for (int i = 0; i < moves.size(); i++) { BookEntry be = new BookEntry(moves.get(i)); be.weight = 10000 - i; diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/book/EcoDb.java b/DroidFishApp/src/main/java/org/petero/droidfish/book/EcoDb.java index ee3c078..e3741b8 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/book/EcoDb.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/book/EcoDb.java @@ -74,8 +74,8 @@ public class EcoDb { /** Get ECO classification for a given tree node. Also returns distance in plies to "ECO tree". */ public Result getEco(GameTree gt) { - ArrayList treePath = new ArrayList(); // Path to restore gt to original node - ArrayList> toCache = new ArrayList>(); + ArrayList treePath = new ArrayList<>(); // Path to restore gt to original node + ArrayList> toCache = new ArrayList<>(); int nodeIdx = -1; int distToEcoTree = 0; @@ -93,7 +93,7 @@ public class EcoDb { } Short idx = posHashToNodeIdx.get(gt.currentPos.zobristHash()); boolean inEcoTree = idx != null; - toCache.add(new Pair(node, inEcoTree)); + toCache.add(new Pair<>(node, inEcoTree)); if (idx != null) { Node ecoNode = readNode(idx); @@ -181,7 +181,7 @@ public class EcoDb { /** Get all moves in the ECO tree from a given position. */ public ArrayList getMoves(Position pos) { - ArrayList moves = new ArrayList(); + ArrayList moves = new ArrayList<>(); long hash = pos.zobristHash(); Short idx = posHashToNodeIdx.get(hash); if (idx != null) { @@ -248,9 +248,9 @@ public class EcoDb { /** Constructor. */ private EcoDb() { - posHashToNodeIdx = new HashMap(); - posHashToNodeIdx2 = new HashMap>(); - gtNodeToIdx = new WeakLRUCache(50); + posHashToNodeIdx = new HashMap<>(); + posHashToNodeIdx2 = new HashMap<>(); + gtNodeToIdx = new WeakLRUCache<>(50); try { ByteArrayOutputStream bufStream = new ByteArrayOutputStream(); InputStream inStream = DroidFishApp.getContext().getAssets().open("eco.dat"); @@ -275,7 +275,7 @@ public class EcoDb { nodesBuffer = new byte[nNodes * 12]; System.arraycopy(buf, 0, nodesBuffer, 0, nNodes * 12); - ArrayList names = new ArrayList(); + ArrayList names = new ArrayList<>(); int idx = (nNodes + 1) * 12; int start = idx; for (int i = idx; i < buf.length; i++) { @@ -308,7 +308,7 @@ public class EcoDb { } else if (node.ecoIdx != -1) { ArrayList lst = null; if (posHashToNodeIdx2.get(hash) == null) { - lst = new ArrayList(); + lst = new ArrayList<>(); posHashToNodeIdx2.put(hash, lst); } else { lst = posHashToNodeIdx2.get(hash); diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/book/InternalBook.java b/DroidFishApp/src/main/java/org/petero/droidfish/book/InternalBook.java index 489ff04..5a6c355 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/book/InternalBook.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/book/InternalBook.java @@ -64,7 +64,7 @@ final class InternalBook implements IOpeningBook { ArrayList ents = bookMap.get(pos.zobristHash()); if (ents == null) return null; - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); for (BookEntry be : ents) { BookEntry be2 = new BookEntry(be.move); be2.weight = (float)(Math.sqrt(be.weight) * 100 + 1); @@ -82,13 +82,13 @@ final class InternalBook implements IOpeningBook { if (numBookMoves >= 0) return; // long t0 = System.currentTimeMillis(); - bookMap = new HashMap>(); + bookMap = new HashMap<>(); numBookMoves = 0; try { InputStream inStream = getClass().getResourceAsStream("/book.bin"); if (inStream == null) throw new IOException(); - List buf = new ArrayList(8192); + List buf = new ArrayList<>(8192); byte[] tmpBuf = new byte[1024]; while (true) { int len = inStream.read(tmpBuf); @@ -131,10 +131,10 @@ final class InternalBook implements IOpeningBook { /** Add a move to a position in the opening book. */ - private final void addToBook(Position pos, Move moveToAdd) { + private void addToBook(Position pos, Move moveToAdd) { ArrayList ent = bookMap.get(pos.zobristHash()); if (ent == null) { - ent = new ArrayList(); + ent = new ArrayList<>(); bookMap.put(pos.zobristHash(), ent); } for (int i = 0; i < ent.size(); i++) { diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/book/PolyglotBook.java b/DroidFishApp/src/main/java/org/petero/droidfish/book/PolyglotBook.java index e95fefe..e48650c 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/book/PolyglotBook.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/book/PolyglotBook.java @@ -66,7 +66,7 @@ class PolyglotBook implements IOpeningBook { } // Castle flags - if (pos.h1Castle()) key ^= hashRandoms[768 + 0]; + if (pos.h1Castle()) key ^= hashRandoms[768]; if (pos.a1Castle()) key ^= hashRandoms[768 + 1]; if (pos.h8Castle()) key ^= hashRandoms[768 + 2]; if (pos.a8Castle()) key ^= hashRandoms[768 + 3]; @@ -300,7 +300,7 @@ class PolyglotBook implements IOpeningBook { data = new byte[16]; } - private final long getBytes(int start, int len) { + private long getBytes(int start, int len) { long ret = 0; int stop = start + len; for (int i = start; i < stop; i++) { @@ -326,7 +326,7 @@ class PolyglotBook implements IOpeningBook { int from = Position.getSquare(fromFile, fromRow); int to = Position.getSquare(toFile, toRow); - int promoteTo = Piece.EMPTY; + int promoteTo; switch (prom) { case 1: promoteTo = wtm ? Piece.WKNIGHT : Piece.BKNIGHT; break; case 2: promoteTo = wtm ? Piece.WBISHOP : Piece.BBISHOP; break; @@ -345,17 +345,16 @@ class PolyglotBook implements IOpeningBook { if ((from == 60) && (pos.getPiece(from) == Piece.BKING)) { if (to == 56+7) to = 56+6; - else if (to == 56+0) + else if (to == 56) to = 56+2; } - Move m = new Move(from, to, promoteTo); - return m; + return new Move(from, to, promoteTo); } final int getWeight() { return (int)getBytes(10, 2); } } - private final void readEntry(RandomAccessFile f, long entNo, PGBookEntry ent) throws IOException { + private void readEntry(RandomAccessFile f, long entNo, PGBookEntry ent) throws IOException { f.seek(entNo * 16); if (f.read(ent.data) != 16) { for (int i = 0; i < 16; i++) ent.data[i] = 0; @@ -363,7 +362,7 @@ class PolyglotBook implements IOpeningBook { } /** Return true if key1 < key2, when compared as unsigned longs. */ - private final boolean keyLess(long key1, long key2) { + private boolean keyLess(long key1, long key2) { if ((key1 < 0) == (key2 < 0)) { // Same sign, normal compare return key1 < key2; } else { // The negative number is largest @@ -395,7 +394,7 @@ class PolyglotBook implements IOpeningBook { } // Read all entries with matching hash key - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); long entNo = hi; while (entNo < numEntries) { readEntry(f, entNo, ent); diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/engine/DroidComputerPlayer.java b/DroidFishApp/src/main/java/org/petero/droidfish/engine/DroidComputerPlayer.java index ebbfe0a..f2ca55c 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/engine/DroidComputerPlayer.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/engine/DroidComputerPlayer.java @@ -43,7 +43,7 @@ public class DroidComputerPlayer { private final DroidBook book; private EngineOptions engineOptions = new EngineOptions(); /** Pending UCI options to send when engine becomes idle. */ - private Map pendingOptions = new TreeMap(); + private Map pendingOptions = new TreeMap<>(); /** Set when "ucinewgame" needs to be sent. */ private boolean newGame = false; @@ -365,7 +365,7 @@ public class DroidComputerPlayer { } /** Decide what moves to search. Filters out non-optimal moves if tablebases are used. */ - private final ArrayList movesToSearch(SearchRequest sr) { + private ArrayList movesToSearch(SearchRequest sr) { ArrayList moves = null; ArrayList legalMoves = new MoveGen().legalMoves(sr.currPos); if (engineOptions.rootProbe) @@ -450,7 +450,7 @@ public class DroidComputerPlayer { handleQueue(); } - private final void handleQueue() { + private void handleQueue() { if (engineState.state == MainState.DEAD) { engineState.engine = ""; engineState.setState(MainState.IDLE); @@ -519,7 +519,7 @@ public class DroidComputerPlayer { } /** Determine what to do next when in idle state. */ - private final void handleIdleState() { + private void handleIdleState() { SearchRequest sr = searchRequest; if (sr == null) return; @@ -640,7 +640,7 @@ public class DroidComputerPlayer { } } - private final void startEngine() { + private void startEngine() { myAssert(uciEngine == null); myAssert(engineMonitor == null); myAssert(engineState.state == MainState.DEAD); @@ -678,7 +678,7 @@ public class DroidComputerPlayer { private final static long guiUpdateInterval = 100; private long lastGUIUpdate = 0; - private final void monitorLoop(UCIEngine uci) { + private void monitorLoop(UCIEngine uci) { while (true) { int timeout = getReadTimeout(); if (Thread.currentThread().isInterrupted()) @@ -706,7 +706,7 @@ public class DroidComputerPlayer { } /** Process one line of data from the engine. */ - private final synchronized void processEngineOutput(UCIEngine uci, String s) { + private synchronized void processEngineOutput(UCIEngine uci, String s) { if (Thread.currentThread().isInterrupted()) return; @@ -775,7 +775,7 @@ public class DroidComputerPlayer { } /** Handle reading of UCI options. Return true when finished. */ - private final boolean readUCIOption(UCIEngine uci, String s) { + private boolean readUCIOption(UCIEngine uci, String s) { String[] tokens = tokenize(s); if (tokens[0].equals("uciok")) return true; @@ -799,7 +799,7 @@ public class DroidComputerPlayer { return false; } - private final void reportMove(String bestMove, Move nextPonderMove) { + private void reportMove(String bestMove, Move nextPonderMove) { SearchRequest sr = searchRequest; boolean canPonder = true; @@ -836,7 +836,7 @@ public class DroidComputerPlayer { } /** Convert a string to tokens by splitting at whitespace characters. */ - private final String[] tokenize(String cmdLine) { + private String[] tokenize(String cmdLine) { cmdLine = cmdLine.trim(); return cmdLine.split("\\s+"); } @@ -845,7 +845,7 @@ public class DroidComputerPlayer { * @param move The move that may have to be made before claiming draw. * @return The draw string that claims the draw, or empty string if draw claim not valid. */ - private final static String canClaimDraw(Position pos, long[] posHashList, int posHashListSize, Move move) { + private static String canClaimDraw(Position pos, long[] posHashList, int posHashListSize, Move move) { String drawStr = ""; if (canClaimDraw50(pos)) { drawStr = "draw 50"; @@ -866,11 +866,11 @@ public class DroidComputerPlayer { return drawStr; } - private final static boolean canClaimDraw50(Position pos) { + private static boolean canClaimDraw50(Position pos) { return (pos.halfMoveClock >= 100); } - private final static boolean canClaimDrawRep(Position pos, long[] posHashList, int posHashListSize, int posHashFirstNew) { + private static boolean canClaimDrawRep(Position pos, long[] posHashList, int posHashListSize, int posHashFirstNew) { int reps = 0; for (int i = posHashListSize - 4; i >= 0; i -= 2) { if (pos.zobristHash() == posHashList[i]) { @@ -897,18 +897,18 @@ public class DroidComputerPlayer { private int statHash = 0; private int statSelDepth = 0; private int statNps = 0; - private ArrayList statPV = new ArrayList(); + private ArrayList statPV = new ArrayList<>(); private String statCurrMove = ""; private int statCurrMoveNr = 0; - private ArrayList statPvInfo = new ArrayList(); + private ArrayList statPvInfo = new ArrayList<>(); private boolean depthModified = false; private boolean currMoveModified = false; private boolean pvModified = false; private boolean statsModified = false; - private final void clearInfo() { + private void clearInfo() { statCurrDepth = statPVDepth = statScore = 0; statIsMate = statUpperBound = statLowerBound = false; statTime = 0; @@ -925,7 +925,7 @@ public class DroidComputerPlayer { statCurrMoveNr = 0; } - private final synchronized int getReadTimeout() { + private synchronized int getReadTimeout() { boolean needGuiUpdate = depthModified || currMoveModified || pvModified || statsModified; int timeout = 2000000000; if (needGuiUpdate) { @@ -936,7 +936,7 @@ public class DroidComputerPlayer { return timeout; } - private final void parseInfoCmd(String[] tokens) { + private void parseInfoCmd(String[] tokens) { try { boolean havePvData = false; int nTokens = tokens.length; @@ -1003,7 +1003,7 @@ public class DroidComputerPlayer { statPvInfo.add(new PvInfo(0, 0, 0, 0, 0, 0, 0, 0, false, false, false, new ArrayList())); while (statPvInfo.size() <= pvNum) statPvInfo.add(null); - ArrayList moves = new ArrayList(); + ArrayList moves = new ArrayList<>(); int nMoves = statPV.size(); for (i = 0; i < nMoves; i++) moves.add(TextIO.UCIstringToMove(statPV.get(i))); @@ -1019,7 +1019,7 @@ public class DroidComputerPlayer { } /** Notify GUI about search statistics. */ - private final synchronized void notifyGUI() { + private synchronized void notifyGUI() { if (Thread.currentThread().isInterrupted()) return; @@ -1058,7 +1058,7 @@ public class DroidComputerPlayer { lastGUIUpdate = System.currentTimeMillis(); } - private final static void myAssert(boolean b) { + private static void myAssert(boolean b) { if (!b) throw new RuntimeException(); } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/engine/ExternalEngine.java b/DroidFishApp/src/main/java/org/petero/droidfish/engine/ExternalEngine.java index 8916aab..a332db2 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/engine/ExternalEngine.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/engine/ExternalEngine.java @@ -221,7 +221,7 @@ public class ExternalEngine extends UCIEngineBase { } /** Reduce too large hash sizes. */ - private final static int getHashMB(EngineOptions engineOptions) { + private static int getHashMB(EngineOptions engineOptions) { int hashMB = engineOptions.hashMB; if (hashMB > 16 && !engineOptions.unSafeHash) { int maxMem = (int)(Runtime.getRuntime().maxMemory() / (1024*1024)); @@ -332,7 +332,7 @@ public class ExternalEngine extends UCIEngineBase { return to.getAbsolutePath(); } - private final void chmod(String exePath) throws IOException { + private void chmod(String exePath) throws IOException { if (!EngineUtil.chmod(exePath)) throw new IOException("chmod failed"); } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/engine/InternalStockFish.java b/DroidFishApp/src/main/java/org/petero/droidfish/engine/InternalStockFish.java index f666062..a3f90c4 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/engine/InternalStockFish.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/engine/InternalStockFish.java @@ -62,7 +62,7 @@ public class InternalStockFish extends ExternalEngine { setOption("Skill Level", strength/50); } - private final long readCheckSum(File f) { + private long readCheckSum(File f) { InputStream is = null; try { is = new FileInputStream(f); @@ -75,7 +75,7 @@ public class InternalStockFish extends ExternalEngine { } } - private final void writeCheckSum(File f, long checkSum) { + private void writeCheckSum(File f, long checkSum) { DataOutputStream dos = null; try { OutputStream os = new FileOutputStream(f); @@ -87,7 +87,7 @@ public class InternalStockFish extends ExternalEngine { } } - private final long computeAssetsCheckSum(String sfExe) { + private long computeAssetsCheckSum(String sfExe) { InputStream is = null; try { is = context.getAssets().open(sfExe); diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/engine/LocalPipe.java b/DroidFishApp/src/main/java/org/petero/droidfish/engine/LocalPipe.java index 1402774..3550240 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/engine/LocalPipe.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/engine/LocalPipe.java @@ -23,7 +23,7 @@ import java.util.Locale; /** Implements line-based text communication between threads. */ public class LocalPipe { - private LinkedList lines = new LinkedList(); + private LinkedList lines = new LinkedList<>(); private boolean closed = false; /** Write a line to the pipe. */ diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/engine/NetworkEngine.java b/DroidFishApp/src/main/java/org/petero/droidfish/engine/NetworkEngine.java index d83f3b1..a3ecf66 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/engine/NetworkEngine.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/engine/NetworkEngine.java @@ -65,7 +65,7 @@ public class NetworkEngine extends UCIEngineBase { } /** Create socket connection to remote server. */ - private final synchronized void connect() { + private synchronized void connect() { if (socket == null) { String host = null; String port = null; diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/engine/UCIEngineBase.java b/DroidFishApp/src/main/java/org/petero/droidfish/engine/UCIEngineBase.java index 7c386e7..ca6c9d9 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/engine/UCIEngineBase.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/engine/UCIEngineBase.java @@ -181,7 +181,7 @@ public abstract class UCIEngineBase implements UCIEngine { String defVal = null; String minVal = null; String maxVal = null; - ArrayList var = new ArrayList(); + ArrayList var = new ArrayList<>(); try { for (; i < tokens.length; i++) { if (tokens[i].equals("default")) { diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/engine/UCIOptions.java b/DroidFishApp/src/main/java/org/petero/droidfish/engine/UCIOptions.java index 2bc2404..319a0a3 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/engine/UCIOptions.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/engine/UCIOptions.java @@ -223,18 +223,18 @@ public class UCIOptions implements Serializable, Cloneable { } UCIOptions() { - names = new ArrayList(); - options = new TreeMap(); + names = new ArrayList<>(); + options = new TreeMap<>(); } @Override public UCIOptions clone() throws CloneNotSupportedException { UCIOptions copy = new UCIOptions(); - copy.names = new ArrayList(); + copy.names = new ArrayList<>(); copy.names.addAll(names); - copy.options = new TreeMap(); + copy.options = new TreeMap<>(); for (Map.Entry e : options.entrySet()) copy.options.put(e.getKey(), e.getValue().clone()); diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/CuckooChessEngine.java b/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/CuckooChessEngine.java index c051889..3defa91 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/CuckooChessEngine.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/CuckooChessEngine.java @@ -51,7 +51,7 @@ public class CuckooChessEngine extends UCIEngineBase { public CuckooChessEngine(Report report) { pos = null; - moves = new ArrayList(); + moves = new ArrayList<>(); quit = false; guiToEngine = new LocalPipe(); engineToGui = new LocalPipe(); @@ -100,7 +100,7 @@ public class CuckooChessEngine extends UCIEngineBase { setOption("strength", strength); } - private final void mainLoop(LocalPipe is, LocalPipe os) { + private void mainLoop(LocalPipe is, LocalPipe os) { String line; while ((line = is.readLine()) != null) { handleCommand(line, os); @@ -137,7 +137,7 @@ public class CuckooChessEngine extends UCIEngineBase { guiToEngine.addLine(data); } - private final void handleCommand(String cmdLine, LocalPipe os) { + private void handleCommand(String cmdLine, LocalPipe os) { String[] tokens = tokenize(cmdLine); try { String cmd = tokens[0]; @@ -269,14 +269,14 @@ public class CuckooChessEngine extends UCIEngineBase { } } - private final void initEngine(LocalPipe os) { + private void initEngine(LocalPipe os) { if (engine == null) { engine = new DroidEngineControl(os); } } /** Convert a string to tokens by splitting at whitespace characters. */ - private final String[] tokenize(String cmdLine) { + private String[] tokenize(String cmdLine) { cmdLine = cmdLine.trim(); return cmdLine.split("\\s+"); } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/DroidEngineControl.java b/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/DroidEngineControl.java index 2281de7..49fb2b0 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/DroidEngineControl.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/DroidEngineControl.java @@ -296,7 +296,7 @@ public class DroidEngineControl { } - private final void setupTT() { + private void setupTT() { int nEntries = hashSizeMB > 0 ? hashSizeMB * (1 << 20) / 24 : 1024; int logSize = (int) Math.floor(Math.log(nEntries) / Math.log(2)); tt = new TranspositionTable(logSize); diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/SearchParams.java b/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/SearchParams.java index 2f5f1fe..abc4b60 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/SearchParams.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/engine/cuckoochess/SearchParams.java @@ -37,6 +37,6 @@ public class SearchParams { boolean infinite; public SearchParams() { - searchMoves = new ArrayList(); + searchMoves = new ArrayList<>(); } } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/DroidChessController.java b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/DroidChessController.java index f53605e..f173f48 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/DroidChessController.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/DroidChessController.java @@ -636,7 +636,7 @@ public class DroidChessController { /** Add ECO classification headers. */ public final synchronized void addECO() { EcoDb.Result r = game.tree.getGameECO(); - Map headers = new TreeMap(); + Map headers = new TreeMap<>(); headers.put("ECO", r.eco.isEmpty() ? null : r.eco); headers.put("Opening", r.opn.isEmpty() ? null : r.opn); headers.put("Variation", r.var.isEmpty() ? null : r.var); @@ -674,7 +674,7 @@ public class DroidChessController { } /** Return true if localized piece names should be used. */ - private final boolean localPt() { + private boolean localPt() { switch (pgnOptions.view.pieceType) { case PGNOptions.PT_ENGLISH: return false; @@ -705,7 +705,7 @@ public class DroidChessController { private int distToEcoTree = 0; // Number of plies since game was in the "ECO tree". private Move ponderMove = null; - private ArrayList pvInfoV = new ArrayList(); + private ArrayList pvInfoV = new ArrayList<>(); private int pvInfoSearchId = -1; // Search ID corresponding to pvInfoV public final void clearSearchInfo(int id) { @@ -720,7 +720,7 @@ public class DroidChessController { setSearchInfo(id); } - private final void setSearchInfo(final int id) { + private void setSearchInfo(final int id) { StringBuilder buf = new StringBuilder(); for (int i = 0; i < pvInfoV.size(); i++) { PvInfo pvi = pvInfoV.get(i); @@ -770,10 +770,10 @@ public class DroidChessController { } final String statStr = statStrTmp.toString(); final String newPV = buf.toString(); - final ArrayList> pvMoves = new ArrayList>(); + final ArrayList> pvMoves = new ArrayList<>(); for (int i = 0; i < pvInfoV.size(); i++) { if (ponderMove != null) { - ArrayList tmp = new ArrayList(); + ArrayList tmp = new ArrayList<>(); tmp.add(ponderMove); for (Move m : pvInfoV.get(i).pv) tmp.add(m); @@ -934,7 +934,7 @@ public class DroidChessController { } /** Discard current search. Return true if GUI update needed. */ - private final boolean abortSearch() { + private boolean abortSearch() { ponderMove = null; searchId++; if (computerPlayer == null) @@ -946,7 +946,7 @@ public class DroidChessController { return false; } - private final void updateBookHints() { + private void updateBookHints() { if (game != null) { Pair> bi = computerPlayer.getBookHints(game.currPos(), localPt()); EcoDb.Result ecoData = EcoDb.getInstance().getEco(game.tree); @@ -955,7 +955,7 @@ public class DroidChessController { } } - private final void updateGameMode() { + private void updateGameMode() { if (game != null) { boolean gamePaused = !gameMode.clocksActive() || (humansTurn() && guiPaused); game.setGamePaused(gamePaused); @@ -972,7 +972,7 @@ public class DroidChessController { } /** Start/stop computer thinking/analysis as appropriate. */ - private final void updateComputeThreads() { + private void updateComputeThreads() { boolean alive = game.tree.getGameState() == GameState.ALIVE; boolean analysis = gameMode.analysisMode() && alive; boolean computersTurn = !humansTurn() && alive; @@ -1021,7 +1021,7 @@ public class DroidChessController { } } - private final synchronized void makeComputerMove(int id, final String cmd, final Move ponder) { + private synchronized void makeComputerMove(int id, final String cmd, final Move ponder) { if (searchId != id) return; searchId++; @@ -1043,7 +1043,7 @@ public class DroidChessController { gui.movePlayed(game.prevPos(), game.tree.currentNode.move, true); } - private final void setPlayerNames(Game game) { + private void setPlayerNames(Game game) { if (game != null) { String engine = "Computer"; if (computerPlayer != null) { @@ -1058,7 +1058,7 @@ public class DroidChessController { } } - private final synchronized void updatePlayerNames(String engineName) { + private synchronized void updatePlayerNames(String engineName) { if (game != null) { if (strength < 1000) engineName += String.format(Locale.US, " (%.1f%%)", strength * 0.1); @@ -1069,7 +1069,7 @@ public class DroidChessController { } } - private final boolean undoMoveNoUpdate() { + private boolean undoMoveNoUpdate() { if (game.getLastMove() == null) return false; searchId++; @@ -1093,7 +1093,7 @@ public class DroidChessController { return true; } - private final void redoMoveNoUpdate() { + private void redoMoveNoUpdate() { if (game.canRedoMove()) { searchId++; game.redoMove(); @@ -1109,7 +1109,7 @@ public class DroidChessController { * Move a piece from one square to another. * @return True if the move was legal, false otherwise. */ - private final boolean doMove(Move move) { + private boolean doMove(Move move) { Position pos = game.currPos(); ArrayList moves = new MoveGen().legalMoves(pos); int promoteTo = move.promoteTo; @@ -1132,7 +1132,7 @@ public class DroidChessController { return false; } - private final void updateGUI() { + private void updateGUI() { GUIInterface.GameStatus s = new GUIInterface.GameStatus(); s.state = game.getGameState(); if (s.state == GameState.ALIVE) { @@ -1180,12 +1180,12 @@ public class DroidChessController { gui.updateMaterialDifferenceTitle(Util.getMaterialDiff(game.currPos())); } - private final synchronized void setThinkingInfo(ThinkingInfo ti) { + private synchronized void setThinkingInfo(ThinkingInfo ti) { if ((ti.id == searchId) && (ti == latestThinkingInfo)) gui.setThinkingInfo(ti); } - private final void updateMoveList() { + private void updateMoveList() { if (game == null) return; if (!gameTextListener.isUpToDate()) { @@ -1205,7 +1205,7 @@ public class DroidChessController { } /** Mark last played move in the GUI. */ - private final void setSelection() { + private void setSelection() { Move m = game.getLastMove(); int sq = ((m != null) && (m.from != m.to)) ? m.to : -1; gui.setSelection(sq); @@ -1215,7 +1215,7 @@ public class DroidChessController { gui.setAnimMove(sourcePos, move, forward); } - private final boolean findValidDrawClaim(String ms) { + private boolean findValidDrawClaim(String ms) { if (!ms.isEmpty()) ms = " " + ms; if (game.getGameState() != GameState.ALIVE) return true; diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/Game.java b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/Game.java index 30276e9..1f870a3 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/Game.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/Game.java @@ -134,14 +134,14 @@ public class Game { * Second item is move played, or null if no move was played. */ public final Pair processString(String str) { if (getGameState() != GameState.ALIVE) - return new Pair(false, null); + return new Pair<>(false, null); if (str.startsWith("draw ")) { String drawCmd = str.substring(str.indexOf(" ") + 1); Move m = handleDrawCmd(drawCmd, true); - return new Pair(true, m); + return new Pair<>(true, m); } else if (str.equals("resign")) { addToGameTree(new Move(0, 0, 0), "resign"); - return new Pair(true, null); + return new Pair<>(true, null); } Move m = TextIO.UCIstringToMove(str); @@ -154,10 +154,10 @@ public class Game { m = null; } if (m == null) - return new Pair(false, null); + return new Pair<>(false, null); addToGameTree(m, pendingDrawOffer ? "draw offer" : ""); - return new Pair(true, m); + return new Pair<>(true, m); } /** Try claim a draw using a command string. Does not play the move involved @@ -169,7 +169,7 @@ public class Game { } } - private final void addToGameTree(Move m, String playerAction) { + private void addToGameTree(Move m, String playerAction) { if (m.equals(new Move(0, 0, 0))) { // Don't create more than one game-ending move at a node List varMoves = tree.variations(); for (int i = varMoves.size() - 1; i >= 0; i--) @@ -240,7 +240,7 @@ public class Game { return gameEnd; } - private final void updateTimeControl(boolean discardElapsed) { + private void updateTimeControl(boolean discardElapsed) { Position currPos = currPos(); int move = currPos.fullMoveCounter; boolean wtm = currPos.whiteMove; @@ -454,7 +454,7 @@ public class Game { Pair, Integer> ml = tree.getMoveList(); List moveList = ml.first; Position pos = new Position(tree.startPos); - ArrayList mList = new ArrayList(); + ArrayList mList = new ArrayList<>(); Position currPos = new Position(pos); UndoInfo ui = new UndoInfo(); int nMoves = ml.second; @@ -467,10 +467,10 @@ public class Game { mList.clear(); } } - return new Pair>(pos, mList); + return new Pair<>(pos, mList); } - private final Move handleDrawCmd(String drawCmd, boolean playDrawMove) { + private Move handleDrawCmd(String drawCmd, boolean playDrawMove) { Move ret = null; Position pos = tree.currentPos; if (drawCmd.startsWith("rep") || drawCmd.startsWith("50")) { diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/GameTree.java b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/GameTree.java index 26edbb3..e82bfad 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/GameTree.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/GameTree.java @@ -91,14 +91,14 @@ public class GameTree { timeControl = "?"; whiteTimeControl = "?"; blackTimeControl = "?"; - tagPairs = new ArrayList(); + tagPairs = new ArrayList<>(); rootNode = new Node(); currentNode = rootNode; currentPos = new Position(startPos); updateListener(); } - private final void updateListener() { + private void updateListener() { if (gameStateListener != null) gameStateListener.clear(); } @@ -222,7 +222,7 @@ public class GameTree { /** Update moveStrLocal in all game nodes. */ public final void translateMoves() { - List currPath = new ArrayList(); + List currPath = new ArrayList<>(); while (currentNode != rootNode) { Node child = currentNode; goBack(); @@ -234,8 +234,8 @@ public class GameTree { goForward(currPath.get(i), false); } - private final void translateMovesHelper() { - ArrayList currPath = new ArrayList(); + private void translateMovesHelper() { + ArrayList currPath = new ArrayList<>(); currPath.add(0); while (!currPath.isEmpty()) { int last = currPath.size() - 1; @@ -325,7 +325,7 @@ public class GameTree { out.processToken(null, PgnToken.EOF, null); } - private final void addTagPair(PgnToken.PgnTokenReceiver out, String tagName, String tagValue) { + private void addTagPair(PgnToken.PgnTokenReceiver out, String tagName, String tagValue) { out.processToken(null, PgnToken.LEFT_BRACKET, null); out.processToken(null, PgnToken.SYMBOL, tagName); out.processToken(null, PgnToken.STRING, tagValue); @@ -338,7 +338,7 @@ public class GameTree { List savedTokens; PgnScanner(String pgn) { - savedTokens = new ArrayList(); + savedTokens = new ArrayList<>(); // Skip "escape" lines, ie lines starting with a '%' character StringBuilder sb = new StringBuilder(); int len = pgn.length(); @@ -489,7 +489,7 @@ public class GameTree { PgnToken tok = scanner.nextToken(); // Parse tag section - List tagPairs = new ArrayList(); + List tagPairs = new ArrayList<>(); while (tok.type == PgnToken.LEFT_BRACKET) { TagPair tp = new TagPair(); tok = scanner.nextTokenDropComments(); @@ -725,7 +725,7 @@ public class GameTree { public final ArrayList variations() { if (currentNode.verifyChildren(currentPos)) updateListener(); - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); for (Node child : currentNode.children) ret.add(child.move); return ret; @@ -798,7 +798,7 @@ public class GameTree { /** Get linear game history, using default variations at branch points. */ public final Pair, Integer> getMoveList() { - List ret = new ArrayList(); + List ret = new ArrayList<>(); Node node = currentNode; while (node != rootNode) { ret.add(node); @@ -822,7 +822,7 @@ public class GameTree { } if (changed) updateListener(); - return new Pair, Integer>(ret, numMovesPlayed); + return new Pair<>(ret, numMovesPlayed); } final void setRemainingTime(int remaining) { @@ -943,7 +943,7 @@ public class GameTree { /** Evaluate PGN result string at the end of the main line. */ public final String getPGNResultStringMainLine() { - List currPath = new ArrayList(); + List currPath = new ArrayList<>(); while (currentNode != rootNode) { Node child = currentNode; goBack(); @@ -1047,7 +1047,7 @@ public class GameTree { this.playerAction = ""; this.remainingTime = Integer.MIN_VALUE; this.parent = null; - this.children = new ArrayList(); + this.children = new ArrayList<>(); this.defaultChild = 0; this.nag = 0; this.preComment = ""; @@ -1063,7 +1063,7 @@ public class GameTree { this.playerAction = playerAction; this.remainingTime = remainingTime; this.parent = parent; - this.children = new ArrayList(); + this.children = new ArrayList<>(); this.defaultChild = 0; this.nag = nag; this.preComment = preComment; @@ -1075,10 +1075,10 @@ public class GameTree { } /** nodePos must represent the same position as this Node object. */ - private final boolean verifyChildren(Position nodePos) { + private boolean verifyChildren(Position nodePos) { return verifyChildren(nodePos, null); } - private final boolean verifyChildren(Position nodePos, ArrayList moves) { + private boolean verifyChildren(Position nodePos, ArrayList moves) { boolean anyToRemove = false; for (Node child : children) { if (child.move == null) { @@ -1096,7 +1096,7 @@ public class GameTree { } } if (anyToRemove) { - ArrayList validChildren = new ArrayList(); + ArrayList validChildren = new ArrayList<>(); for (Node child : children) if (child.move != null) validChildren.add(child); @@ -1106,7 +1106,7 @@ public class GameTree { } final ArrayList getPathFromRoot() { - ArrayList ret = new ArrayList(64); + ArrayList ret = new ArrayList<>(64); Node node = this; while (node.parent != null) { ret.add(node.getChildNo()); @@ -1209,8 +1209,8 @@ public class GameTree { } /** Export this node in PGN (or display text) format. */ - private final boolean addPgnDataOneNode(PgnToken.PgnTokenReceiver out, MoveNumber mn, - boolean needMoveNr, PGNOptions options) { + private boolean addPgnDataOneNode(PgnToken.PgnTokenReceiver out, MoveNumber mn, + boolean needMoveNr, PGNOptions options) { if ((preComment.length() > 0) && options.exp.comments) { out.processToken(this, PgnToken.COMMENT, preComment); needMoveNr = true; @@ -1260,8 +1260,8 @@ public class GameTree { return needMoveNr; } - private final void addExtendedInfo(PgnToken.PgnTokenReceiver out, - String extCmd, String extData) { + private void addExtendedInfo(PgnToken.PgnTokenReceiver out, + String extCmd, String extData) { out.processToken(this, PgnToken.COMMENT, "[%" + extCmd + " " + extData + "]"); } @@ -1289,13 +1289,13 @@ public class GameTree { return ret.toString(); } - private final Node addChild(Node child) { + private Node addChild(Node child) { child.parent = this; children.add(child); return child; } - public static final void parsePgn(PgnScanner scanner, Node node, PGNOptions options) { + public static void parsePgn(PgnScanner scanner, Node node, PGNOptions options) { Node nodeToAdd = new Node(); boolean moveAdded = false; while (true) { @@ -1424,7 +1424,7 @@ public class GameTree { param = comment.substring(start + match.length(), end); } } - return new Pair(remaining, param); + return new Pair<>(remaining, param); } /** Convert hh:mm:ss to milliseconds */ @@ -1518,7 +1518,7 @@ public class GameTree { else if (tag.equals("White")) white = val; else if (tag.equals("Black")) black = val; else if (tag.equals("Result")) { - List currPath = new ArrayList(); + List currPath = new ArrayList<>(); while (currentNode != rootNode) { Node child = currentNode; goBack(); @@ -1607,7 +1607,7 @@ public class GameTree { private ArrayList stringToTCFields(String tcStr) { String[] fields = tcStr.split(":"); int nf = fields.length; - ArrayList ret = new ArrayList(nf); + ArrayList ret = new ArrayList<>(nf); for (int i = 0; i < nf; i++) { String f = fields[i].trim(); if (f.equals("?") || f.equals("-") || f.contains("*")) { diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/MoveGen.java b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/MoveGen.java index fcdbe62..f9b35ca 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/MoveGen.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/MoveGen.java @@ -39,7 +39,7 @@ public class MoveGen { * Pseudo-legal means that the moves don't necessarily defend from check threats. */ public final ArrayList pseudoLegalMoves(Position pos) { - ArrayList moveList = new ArrayList(60); + ArrayList moveList = new ArrayList<>(60); final boolean wtm = pos.whiteMove; for (int x = 0; x < 8; x++) { for (int y = 0; y < 8; y++) { @@ -224,7 +224,7 @@ public class MoveGen { * This function removes the moves that don't defend from check threats. */ public static final ArrayList removeIllegal(Position pos, ArrayList moveList) { - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); UndoInfo ui = new UndoInfo(); int mlSize = moveList.size(); for (int mi = 0; mi < mlSize; mi++) { @@ -244,7 +244,7 @@ public class MoveGen { * @param maxSteps Max steps until reaching a border. Set to 1 for non-sliding pieces. * @ return True if the enemy king could be captured, false otherwise. */ - private final boolean addDirection(ArrayList moveList, Position pos, int sq0, int maxSteps, int delta) { + private boolean addDirection(ArrayList moveList, Position pos, int sq0, int maxSteps, int delta) { int sq = sq0; boolean wtm = pos.whiteMove; final int oKing = (wtm ? Piece.BKING : Piece.WKING); @@ -273,7 +273,7 @@ public class MoveGen { /** * Generate all possible pawn moves from (x0,y0) to (x1,y1), taking pawn promotions into account. */ - private final void addPawnMoves(ArrayList moveList, int sq0, int sq1) { + private void addPawnMoves(ArrayList moveList, int sq0, int sq1) { if (sq1 >= 56) { // White promotion moveList.add(getMoveObj(sq0, sq1, Piece.WQUEEN)); moveList.add(getMoveObj(sq0, sq1, Piece.WKNIGHT)); diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/Position.java b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/Position.java index d05ecfa..901f342 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/Position.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/Position.java @@ -359,7 +359,7 @@ public class Position { } } - private final void removeCastleRights(int square) { + private void removeCastleRights(int square) { if (square == Position.getSquare(0, 0)) { setCastleMask(castleMask & ~(1 << Position.A1_CASTLE)); } else if (square == Position.getSquare(7, 0)) { @@ -411,7 +411,7 @@ public class Position { return hash; } - private final static long getRandomHashVal(int rndNo) { + private static long getRandomHashVal(int rndNo) { try { MessageDigest md = MessageDigest.getInstance("SHA-1"); byte[] input = new byte[4]; diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TextIO.java b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TextIO.java index b51c58b..f7a09d2 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TextIO.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TextIO.java @@ -456,7 +456,6 @@ public class TextIO { * Decide if move is valid in position pos. * @param pos Position for which to test move. * @param move The move to check for validity. - * @param moves If non-null, list of valid moves in position pos. * @return True if move is valid in position pos, false otherwise. */ public static final boolean isValid(Position pos, Move move) { @@ -566,7 +565,7 @@ public class TextIO { if (moves == null) moves = MoveGen.instance.legalMoves(pos); - ArrayList matches = new ArrayList(2); + ArrayList matches = new ArrayList<>(2); for (int i = 0; i < moves.size(); i++) { Move m = moves.get(i); int p = pos.getPiece(m.from); @@ -755,7 +754,7 @@ public class TextIO { return ret.toString(); } - private final static String pieceToChar(int p) { + private static String pieceToChar(int p) { switch (p) { case Piece.WQUEEN: case Piece.BQUEEN: return "Q"; case Piece.WROOK: case Piece.BROOK: return "R"; @@ -777,7 +776,7 @@ public class TextIO { return ""; } - private final static int charToPiece(boolean white, char c) { + private static int charToPiece(boolean white, char c) { switch (c) { case 'Q': case 'q': return white ? Piece.WQUEEN : Piece.BQUEEN; case 'R': case 'r': return white ? Piece.WROOK : Piece.BROOK; diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TimeControl.java b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TimeControl.java index 7f49705..2bfc1a5 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TimeControl.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TimeControl.java @@ -171,14 +171,14 @@ public class TimeControl { currMove++; while (true) { if (tc.get(tcIdx).movesPerSession <= 0) - return new Pair(tcIdx, 0); + return new Pair<>(tcIdx, 0); nextTC += tc.get(tcIdx).movesPerSession; if (nextTC > currMove) break; if (tcIdx < lastTcIdx) tcIdx++; } - return new Pair(tcIdx, nextTC - currMove); + return new Pair<>(tcIdx, nextTC - currMove); } /** De-serialize from input stream. */ diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TimeControlData.java b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TimeControlData.java index a77cef8..42ca42b 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TimeControlData.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/gamelogic/TimeControlData.java @@ -40,17 +40,17 @@ public final class TimeControlData { /** Constructor. Set a default time control. */ public TimeControlData() { - tcW = new ArrayList(); + tcW = new ArrayList<>(); tcW.add(new TimeControlField(5*60*1000, 60, 0)); - tcB = new ArrayList(); + tcB = new ArrayList<>(); tcB.add(new TimeControlField(5*60*1000, 60, 0)); } /** Set a single time control for both white and black. */ public final void setTimeControl(int time, int moves, int inc) { - tcW = new ArrayList(); + tcW = new ArrayList<>(); tcW.add(new TimeControlField(time, moves, inc)); - tcB = new ArrayList(); + tcB = new ArrayList<>(); tcB.add(new TimeControlField(time, moves, inc)); } @@ -90,7 +90,7 @@ public final class TimeControlData { /** De-serialize from input stream. */ public void readFromStream(DataInputStream dis, int version) throws IOException { for (int c = 0; c < 2; c++) { - ArrayList tc = new ArrayList(); + ArrayList tc = new ArrayList<>(); if (c == 0) tcW = tc; else diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/tb/GtbProbe.java b/DroidFishApp/src/main/java/org/petero/droidfish/tb/GtbProbe.java index d6b9b6e..2912bda 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/tb/GtbProbe.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/tb/GtbProbe.java @@ -29,7 +29,7 @@ class GtbProbe { } private String currTbPath = ""; - private ConcurrentLinkedQueue tbPathQueue = new ConcurrentLinkedQueue(); + private ConcurrentLinkedQueue tbPathQueue = new ConcurrentLinkedQueue<>(); GtbProbe() { } @@ -106,5 +106,5 @@ class GtbProbe { byte[] blackPieces, int[] result); - private final native static boolean init(String tbPath); + private native static boolean init(String tbPath); } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/tb/Probe.java b/DroidFishApp/src/main/java/org/petero/droidfish/tb/Probe.java index 360099e..9735a8f 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/tb/Probe.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/tb/Probe.java @@ -73,10 +73,8 @@ public class Probe { /** * Probe GTB tablebases. * @param pos The position to probe. - * @param result Two element array. Set to [tbinfo, plies]. - * @return True if success. */ - private final GtbProbeResult gtbProbe(Position pos) { + private GtbProbeResult gtbProbe(Position pos) { GtbProbeResult ret = gtbProbeRaw(pos); if (ret.result == GtbProbeResult.DRAW && pos.getEpSquare() != -1) { ArrayList moveList = MoveGen.instance.legalMoves(pos); @@ -109,7 +107,7 @@ public class Probe { return ret; } - private final GtbProbeResult gtbProbeRaw(Position pos) { + private GtbProbeResult gtbProbeRaw(Position pos) { int castleMask = 0; if (pos.a1Castle()) castleMask |= GtbProbe.A1_CASTLE; if (pos.h1Castle()) castleMask |= GtbProbe.H1_CASTLE; @@ -215,7 +213,7 @@ public class Probe { return ret; } - private final ProbeResult rtbProbe(Position pos) { + private ProbeResult rtbProbe(Position pos) { if (pos.nPieces() > 7) return new ProbeResult(ProbeResult.Type.NONE, 0, 0); @@ -273,8 +271,8 @@ public class Probe { /** Return a list of all moves in moveList that are not known to be non-optimal. * Returns null if no legal move could be excluded. */ public final ArrayList removeNonOptimal(Position pos, ArrayList moveList) { - ArrayList optimalMoves = new ArrayList(); - ArrayList unknownMoves = new ArrayList(); + ArrayList optimalMoves = new ArrayList<>(); + ArrayList unknownMoves = new ArrayList<>(); final int MATE0 = 100000; int bestScore = -1000000; UndoInfo ui = new UndoInfo(); @@ -323,7 +321,7 @@ public class Probe { int p = pos.getPiece(fromSq); if ((p == Piece.EMPTY) || (pos.whiteMove != Piece.isWhite(p))) return null; - ArrayList> ret = new ArrayList>(); + ArrayList> ret = new ArrayList<>(); ArrayList moveList = new MoveGen().legalMoves(pos); UndoInfo ui = new UndoInfo(); @@ -342,7 +340,7 @@ public class Probe { } else if (res.type != ProbeResult.Type.WDL) { res.score++; } - ret.add(new Pair(m.to, res)); + ret.add(new Pair<>(m.to, res)); } return ret; } @@ -355,7 +353,7 @@ public class Probe { if (p == Piece.EMPTY) return null; boolean isPawn = (Piece.makeWhite(p) == Piece.WPAWN); - ArrayList> ret = new ArrayList>(); + ArrayList> ret = new ArrayList<>(); for (int sq = 0; sq < 64; sq++) { if ((sq != fromSq) && (pos.getPiece(sq) != Piece.EMPTY)) continue; @@ -370,7 +368,7 @@ public class Probe { continue; if (!pos.whiteMove) res.wdl = -res.wdl; - ret.add(new Pair(sq, res)); + ret.add(new Pair<>(sq, res)); } return ret; } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/tb/RtbProbe.java b/DroidFishApp/src/main/java/org/petero/droidfish/tb/RtbProbe.java index 4189d32..7af0218 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/tb/RtbProbe.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/tb/RtbProbe.java @@ -29,7 +29,7 @@ public class RtbProbe { } private String currTbPath = ""; - private ConcurrentLinkedQueue tbPathQueue = new ConcurrentLinkedQueue(); + private ConcurrentLinkedQueue tbPathQueue = new ConcurrentLinkedQueue<>(); RtbProbe() { } @@ -91,5 +91,5 @@ public class RtbProbe { int fullMoveCounter, int[] result); - private final native static boolean init(String tbPath); + private native static boolean init(String tbPath); } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/view/ChessBoard.java b/DroidFishApp/src/main/java/org/petero/droidfish/view/ChessBoard.java index 54fc6c7..85f39fe 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/view/ChessBoard.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/view/ChessBoard.java @@ -123,7 +123,7 @@ public abstract class ChessBoard extends View { decorationPaint = new Paint(); decorationPaint.setAntiAlias(true); - moveMarkPaint = new ArrayList(); + moveMarkPaint = new ArrayList<>(); for (int i = 0; i < ColorTheme.MAX_ARROWS; i++) { Paint p = new Paint(); p.setStyle(Paint.Style.FILL); @@ -174,7 +174,7 @@ public abstract class ChessBoard extends View { now = System.currentTimeMillis(); return animActive(); } - private final boolean animActive() { + private boolean animActive() { if (paused || (startTime < 0) || (now >= stopTime) || (posHash != pos.zobristHash())) return false; return true; @@ -452,7 +452,7 @@ public abstract class ChessBoard extends View { // System.out.printf("draw: %d\n", t1-t0); } - private final void drawMoveHints(Canvas canvas) { + private void drawMoveHints(Canvas canvas) { if ((moveHints == null) || blindMode) return; float h = (float)(sqSize / 2.0); @@ -550,8 +550,8 @@ public abstract class ChessBoard extends View { private Rect labelBounds = null; - private final void drawLabel(Canvas canvas, int xCrd, int yCrd, boolean right, - boolean bottom, char c) { + private void drawLabel(Canvas canvas, int xCrd, int yCrd, boolean right, + boolean bottom, char c) { String s = Character.toString(c); if (labelBounds == null) { labelBounds = new Rect(); @@ -680,7 +680,7 @@ public abstract class ChessBoard extends View { } } - private final void drawDecorations(Canvas canvas) { + private void drawDecorations(Canvas canvas) { if (decorations == null) return; long decorated = 0; diff --git a/DroidFishApp/src/main/java/tourguide/tourguide/FrameLayoutWithHole.java b/DroidFishApp/src/main/java/tourguide/tourguide/FrameLayoutWithHole.java index 9522ad5..05e5b46 100644 --- a/DroidFishApp/src/main/java/tourguide/tourguide/FrameLayoutWithHole.java +++ b/DroidFishApp/src/main/java/tourguide/tourguide/FrameLayoutWithHole.java @@ -40,7 +40,7 @@ public class FrameLayoutWithHole extends FrameLayout { } public void addAnimatorSet(AnimatorSet animatorSet){ if (mAnimatorSetArrayList==null){ - mAnimatorSetArrayList = new ArrayList(); + mAnimatorSetArrayList = new ArrayList<>(); } mAnimatorSetArrayList.add(animatorSet); } diff --git a/buildSrc/src/main/java/chess/Book.java b/buildSrc/src/main/java/chess/Book.java index 399aaa7..7c353b9 100644 --- a/buildSrc/src/main/java/chess/Book.java +++ b/buildSrc/src/main/java/chess/Book.java @@ -51,17 +51,17 @@ public class Book { this.verbose = verbose; } - private final void initBook() { + private void initBook() { if (numBookMoves >= 0) return; long t0 = System.currentTimeMillis(); - bookMap = new HashMap>(); + bookMap = new HashMap<>(); rndGen = new SecureRandom(); rndGen.setSeed(System.currentTimeMillis()); numBookMoves = 0; try { InputStream inStream = getClass().getResourceAsStream("/book.bin"); - List buf = new ArrayList(8192); + List buf = new ArrayList<>(8192); byte[] tmpBuf = new byte[1024]; while (true) { int len = inStream.read(tmpBuf); @@ -104,10 +104,10 @@ public class Book { } /** Add a move to a position in the opening book. */ - private final void addToBook(Position pos, Move moveToAdd) { + private void addToBook(Position pos, Move moveToAdd) { List ent = bookMap.get(pos.zobristHash()); if (ent == null) { - ent = new ArrayList(); + ent = new ArrayList<>(); bookMap.put(pos.zobristHash(), ent); } for (int i = 0; i < ent.size(); i++) { @@ -202,7 +202,7 @@ public class Book { } public static List createBinBook(String inFileName) { - List binBook = new ArrayList(0); + List binBook = new ArrayList<>(0); try { InputStream inStream = new FileInputStream(inFileName); InputStreamReader inFile = new InputStreamReader(inStream); diff --git a/buildSrc/src/main/java/chess/Evaluate.java b/buildSrc/src/main/java/chess/Evaluate.java index e61e9d7..511c64b 100644 --- a/buildSrc/src/main/java/chess/Evaluate.java +++ b/buildSrc/src/main/java/chess/Evaluate.java @@ -295,7 +295,7 @@ public class Evaluate { } /** Compute score based on piece square tables. Positive values are good for white. */ - private final int pieceSquareEval(Position pos) { + private int pieceSquareEval(Position pos) { int score = 0; final int wMtrl = pos.wMtrl; final int bMtrl = pos.bMtrl; @@ -405,7 +405,7 @@ public class Evaluate { } /** Implement the "when ahead trade pieces, when behind trade pawns" rule. */ - private final int tradeBonus(Position pos) { + private int tradeBonus(Position pos) { final int wM = pos.wMtrl; final int bM = pos.bMtrl; final int wPawn = pos.wMtrlPawns; @@ -436,7 +436,7 @@ public class Evaluate { } /** Score castling ability. */ - private final int castleBonus(Position pos) { + private int castleBonus(Position pos) { if (pos.getCastleMask() == 0) return 0; final int k1 = kt1b[7*8+6] - kt1b[7*8+4]; @@ -464,7 +464,7 @@ public class Evaluate { return wBonus - bBonus; } - private final int pawnBonus(Position pos) { + private int pawnBonus(Position pos) { long key = pos.pawnZobristHash(); PawnHashData phd = pawnHash[(int)key & (pawnHash.length - 1)]; if (phd.key != key) @@ -562,7 +562,7 @@ public class Evaluate { } /** Compute pawn hash data for pos. */ - private final void computePawnHashData(Position pos, PawnHashData ph) { + private void computePawnHashData(Position pos, PawnHashData ph) { int score = 0; // Evaluate double pawns and pawn islands @@ -658,7 +658,7 @@ public class Evaluate { } /** Compute rook bonus. Rook on open/half-open file. */ - private final int rookBonus(Position pos) { + private int rookBonus(Position pos) { int score = 0; final long wPawns = pos.pieceTypeBB[Piece.WPAWN]; final long bPawns = pos.pieceTypeBB[Piece.BPAWN]; @@ -703,7 +703,7 @@ public class Evaluate { } /** Compute bishop evaluation. */ - private final int bishopEval(Position pos, int oldScore) { + private int bishopEval(Position pos, int oldScore) { int score = 0; final long occupied = pos.whiteBB | pos.blackBB; long wBishops = pos.pieceTypeBB[Piece.WBISHOP]; @@ -828,7 +828,7 @@ public class Evaluate { } /** Compute king safety for both kings. */ - private final int kingSafety(Position pos) { + private int kingSafety(Position pos) { final int minM = rV + bV; final int m = (pos.wMtrl - pos.wMtrlPawns + pos.bMtrl - pos.bMtrlPawns) / 2; if (m <= minM) @@ -884,7 +884,7 @@ public class Evaluate { } } - private final int kingSafetyKPPart(Position pos) { + private int kingSafetyKPPart(Position pos) { final long key = pos.pawnZobristHash() ^ pos.kingZobristHash(); KingSafetyHashData ksh = kingSafetyHash[(int)key & (kingSafetyHash.length - 1)]; if (ksh.key != key) { @@ -958,7 +958,7 @@ public class Evaluate { } /** Implements special knowledge for some endgame situations. */ - private final int endGameEval(Position pos, int oldScore) { + private int endGameEval(Position pos, int oldScore) { int score = oldScore; if (pos.wMtrl + pos.bMtrl > 6 * rV) return score; diff --git a/buildSrc/src/main/java/chess/MoveGen.java b/buildSrc/src/main/java/chess/MoveGen.java index f61139c..d74b42b 100644 --- a/buildSrc/src/main/java/chess/MoveGen.java +++ b/buildSrc/src/main/java/chess/MoveGen.java @@ -366,7 +366,7 @@ public final class MoveGen { { ArrayList allMoves = pseudoLegalMoves(pos); allMoves = MoveGen.removeIllegal(pos, allMoves); - HashSet evMoves = new HashSet(); + HashSet evMoves = new HashSet<>(); for (Move m : moveList) evMoves.add(TextIO.moveToUCIString(m)); for (Move m : allMoves) @@ -967,8 +967,8 @@ public final class MoveGen { moveList.size = length; } - private final static boolean addPawnMovesByMask(MoveList moveList, Position pos, long mask, - int delta, boolean allPromotions) { + private static boolean addPawnMovesByMask(MoveList moveList, Position pos, long mask, + int delta, boolean allPromotions) { if (mask == 0) return false; long oKingMask = pos.pieceTypeBB[pos.whiteMove ? Piece.BKING : Piece.WKING]; @@ -1008,8 +1008,8 @@ public final class MoveGen { return false; } - private final static void addPawnDoubleMovesByMask(MoveList moveList, Position pos, - long mask, int delta) { + private static void addPawnDoubleMovesByMask(MoveList moveList, Position pos, + long mask, int delta) { while (mask != 0) { int sq = BitBoard.numberOfTrailingZeros(mask); setMove(moveList, sq + delta, sq, Piece.EMPTY); @@ -1017,7 +1017,7 @@ public final class MoveGen { } } - private final static boolean addMovesByMask(MoveList moveList, Position pos, int sq0, long mask) { + private static boolean addMovesByMask(MoveList moveList, Position pos, int sq0, long mask) { long oKingMask = pos.pieceTypeBB[pos.whiteMove ? Piece.BKING : Piece.WKING]; if ((mask & oKingMask) != 0) { int sq = BitBoard.numberOfTrailingZeros(mask & oKingMask); @@ -1033,7 +1033,7 @@ public final class MoveGen { return false; } - private final static void setMove(MoveList moveList, int from, int to, int promoteTo) { + private static void setMove(MoveList moveList, int from, int to, int promoteTo) { Move m = moveList.m[moveList.size++]; m.from = from; m.to = to; @@ -1047,7 +1047,7 @@ public final class MoveGen { private static final int MAX_MOVES = 256; - private final MoveList getMoveListObj() { + private MoveList getMoveListObj() { MoveList ml; if (moveListsInCache > 0) { ml = (MoveList)moveListCache[--moveListsInCache]; diff --git a/buildSrc/src/main/java/chess/Parameters.java b/buildSrc/src/main/java/chess/Parameters.java index 92df884..523ce60 100644 --- a/buildSrc/src/main/java/chess/Parameters.java +++ b/buildSrc/src/main/java/chess/Parameters.java @@ -85,7 +85,7 @@ public class Parameters { return inst; } public final String[] getParamNames() { - ArrayList parNames = new ArrayList(); + ArrayList parNames = new ArrayList<>(); for (Map.Entry e : params.entrySet()) if (e.getValue().visible) parNames.add(e.getKey()); @@ -97,7 +97,7 @@ public class Parameters { } private static final Parameters inst = new Parameters(); - private Map params = new TreeMap(); + private Map params = new TreeMap<>(); private Parameters() { addPar(new SpinParam("qV", false, -200, 200, 0)); @@ -107,7 +107,7 @@ public class Parameters { addPar(new SpinParam("pV", false, -200, 200, 0)); } - private final void addPar(ParamBase p) { + private void addPar(ParamBase p) { params.put(p.name.toLowerCase(), p); } diff --git a/buildSrc/src/main/java/chess/Position.java b/buildSrc/src/main/java/chess/Position.java index 3635fcd..5a8bee8 100644 --- a/buildSrc/src/main/java/chess/Position.java +++ b/buildSrc/src/main/java/chess/Position.java @@ -210,7 +210,7 @@ public class Position { } /** Move a non-pawn piece to an empty square. */ - private final void movePieceNotPawn(int from, int to) { + private void movePieceNotPawn(int from, int to) { final int piece = squares[from]; hashKey ^= psHashKeys[piece][from]; hashKey ^= psHashKeys[piece][to]; @@ -562,7 +562,7 @@ public class Position { } } - private final void removeCastleRights(int square) { + private void removeCastleRights(int square) { if (square == Position.getSquare(0, 0)) { setCastleMask(castleMask & ~(1 << Position.A1_CASTLE)); } else if (square == Position.getSquare(7, 0)) { @@ -620,7 +620,7 @@ public class Position { return hash; } - private final static long getRandomHashVal(int rndNo) { + private static long getRandomHashVal(int rndNo) { try { MessageDigest md = MessageDigest.getInstance("SHA-1"); byte[] input = new byte[4]; diff --git a/buildSrc/src/main/java/chess/TextIO.java b/buildSrc/src/main/java/chess/TextIO.java index 0446cec..6ce2465 100644 --- a/buildSrc/src/main/java/chess/TextIO.java +++ b/buildSrc/src/main/java/chess/TextIO.java @@ -597,7 +597,7 @@ public class TextIO { return str; } - private final static String pieceToChar(int p) { + private static String pieceToChar(int p) { switch (p) { case Piece.WQUEEN: case Piece.BQUEEN: return "Q"; case Piece.WROOK: case Piece.BROOK: return "R"; diff --git a/buildSrc/src/main/java/org/petero/droidfish/FileUtil.java b/buildSrc/src/main/java/org/petero/droidfish/FileUtil.java index 5988581..dcc29dd 100644 --- a/buildSrc/src/main/java/org/petero/droidfish/FileUtil.java +++ b/buildSrc/src/main/java/org/petero/droidfish/FileUtil.java @@ -32,7 +32,7 @@ import java.util.ArrayList; public class FileUtil { /** Read a text file. Return string array with one string per line. */ public static String[] readFile(String filename) throws IOException { - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); InputStream inStream = new FileInputStream(filename); InputStreamReader inFile = new InputStreamReader(inStream, "UTF-8"); BufferedReader inBuf = new BufferedReader(inFile); diff --git a/buildSrc/src/main/java/org/petero/droidfish/buildtools/EcoBuilder.java b/buildSrc/src/main/java/org/petero/droidfish/buildtools/EcoBuilder.java index 7a3348f..b83bb7a 100644 --- a/buildSrc/src/main/java/org/petero/droidfish/buildtools/EcoBuilder.java +++ b/buildSrc/src/main/java/org/petero/droidfish/buildtools/EcoBuilder.java @@ -47,7 +47,7 @@ public class EcoBuilder { int ecoIdx; // Index in string array, or -1 int opnIdx; // Index in string array, or -1 int varIdx; // Index in string array, or -1 - ArrayList children = new ArrayList(); + ArrayList children = new ArrayList<>(); Node parent; } private ArrayList nodes; @@ -57,9 +57,9 @@ public class EcoBuilder { /** Constructor. */ private EcoBuilder() { - nodes = new ArrayList(); - strs = new ArrayList(); - strToIndex = new HashMap(); + nodes = new ArrayList<>(); + strs = new ArrayList<>(); + strToIndex = new HashMap<>(); Node rootNode = new Node(); rootNode.index = 0; rootNode.move = new Move(0, 0, 0); @@ -99,7 +99,7 @@ public class EcoBuilder { game.readPGN(pgn, options); // Determine name of opening - HashMap headers = new HashMap(); + HashMap headers = new HashMap<>(); GameTree tree = game.tree; tree.getHeaders(headers); int ecoIdx = addData(headers, "ECO"); diff --git a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/Game.java b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/Game.java index 30276e9..1f870a3 100644 --- a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/Game.java +++ b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/Game.java @@ -134,14 +134,14 @@ public class Game { * Second item is move played, or null if no move was played. */ public final Pair processString(String str) { if (getGameState() != GameState.ALIVE) - return new Pair(false, null); + return new Pair<>(false, null); if (str.startsWith("draw ")) { String drawCmd = str.substring(str.indexOf(" ") + 1); Move m = handleDrawCmd(drawCmd, true); - return new Pair(true, m); + return new Pair<>(true, m); } else if (str.equals("resign")) { addToGameTree(new Move(0, 0, 0), "resign"); - return new Pair(true, null); + return new Pair<>(true, null); } Move m = TextIO.UCIstringToMove(str); @@ -154,10 +154,10 @@ public class Game { m = null; } if (m == null) - return new Pair(false, null); + return new Pair<>(false, null); addToGameTree(m, pendingDrawOffer ? "draw offer" : ""); - return new Pair(true, m); + return new Pair<>(true, m); } /** Try claim a draw using a command string. Does not play the move involved @@ -169,7 +169,7 @@ public class Game { } } - private final void addToGameTree(Move m, String playerAction) { + private void addToGameTree(Move m, String playerAction) { if (m.equals(new Move(0, 0, 0))) { // Don't create more than one game-ending move at a node List varMoves = tree.variations(); for (int i = varMoves.size() - 1; i >= 0; i--) @@ -240,7 +240,7 @@ public class Game { return gameEnd; } - private final void updateTimeControl(boolean discardElapsed) { + private void updateTimeControl(boolean discardElapsed) { Position currPos = currPos(); int move = currPos.fullMoveCounter; boolean wtm = currPos.whiteMove; @@ -454,7 +454,7 @@ public class Game { Pair, Integer> ml = tree.getMoveList(); List moveList = ml.first; Position pos = new Position(tree.startPos); - ArrayList mList = new ArrayList(); + ArrayList mList = new ArrayList<>(); Position currPos = new Position(pos); UndoInfo ui = new UndoInfo(); int nMoves = ml.second; @@ -467,10 +467,10 @@ public class Game { mList.clear(); } } - return new Pair>(pos, mList); + return new Pair<>(pos, mList); } - private final Move handleDrawCmd(String drawCmd, boolean playDrawMove) { + private Move handleDrawCmd(String drawCmd, boolean playDrawMove) { Move ret = null; Position pos = tree.currentPos; if (drawCmd.startsWith("rep") || drawCmd.startsWith("50")) { diff --git a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/GameTree.java b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/GameTree.java index 77e6870..e3d018c 100644 --- a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/GameTree.java +++ b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/GameTree.java @@ -90,14 +90,14 @@ public class GameTree { timeControl = "?"; whiteTimeControl = "?"; blackTimeControl = "?"; - tagPairs = new ArrayList(); + tagPairs = new ArrayList<>(); rootNode = new Node(); currentNode = rootNode; currentPos = new Position(startPos); updateListener(); } - private final void updateListener() { + private void updateListener() { if (gameStateListener != null) gameStateListener.clear(); } @@ -221,7 +221,7 @@ public class GameTree { /** Update moveStrLocal in all game nodes. */ public final void translateMoves() { - List currPath = new ArrayList(); + List currPath = new ArrayList<>(); while (currentNode != rootNode) { Node child = currentNode; goBack(); @@ -233,8 +233,8 @@ public class GameTree { goForward(currPath.get(i), false); } - private final void translateMovesHelper() { - ArrayList currPath = new ArrayList(); + private void translateMovesHelper() { + ArrayList currPath = new ArrayList<>(); currPath.add(0); while (!currPath.isEmpty()) { int last = currPath.size() - 1; @@ -309,7 +309,7 @@ public class GameTree { out.processToken(null, PgnToken.EOF, null); } - private final void addTagPair(PgnToken.PgnTokenReceiver out, String tagName, String tagValue) { + private void addTagPair(PgnToken.PgnTokenReceiver out, String tagName, String tagValue) { out.processToken(null, PgnToken.LEFT_BRACKET, null); out.processToken(null, PgnToken.SYMBOL, tagName); out.processToken(null, PgnToken.STRING, tagValue); @@ -322,7 +322,7 @@ public class GameTree { List savedTokens; PgnScanner(String pgn) { - savedTokens = new ArrayList(); + savedTokens = new ArrayList<>(); // Skip "escape" lines, ie lines starting with a '%' character StringBuilder sb = new StringBuilder(); int len = pgn.length(); @@ -473,7 +473,7 @@ public class GameTree { PgnToken tok = scanner.nextToken(); // Parse tag section - List tagPairs = new ArrayList(); + List tagPairs = new ArrayList<>(); while (tok.type == PgnToken.LEFT_BRACKET) { TagPair tp = new TagPair(); tok = scanner.nextTokenDropComments(); @@ -709,7 +709,7 @@ public class GameTree { public final ArrayList variations() { if (currentNode.verifyChildren(currentPos)) updateListener(); - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); for (Node child : currentNode.children) ret.add(child.move); return ret; @@ -782,7 +782,7 @@ public class GameTree { /** Get linear game history, using default variations at branch points. */ public final Pair, Integer> getMoveList() { - List ret = new ArrayList(); + List ret = new ArrayList<>(); Node node = currentNode; while (node != rootNode) { ret.add(node); @@ -806,7 +806,7 @@ public class GameTree { } if (changed) updateListener(); - return new Pair, Integer>(ret, numMovesPlayed); + return new Pair<>(ret, numMovesPlayed); } final void setRemainingTime(int remaining) { @@ -927,7 +927,7 @@ public class GameTree { /** Evaluate PGN result string at the end of the main line. */ public final String getPGNResultStringMainLine() { - List currPath = new ArrayList(); + List currPath = new ArrayList<>(); while (currentNode != rootNode) { Node child = currentNode; goBack(); @@ -1031,7 +1031,7 @@ public class GameTree { this.playerAction = ""; this.remainingTime = Integer.MIN_VALUE; this.parent = null; - this.children = new ArrayList(); + this.children = new ArrayList<>(); this.defaultChild = 0; this.nag = 0; this.preComment = ""; @@ -1047,7 +1047,7 @@ public class GameTree { this.playerAction = playerAction; this.remainingTime = remainingTime; this.parent = parent; - this.children = new ArrayList(); + this.children = new ArrayList<>(); this.defaultChild = 0; this.nag = nag; this.preComment = preComment; @@ -1059,10 +1059,10 @@ public class GameTree { } /** nodePos must represent the same position as this Node object. */ - private final boolean verifyChildren(Position nodePos) { + private boolean verifyChildren(Position nodePos) { return verifyChildren(nodePos, null); } - private final boolean verifyChildren(Position nodePos, ArrayList moves) { + private boolean verifyChildren(Position nodePos, ArrayList moves) { boolean anyToRemove = false; for (Node child : children) { if (child.move == null) { @@ -1080,7 +1080,7 @@ public class GameTree { } } if (anyToRemove) { - ArrayList validChildren = new ArrayList(); + ArrayList validChildren = new ArrayList<>(); for (Node child : children) if (child.move != null) validChildren.add(child); @@ -1090,7 +1090,7 @@ public class GameTree { } final ArrayList getPathFromRoot() { - ArrayList ret = new ArrayList(64); + ArrayList ret = new ArrayList<>(64); Node node = this; while (node.parent != null) { ret.add(node.getChildNo()); @@ -1193,8 +1193,8 @@ public class GameTree { } /** Export this node in PGN (or display text) format. */ - private final boolean addPgnDataOneNode(PgnToken.PgnTokenReceiver out, MoveNumber mn, - boolean needMoveNr, PGNOptions options) { + private boolean addPgnDataOneNode(PgnToken.PgnTokenReceiver out, MoveNumber mn, + boolean needMoveNr, PGNOptions options) { if ((preComment.length() > 0) && options.exp.comments) { out.processToken(this, PgnToken.COMMENT, preComment); needMoveNr = true; @@ -1244,8 +1244,8 @@ public class GameTree { return needMoveNr; } - private final void addExtendedInfo(PgnToken.PgnTokenReceiver out, - String extCmd, String extData) { + private void addExtendedInfo(PgnToken.PgnTokenReceiver out, + String extCmd, String extData) { out.processToken(this, PgnToken.COMMENT, "[%" + extCmd + " " + extData + "]"); } @@ -1273,7 +1273,7 @@ public class GameTree { return ret.toString(); } - private final Node addChild(Node child) { + private Node addChild(Node child) { child.parent = this; children.add(child); return child; @@ -1408,7 +1408,7 @@ public class GameTree { param = comment.substring(start + match.length(), end); } } - return new Pair(remaining, param); + return new Pair<>(remaining, param); } /** Convert hh:mm:ss to milliseconds */ @@ -1502,7 +1502,7 @@ public class GameTree { else if (tag.equals("White")) white = val; else if (tag.equals("Black")) black = val; else if (tag.equals("Result")) { - List currPath = new ArrayList(); + List currPath = new ArrayList<>(); while (currentNode != rootNode) { Node child = currentNode; goBack(); @@ -1591,7 +1591,7 @@ public class GameTree { private ArrayList stringToTCFields(String tcStr) { String[] fields = tcStr.split(":"); int nf = fields.length; - ArrayList ret = new ArrayList(nf); + ArrayList ret = new ArrayList<>(nf); for (int i = 0; i < nf; i++) { String f = fields[i].trim(); if (f.equals("?") || f.equals("-") || f.contains("*")) { diff --git a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/MoveGen.java b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/MoveGen.java index fcdbe62..f9b35ca 100644 --- a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/MoveGen.java +++ b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/MoveGen.java @@ -39,7 +39,7 @@ public class MoveGen { * Pseudo-legal means that the moves don't necessarily defend from check threats. */ public final ArrayList pseudoLegalMoves(Position pos) { - ArrayList moveList = new ArrayList(60); + ArrayList moveList = new ArrayList<>(60); final boolean wtm = pos.whiteMove; for (int x = 0; x < 8; x++) { for (int y = 0; y < 8; y++) { @@ -224,7 +224,7 @@ public class MoveGen { * This function removes the moves that don't defend from check threats. */ public static final ArrayList removeIllegal(Position pos, ArrayList moveList) { - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); UndoInfo ui = new UndoInfo(); int mlSize = moveList.size(); for (int mi = 0; mi < mlSize; mi++) { @@ -244,7 +244,7 @@ public class MoveGen { * @param maxSteps Max steps until reaching a border. Set to 1 for non-sliding pieces. * @ return True if the enemy king could be captured, false otherwise. */ - private final boolean addDirection(ArrayList moveList, Position pos, int sq0, int maxSteps, int delta) { + private boolean addDirection(ArrayList moveList, Position pos, int sq0, int maxSteps, int delta) { int sq = sq0; boolean wtm = pos.whiteMove; final int oKing = (wtm ? Piece.BKING : Piece.WKING); @@ -273,7 +273,7 @@ public class MoveGen { /** * Generate all possible pawn moves from (x0,y0) to (x1,y1), taking pawn promotions into account. */ - private final void addPawnMoves(ArrayList moveList, int sq0, int sq1) { + private void addPawnMoves(ArrayList moveList, int sq0, int sq1) { if (sq1 >= 56) { // White promotion moveList.add(getMoveObj(sq0, sq1, Piece.WQUEEN)); moveList.add(getMoveObj(sq0, sq1, Piece.WKNIGHT)); diff --git a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/Position.java b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/Position.java index d05ecfa..901f342 100644 --- a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/Position.java +++ b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/Position.java @@ -359,7 +359,7 @@ public class Position { } } - private final void removeCastleRights(int square) { + private void removeCastleRights(int square) { if (square == Position.getSquare(0, 0)) { setCastleMask(castleMask & ~(1 << Position.A1_CASTLE)); } else if (square == Position.getSquare(7, 0)) { @@ -411,7 +411,7 @@ public class Position { return hash; } - private final static long getRandomHashVal(int rndNo) { + private static long getRandomHashVal(int rndNo) { try { MessageDigest md = MessageDigest.getInstance("SHA-1"); byte[] input = new byte[4]; diff --git a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TextIO.java b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TextIO.java index 9557301..fe7b731 100644 --- a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TextIO.java +++ b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TextIO.java @@ -565,7 +565,7 @@ public class TextIO { if (moves == null) moves = MoveGen.instance.legalMoves(pos); - ArrayList matches = new ArrayList(2); + ArrayList matches = new ArrayList<>(2); for (int i = 0; i < moves.size(); i++) { Move m = moves.get(i); int p = pos.getPiece(m.from); @@ -754,7 +754,7 @@ public class TextIO { return ret.toString(); } - private final static String pieceToChar(int p) { + private static String pieceToChar(int p) { switch (p) { case Piece.WQUEEN: case Piece.BQUEEN: return "Q"; case Piece.WROOK: case Piece.BROOK: return "R"; @@ -776,7 +776,7 @@ public class TextIO { return ""; } - private final static int charToPiece(boolean white, char c) { + private static int charToPiece(boolean white, char c) { switch (c) { case 'Q': case 'q': return white ? Piece.WQUEEN : Piece.BQUEEN; case 'R': case 'r': return white ? Piece.WROOK : Piece.BROOK; diff --git a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TimeControl.java b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TimeControl.java index 7f49705..2bfc1a5 100644 --- a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TimeControl.java +++ b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TimeControl.java @@ -171,14 +171,14 @@ public class TimeControl { currMove++; while (true) { if (tc.get(tcIdx).movesPerSession <= 0) - return new Pair(tcIdx, 0); + return new Pair<>(tcIdx, 0); nextTC += tc.get(tcIdx).movesPerSession; if (nextTC > currMove) break; if (tcIdx < lastTcIdx) tcIdx++; } - return new Pair(tcIdx, nextTC - currMove); + return new Pair<>(tcIdx, nextTC - currMove); } /** De-serialize from input stream. */ diff --git a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TimeControlData.java b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TimeControlData.java index a77cef8..42ca42b 100644 --- a/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TimeControlData.java +++ b/buildSrc/src/main/java/org/petero/droidfish/gamelogic/TimeControlData.java @@ -40,17 +40,17 @@ public final class TimeControlData { /** Constructor. Set a default time control. */ public TimeControlData() { - tcW = new ArrayList(); + tcW = new ArrayList<>(); tcW.add(new TimeControlField(5*60*1000, 60, 0)); - tcB = new ArrayList(); + tcB = new ArrayList<>(); tcB.add(new TimeControlField(5*60*1000, 60, 0)); } /** Set a single time control for both white and black. */ public final void setTimeControl(int time, int moves, int inc) { - tcW = new ArrayList(); + tcW = new ArrayList<>(); tcW.add(new TimeControlField(time, moves, inc)); - tcB = new ArrayList(); + tcB = new ArrayList<>(); tcB.add(new TimeControlField(time, moves, inc)); } @@ -90,7 +90,7 @@ public final class TimeControlData { /** De-serialize from input stream. */ public void readFromStream(DataInputStream dis, int version) throws IOException { for (int c = 0; c < 2; c++) { - ArrayList tc = new ArrayList(); + ArrayList tc = new ArrayList<>(); if (c == 0) tcW = tc; else