This commit is contained in:
serso 2011-12-15 00:29:23 +04:00
parent 6e3e1f50ac
commit 85b3dc7e52
2 changed files with 260 additions and 3 deletions

View File

@ -5,7 +5,7 @@ import jscl.JsclMathEngine;
import jscl.MathEngine; import jscl.MathEngine;
import jscl.math.Expression; import jscl.math.Expression;
import jscl.text.ParseException; import jscl.text.ParseException;
import jscl.util.ExpressionGenerator; import jscl.util.ExpressionGeneratorWithInput;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.junit.Assert; import org.junit.Assert;
import org.junit.BeforeClass; import org.junit.BeforeClass;
@ -37,7 +37,7 @@ public class NumeralBaseTest {
try { try {
final MathEngine me = JsclMathEngine.instance; final MathEngine me = JsclMathEngine.instance;
reader = new CSVReader(new InputStreamReader(NumeralBaseTest.class.getResourceAsStream("/jscl/math/nb_table.csv")), '\t'); reader = new CSVReader(new InputStreamReader(NumeralBaseTest.class.getResourceAsStream("/org/solovyev/android/calculator/model/nb_table.csv")), '\t');
// skip first line // skip first line
reader.readNext(); reader.readNext();
@ -62,7 +62,7 @@ public class NumeralBaseTest {
System.out.println("Hex: " + hex); System.out.println("Hex: " + hex);
System.out.println("Bin: " + bin); System.out.println("Bin: " + bin);
final ExpressionGenerator eg = new ExpressionGenerator(input, 20); final ExpressionGeneratorWithInput eg = new ExpressionGeneratorWithInput(input, 20);
final List<String> expressions = eg.generate(); final List<String> expressions = eg.generate();
final String decExpression = expressions.get(0); final String decExpression = expressions.get(0);

View File

@ -0,0 +1,257 @@
dec hex bin
0 0 0
1 1 1
2 2 10
3 3 11
4 4 100
5 5 101
6 6 110
7 7 111
8 8 1000
9 9 1001
10 a 1010
11 b 1011
12 c 1100
13 d 1101
14 e 1110
15 f 1111
16 10 10000
17 11 10001
18 12 10010
19 13 10011
20 14 10100
21 15 10101
22 16 10110
23 17 10111
24 18 11000
25 19 11001
26 1a 11010
27 1b 11011
28 1c 11100
29 1d 11101
30 1e 11110
31 1f 11111
32 20 100000
33 21 100001
34 22 100010
35 23 100011
36 24 100100
37 25 100101
38 26 100110
39 27 100111
40 28 101000
41 29 101001
42 2a 101010
43 2b 101011
44 2c 101100
45 2d 101101
46 2e 101110
47 2f 101111
48 30 110000
49 31 110001
50 32 110010
51 33 110011
52 34 110100
53 35 110101
54 36 110110
55 37 110111
56 38 111000
57 39 111001
58 3a 111010
59 3b 111011
60 3c 111100
61 3d 111101
62 3e 111110
63 3f 111111
64 40 1000000
65 41 1000001
66 42 1000010
67 43 1000011
68 44 1000100
69 45 1000101
70 46 1000110
71 47 1000111
72 48 1001000
73 49 1001001
74 4a 1001010
75 4b 1001011
76 4c 1001100
77 4d 1001101
78 4e 1001110
79 4f 1001111
80 50 1010000
81 51 1010001
82 52 1010010
83 53 1010011
84 54 1010100
85 55 1010101
86 56 1010110
87 57 1010111
88 58 1011000
89 59 1011001
90 5a 1011010
91 5b 1011011
92 5c 1011100
93 5d 1011101
94 5e 1011110
95 5f 1011111
96 60 1100000
97 61 1100001
98 62 1100010
99 63 1100011
100 64 1100100
101 65 1100101
102 66 1100110
103 67 1100111
104 68 1101000
105 69 1101001
106 6a 1101010
107 6b 1101011
108 6c 1101100
109 6d 1101101
110 6e 1101110
111 6f 1101111
112 70 1110000
113 71 1110001
114 72 1110010
115 73 1110011
116 74 1110100
117 75 1110101
118 76 1110110
119 77 1110111
120 78 1111000
121 79 1111001
122 7a 1111010
123 7b 1111011
124 7c 1111100
125 7d 1111101
126 7e 1111110
127 7f 1111111
128 80 10000000
129 81 10000001
130 82 10000010
131 83 10000011
132 84 10000100
133 85 10000101
134 86 10000110
135 87 10000111
136 88 10001000
137 89 10001001
138 8a 10001010
139 8b 10001011
140 8c 10001100
141 8d 10001101
142 8e 10001110
143 8f 10001111
144 90 10010000
145 91 10010001
146 92 10010010
147 93 10010011
148 94 10010100
149 95 10010101
150 96 10010110
151 97 10010111
152 98 10011000
153 99 10011001
154 9a 10011010
155 9b 10011011
156 9c 10011100
157 9d 10011101
158 9e 10011110
159 9f 10011111
160 a0 10100000
161 a1 10100001
162 a2 10100010
163 a3 10100011
164 a4 10100100
165 a5 10100101
166 a6 10100110
167 a7 10100111
168 a8 10101000
169 a9 10101001
170 aa 10101010
171 ab 10101011
172 ac 10101100
173 ad 10101101
174 ae 10101110
175 af 10101111
176 b0 10110000
177 b1 10110001
178 b2 10110010
179 b3 10110011
180 b4 10110100
181 b5 10110101
182 b6 10110110
183 b7 10110111
184 b8 10111000
185 b9 10111001
186 ba 10111010
187 bb 10111011
188 bc 10111100
189 bd 10111101
190 be 10111110
191 bf 10111111
192 c0 11000000
193 c1 11000001
194 c2 11000010
195 c3 11000011
196 c4 11000100
197 c5 11000101
198 c6 11000110
199 c7 11000111
200 c8 11001000
201 c9 11001001
202 ca 11001010
203 cb 11001011
204 cc 11001100
205 cd 11001101
206 ce 11001110
207 cf 11001111
208 d0 11010000
209 d1 11010001
210 d2 11010010
211 d3 11010011
212 d4 11010100
213 d5 11010101
214 d6 11010110
215 d7 11010111
216 d8 11011000
217 d9 11011001
218 da 11011010
219 db 11011011
220 dc 11011100
221 dd 11011101
222 de 11011110
223 df 11011111
224 e0 11100000
225 e1 11100001
226 e2 11100010
227 e3 11100011
228 e4 11100100
229 e5 11100101
230 e6 11100110
231 e7 11100111
232 e8 11101000
233 e9 11101001
234 ea 11101010
235 eb 11101011
236 ec 11101100
237 ed 11101101
238 ee 11101110
239 ef 11101111
240 f0 11110000
241 f1 11110001
242 f2 11110010
243 f3 11110011
244 f4 11110100
245 f5 11110101
246 f6 11110110
247 f7 11110111
248 f8 11111000
249 f9 11111001
250 fa 11111010
251 fb 11111011
252 fc 11111100
253 fd 11111101
254 fe 11111110
255 ff 11111111
1 dec hex bin
2 0 0 0
3 1 1 1
4 2 2 10
5 3 3 11
6 4 4 100
7 5 5 101
8 6 6 110
9 7 7 111
10 8 8 1000
11 9 9 1001
12 10 a 1010
13 11 b 1011
14 12 c 1100
15 13 d 1101
16 14 e 1110
17 15 f 1111
18 16 10 10000
19 17 11 10001
20 18 12 10010
21 19 13 10011
22 20 14 10100
23 21 15 10101
24 22 16 10110
25 23 17 10111
26 24 18 11000
27 25 19 11001
28 26 1a 11010
29 27 1b 11011
30 28 1c 11100
31 29 1d 11101
32 30 1e 11110
33 31 1f 11111
34 32 20 100000
35 33 21 100001
36 34 22 100010
37 35 23 100011
38 36 24 100100
39 37 25 100101
40 38 26 100110
41 39 27 100111
42 40 28 101000
43 41 29 101001
44 42 2a 101010
45 43 2b 101011
46 44 2c 101100
47 45 2d 101101
48 46 2e 101110
49 47 2f 101111
50 48 30 110000
51 49 31 110001
52 50 32 110010
53 51 33 110011
54 52 34 110100
55 53 35 110101
56 54 36 110110
57 55 37 110111
58 56 38 111000
59 57 39 111001
60 58 3a 111010
61 59 3b 111011
62 60 3c 111100
63 61 3d 111101
64 62 3e 111110
65 63 3f 111111
66 64 40 1000000
67 65 41 1000001
68 66 42 1000010
69 67 43 1000011
70 68 44 1000100
71 69 45 1000101
72 70 46 1000110
73 71 47 1000111
74 72 48 1001000
75 73 49 1001001
76 74 4a 1001010
77 75 4b 1001011
78 76 4c 1001100
79 77 4d 1001101
80 78 4e 1001110
81 79 4f 1001111
82 80 50 1010000
83 81 51 1010001
84 82 52 1010010
85 83 53 1010011
86 84 54 1010100
87 85 55 1010101
88 86 56 1010110
89 87 57 1010111
90 88 58 1011000
91 89 59 1011001
92 90 5a 1011010
93 91 5b 1011011
94 92 5c 1011100
95 93 5d 1011101
96 94 5e 1011110
97 95 5f 1011111
98 96 60 1100000
99 97 61 1100001
100 98 62 1100010
101 99 63 1100011
102 100 64 1100100
103 101 65 1100101
104 102 66 1100110
105 103 67 1100111
106 104 68 1101000
107 105 69 1101001
108 106 6a 1101010
109 107 6b 1101011
110 108 6c 1101100
111 109 6d 1101101
112 110 6e 1101110
113 111 6f 1101111
114 112 70 1110000
115 113 71 1110001
116 114 72 1110010
117 115 73 1110011
118 116 74 1110100
119 117 75 1110101
120 118 76 1110110
121 119 77 1110111
122 120 78 1111000
123 121 79 1111001
124 122 7a 1111010
125 123 7b 1111011
126 124 7c 1111100
127 125 7d 1111101
128 126 7e 1111110
129 127 7f 1111111
130 128 80 10000000
131 129 81 10000001
132 130 82 10000010
133 131 83 10000011
134 132 84 10000100
135 133 85 10000101
136 134 86 10000110
137 135 87 10000111
138 136 88 10001000
139 137 89 10001001
140 138 8a 10001010
141 139 8b 10001011
142 140 8c 10001100
143 141 8d 10001101
144 142 8e 10001110
145 143 8f 10001111
146 144 90 10010000
147 145 91 10010001
148 146 92 10010010
149 147 93 10010011
150 148 94 10010100
151 149 95 10010101
152 150 96 10010110
153 151 97 10010111
154 152 98 10011000
155 153 99 10011001
156 154 9a 10011010
157 155 9b 10011011
158 156 9c 10011100
159 157 9d 10011101
160 158 9e 10011110
161 159 9f 10011111
162 160 a0 10100000
163 161 a1 10100001
164 162 a2 10100010
165 163 a3 10100011
166 164 a4 10100100
167 165 a5 10100101
168 166 a6 10100110
169 167 a7 10100111
170 168 a8 10101000
171 169 a9 10101001
172 170 aa 10101010
173 171 ab 10101011
174 172 ac 10101100
175 173 ad 10101101
176 174 ae 10101110
177 175 af 10101111
178 176 b0 10110000
179 177 b1 10110001
180 178 b2 10110010
181 179 b3 10110011
182 180 b4 10110100
183 181 b5 10110101
184 182 b6 10110110
185 183 b7 10110111
186 184 b8 10111000
187 185 b9 10111001
188 186 ba 10111010
189 187 bb 10111011
190 188 bc 10111100
191 189 bd 10111101
192 190 be 10111110
193 191 bf 10111111
194 192 c0 11000000
195 193 c1 11000001
196 194 c2 11000010
197 195 c3 11000011
198 196 c4 11000100
199 197 c5 11000101
200 198 c6 11000110
201 199 c7 11000111
202 200 c8 11001000
203 201 c9 11001001
204 202 ca 11001010
205 203 cb 11001011
206 204 cc 11001100
207 205 cd 11001101
208 206 ce 11001110
209 207 cf 11001111
210 208 d0 11010000
211 209 d1 11010001
212 210 d2 11010010
213 211 d3 11010011
214 212 d4 11010100
215 213 d5 11010101
216 214 d6 11010110
217 215 d7 11010111
218 216 d8 11011000
219 217 d9 11011001
220 218 da 11011010
221 219 db 11011011
222 220 dc 11011100
223 221 dd 11011101
224 222 de 11011110
225 223 df 11011111
226 224 e0 11100000
227 225 e1 11100001
228 226 e2 11100010
229 227 e3 11100011
230 228 e4 11100100
231 229 e5 11100101
232 230 e6 11100110
233 231 e7 11100111
234 232 e8 11101000
235 233 e9 11101001
236 234 ea 11101010
237 235 eb 11101011
238 236 ec 11101100
239 237 ed 11101101
240 238 ee 11101110
241 239 ef 11101111
242 240 f0 11110000
243 241 f1 11110001
244 242 f2 11110010
245 243 f3 11110011
246 244 f4 11110100
247 245 f5 11110101
248 246 f6 11110110
249 247 f7 11110111
250 248 f8 11111000
251 249 f9 11111001
252 250 fa 11111010
253 251 fb 11111011
254 252 fc 11111100
255 253 fd 11111101
256 254 fe 11111110
257 255 ff 11111111