1 /* 2 * Copyright (c) Facebook, Inc. 3 * All rights reserved. 4 * 5 * This source code is licensed under both the BSD-style license (found in the 6 * LICENSE file in the root directory of this source tree) and the GPLv2 (found 7 * in the COPYING file in the root directory of this source tree). 8 * You may select, at your option, one of the above-listed licenses. 9 */ 10 11 #ifndef LEVEL 12 # error LEVEL(x) must be defined 13 #endif 14 #ifndef FAST_LEVEL 15 # error FAST_LEVEL(x) must be defined 16 #endif 17 #ifndef ROW_LEVEL 18 # error ROW_LEVEL(x, y) must be defined 19 #endif 20 21 /** 22 * The levels are chosen to trigger every strategy in every source size, 23 * as well as some fast levels and the default level. 24 * If you change the compression levels, you should probably update these. 25 */ 26 27 FAST_LEVEL(5) 28 29 FAST_LEVEL(3) 30 31 FAST_LEVEL(1) 32 LEVEL(0) 33 LEVEL(1) 34 35 LEVEL(3) 36 LEVEL(4) 37 /* ROW_LEVEL triggers the row hash (force enabled and disabled) with different 38 * dictionary strategies, and 16/32 row entries based on the level/searchLog. 39 * 1 == disabled, 2 == enabled. 40 */ 41 ROW_LEVEL(5, 1) 42 ROW_LEVEL(5, 2) 43 LEVEL(5) 44 LEVEL(6) 45 ROW_LEVEL(7, 1) 46 ROW_LEVEL(7, 2) 47 LEVEL(7) 48 49 LEVEL(9) 50 51 ROW_LEVEL(12, 1) 52 ROW_LEVEL(12, 2) 53 LEVEL(13) 54 55 LEVEL(16) 56 57 LEVEL(19) 58