1 // @(#) From generation tool: JudyTablesGen.c 2 // 3 4 #include "JudyL.h" 5 // Leave the malloc() sizes readable in the binary (via strings(1)): 6 const char * JudyLMallocSizes = "JudyLMallocSizes = 3, 5, 7, 11, 15, 23, 32, 47, 64, Leaf1 = 13"; 7 8 9 // object uses 64 words 10 // cJU_BITSPERSUBEXPB = 32 11 const uint8_t 12 j__L_BranchBJPPopToWords[cJU_BITSPERSUBEXPB + 1] = 13 { 14 0, 15 3, 5, 7, 11, 11, 15, 15, 23, 16 23, 23, 23, 32, 32, 32, 32, 32, 17 47, 47, 47, 47, 47, 47, 47, 64, 18 64, 64, 64, 64, 64, 64, 64, 64 19 }; 20 21 // object uses 15 words 22 // cJL_LEAF1_MAXPOP1 = 13 23 const uint8_t 24 j__L_Leaf1PopToWords[cJL_LEAF1_MAXPOP1 + 1] = 25 { 26 0, 27 3, 3, 5, 5, 7, 7, 11, 11, 28 11, 15, 15, 15, 15 29 }; 30 const uint8_t 31 j__L_Leaf1Offset[cJL_LEAF1_MAXPOP1 + 1] = 32 { 33 0, 34 1, 1, 1, 1, 1, 1, 2, 2, 35 2, 2, 2, 2, 2 36 }; 37 38 // object uses 64 words 39 // cJL_LEAF2_MAXPOP1 = 51 40 const uint8_t 41 j__L_Leaf2PopToWords[cJL_LEAF2_MAXPOP1 + 1] = 42 { 43 0, 44 3, 3, 5, 5, 7, 11, 11, 11, 45 15, 15, 15, 15, 23, 23, 23, 23, 46 23, 23, 32, 32, 32, 32, 32, 32, 47 32, 47, 47, 47, 47, 47, 47, 47, 48 47, 47, 47, 47, 47, 64, 64, 64, 49 64, 64, 64, 64, 64, 64, 64, 64, 50 64, 64, 64 51 }; 52 const uint8_t 53 j__L_Leaf2Offset[cJL_LEAF2_MAXPOP1 + 1] = 54 { 55 0, 56 1, 1, 1, 1, 2, 3, 3, 3, 57 3, 3, 3, 3, 5, 5, 5, 5, 58 5, 5, 7, 7, 7, 7, 7, 7, 59 7, 10, 10, 10, 10, 10, 10, 10, 60 10, 10, 10, 10, 10, 13, 13, 13, 61 13, 13, 13, 13, 13, 13, 13, 13, 62 13, 13, 13 63 }; 64 65 // object uses 64 words 66 // cJL_LEAF3_MAXPOP1 = 46 67 const uint8_t 68 j__L_Leaf3PopToWords[cJL_LEAF3_MAXPOP1 + 1] = 69 { 70 0, 71 3, 3, 5, 7, 7, 11, 11, 11, 72 15, 15, 23, 23, 23, 23, 23, 23, 73 32, 32, 32, 32, 32, 32, 32, 47, 74 47, 47, 47, 47, 47, 47, 47, 47, 75 47, 47, 64, 64, 64, 64, 64, 64, 76 64, 64, 64, 64, 64, 64 77 }; 78 const uint8_t 79 j__L_Leaf3Offset[cJL_LEAF3_MAXPOP1 + 1] = 80 { 81 0, 82 1, 1, 2, 2, 2, 3, 3, 3, 83 4, 4, 6, 6, 6, 6, 6, 6, 84 9, 9, 9, 9, 9, 9, 9, 13, 85 13, 13, 13, 13, 13, 13, 13, 13, 86 13, 13, 18, 18, 18, 18, 18, 18, 87 18, 18, 18, 18, 18, 18 88 }; 89 90 // object uses 63 words 91 // cJL_LEAF4_MAXPOP1 = 42 92 const uint8_t 93 j__L_Leaf4PopToWords[cJL_LEAF4_MAXPOP1 + 1] = 94 { 95 0, 96 3, 3, 5, 7, 11, 11, 11, 15, 97 15, 15, 23, 23, 23, 23, 23, 32, 98 32, 32, 32, 32, 32, 47, 47, 47, 99 47, 47, 47, 47, 47, 47, 47, 63, 100 63, 63, 63, 63, 63, 63, 63, 63, 101 63, 63 102 }; 103 const uint8_t 104 j__L_Leaf4Offset[cJL_LEAF4_MAXPOP1 + 1] = 105 { 106 0, 107 1, 1, 2, 2, 4, 4, 4, 5, 108 5, 5, 8, 8, 8, 8, 8, 11, 109 11, 11, 11, 11, 11, 16, 16, 16, 110 16, 16, 16, 16, 16, 16, 16, 21, 111 21, 21, 21, 21, 21, 21, 21, 21, 112 21, 21 113 }; 114 115 // object uses 64 words 116 // cJL_LEAF5_MAXPOP1 = 39 117 const uint8_t 118 j__L_Leaf5PopToWords[cJL_LEAF5_MAXPOP1 + 1] = 119 { 120 0, 121 3, 5, 5, 7, 11, 11, 15, 15, 122 15, 23, 23, 23, 23, 23, 32, 32, 123 32, 32, 32, 47, 47, 47, 47, 47, 124 47, 47, 47, 47, 64, 64, 64, 64, 125 64, 64, 64, 64, 64, 64, 64 126 }; 127 const uint8_t 128 j__L_Leaf5Offset[cJL_LEAF5_MAXPOP1 + 1] = 129 { 130 0, 131 2, 2, 2, 3, 4, 4, 6, 6, 132 6, 9, 9, 9, 9, 9, 12, 12, 133 12, 12, 12, 18, 18, 18, 18, 18, 134 18, 18, 18, 18, 25, 25, 25, 25, 135 25, 25, 25, 25, 25, 25, 25 136 }; 137 138 // object uses 63 words 139 // cJL_LEAF6_MAXPOP1 = 36 140 const uint8_t 141 j__L_Leaf6PopToWords[cJL_LEAF6_MAXPOP1 + 1] = 142 { 143 0, 144 3, 5, 7, 7, 11, 11, 15, 15, 145 23, 23, 23, 23, 23, 32, 32, 32, 146 32, 32, 47, 47, 47, 47, 47, 47, 147 47, 47, 63, 63, 63, 63, 63, 63, 148 63, 63, 63, 63 149 }; 150 const uint8_t 151 j__L_Leaf6Offset[cJL_LEAF6_MAXPOP1 + 1] = 152 { 153 0, 154 1, 3, 3, 3, 5, 5, 6, 6, 155 10, 10, 10, 10, 10, 14, 14, 14, 156 14, 14, 20, 20, 20, 20, 20, 20, 157 20, 20, 27, 27, 27, 27, 27, 27, 158 27, 27, 27, 27 159 }; 160 161 // object uses 64 words 162 // cJL_LEAF7_MAXPOP1 = 34 163 const uint8_t 164 j__L_Leaf7PopToWords[cJL_LEAF7_MAXPOP1 + 1] = 165 { 166 0, 167 3, 5, 7, 11, 11, 15, 15, 15, 168 23, 23, 23, 23, 32, 32, 32, 32, 169 32, 47, 47, 47, 47, 47, 47, 47, 170 47, 64, 64, 64, 64, 64, 64, 64, 171 64, 64 172 }; 173 const uint8_t 174 j__L_Leaf7Offset[cJL_LEAF7_MAXPOP1 + 1] = 175 { 176 0, 177 1, 3, 3, 5, 5, 7, 7, 7, 178 11, 11, 11, 11, 15, 15, 15, 15, 179 15, 22, 22, 22, 22, 22, 22, 22, 180 22, 30, 30, 30, 30, 30, 30, 30, 181 30, 30 182 }; 183 184 // object uses 63 words 185 // cJL_LEAFW_MAXPOP1 = 31 186 const uint8_t 187 j__L_LeafWPopToWords[cJL_LEAFW_MAXPOP1 + 1] = 188 { 189 0, 190 3, 5, 7, 11, 11, 15, 15, 23, 191 23, 23, 23, 32, 32, 32, 32, 47, 192 47, 47, 47, 47, 47, 47, 47, 63, 193 63, 63, 63, 63, 63, 63, 63 194 }; 195 const uint8_t 196 j__L_LeafWOffset[cJL_LEAFW_MAXPOP1 + 1] = 197 { 198 0, 199 2, 3, 4, 6, 6, 8, 8, 12, 200 12, 12, 12, 16, 16, 16, 16, 24, 201 24, 24, 24, 24, 24, 24, 24, 32, 202 32, 32, 32, 32, 32, 32, 32 203 }; 204 205 // object uses 64 words 206 // cJU_BITSPERSUBEXPL = 64 207 const uint8_t 208 j__L_LeafVPopToWords[cJU_BITSPERSUBEXPL + 1] = 209 { 210 0, 211 3, 3, 3, 5, 5, 7, 7, 11, 212 11, 11, 11, 15, 15, 15, 15, 23, 213 23, 23, 23, 23, 23, 23, 23, 32, 214 32, 32, 32, 32, 32, 32, 32, 32, 215 47, 47, 47, 47, 47, 47, 47, 47, 216 47, 47, 47, 47, 47, 47, 47, 64, 217 64, 64, 64, 64, 64, 64, 64, 64, 218 64, 64, 64, 64, 64, 64, 64, 64 219 }; 220