public int CalculateLiteralPrice(IMatchState state, int position, int value) { var literalCount = state.CountLiterals(position) % 3 + 1; if (literalCount == 3) { return(6); } return(10); }
public int CalculateLiteralPrice(IMatchState state, int position, int value) { var literals = state.CountLiterals(position) + 1; if (literals % 0x1FFF == 1) { return(16); } if (literals % 0x1FFF == 0x20) { return(16); } return(8); }
public int CalculateLiteralPrice(IMatchState state, int position, int value) { var literalCount = state.CountLiterals(position) % 0x100BE + 1; if (literalCount == 0xC0) { return(16); } if (literalCount == 0x40) { return(16); } return(8); }
public int CalculateLiteralPrice(IMatchState state, int position, int value) { var literals = state.CountLiterals(position) + 1; if (!state.HasMatches(position)) { // Special first raw data read if (literals == 1) { return(16); } if (literals == 0xef) { return(16); } if (literals > 0xef && (literals - 3 - 0xF) % 0xFF == 1) { return(16); } return(8); } if (literals == 4) { return(16); } if (literals == 0x13) { return(16); } if (literals > 0x13 && (literals - 3 - 0xF) % 0xFF == 1) { return(16); } return(8); }