Changeset 33793
- Timestamp:
- 06/05/09 03:45:29 (4 years ago)
- Location:
- lang/python/retrograde
- Files:
-
- 2 modified
-
mapgenerator.py (modified) (4 diffs)
-
test.py (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/python/retrograde/mapgenerator.py
r33785 r33793 91 91 self.var_name = var_name 92 92 utils.set_node_name(self) 93 assert n > 193 #assert n > 1 94 94 self.vars = [(utils.INT_TYPE, var_name, "[0, %d)" % n)] 95 95 … … 168 168 # 正規化のコードを入れる 169 169 result += ["if %s_1:" % oname] 170 result += [" %s, %s = %s_0, %s_1" % (r1vname, r2vname, r1vname, r2vname)] 170 for typ, v, com in self.r1.vars: 171 result += utils.indent(["%s = %s_0" % (v, v)]) 172 for typ, v, com in self.r2.vars: 173 result += utils.indent(["%s = %s_1" % (v, v)]) 171 174 result += ["else:"] 172 result += [" %s, %s = %s_1, %s_0" % (r1vname, r2vname, r1vname, r2vname)] 175 for typ, v, com in self.r1.vars: 176 result += utils.indent(["%s = %s_1" % (v, v)]) 177 for typ, v, com in self.r2.vars: 178 result += utils.indent(["%s = %s_0" % (v, v)]) 173 179 174 180 result += self.r1.get_python_encoder(context) … … 195 201 r2vname = self.r2.var_name 196 202 result += ["if %s_0:" % oname] 197 result += [" %s_1, %s_0 = %s, %s" % (r1vname, r2vname, r1vname, r2vname)] 203 for typ, v, com in self.r1.vars: 204 result += utils.indent(["%s_1 = %s" % (v, v)]) 205 for typ, v, com in self.r2.vars: 206 result += utils.indent(["%s_0 = %s" % (v, v)]) 198 207 result += ["else:"] 199 result += [" %s_0, %s_1 = %s, %s" % (r1vname, r2vname, r1vname, r2vname)] 208 for typ, v, com in self.r1.vars: 209 result += utils.indent(["%s_0 = %s" % (v, v)]) 210 for typ, v, com in self.r2.vars: 211 result += utils.indent(["%s_1 = %s" % (v, v)]) 200 212 201 213 return result … … 371 383 "%s = %s + %s" % (rname1, name, rname0),] 372 384 else: 373 # FIXME374 385 result += [ 375 386 "n = %d" % (n - 1), -
lang/python/retrograde/test.py
r33785 r33793 169 169 else: 170 170 if is_bar_1: 171 foo, bar = foo_0, bar_1 172 else: 173 foo, bar = foo_1, bar_0 171 foo = foo_0 172 bar = bar_1 173 else: 174 foo = foo_1 175 bar = bar_0 174 176 choice0 = foo 175 177 choice1 = bar … … 218 220 bar = choice1 219 221 if is_bar_0: 220 foo_1, bar_0 = foo, bar 221 else: 222 foo_0, bar_1 = foo, bar 222 foo_1 = foo 223 bar_0 = bar 224 else: 225 foo_0 = foo 226 bar_1 = bar 223 227 is_bar_1 = not(is_bar_xor ^ is_bar_0)""" 224 228 … … 273 277 else: 274 278 if is_bar_1: 275 foo, bar = foo_0, bar_1 276 else: 277 foo, bar = foo_1, bar_0 279 foo = foo_0 280 bar = bar_1 281 else: 282 foo = foo_1 283 bar = bar_0 278 284 choice0 = foo 279 285 take0 = bar … … 322 328 bar = take0 323 329 if is_bar_0: 324 foo_1, bar_0 = foo, bar 325 else: 326 foo_0, bar_1 = foo, bar 330 foo_1 = foo 331 bar_0 = bar 332 else: 333 foo_0 = foo 334 bar_1 = bar 327 335 is_bar_1 = not(is_bar_xor ^ is_bar_0)""" 336 328 337 def test_unordered_or_take_decode(): 329 338 _reset() … … 364 373 365 374 366 def test_kirin_size(): 375 def test_kirin_encode_decode(): 376 _reset() 367 377 r = Resource(10, "X") 368 Mochigoma = NoChoice()378 Mochigoma = Choice(1, "dummy") 369 379 Player = Choice(2, "kirin_player") 370 380 Kirin = Unordered( … … 372 382 Or(r.take("kirin"), 373 383 Mochigoma, 374 "kirin_is_ not_mochigoma"),384 "kirin_is_mochigoma"), 375 385 Player)) 376 print Kirin 377 print Kirin.get_python_encoder({"X": 10}) 378 print Kirin.get_python_decoder({"X": 10}) 386 387 params = dict(kirin_0=0, kirin_1=1, 388 kirin_player_0=0, kirin_player_1=0, 389 kirin_is_mochigoma_0=False, kirin_is_mochigoma_1=False) 390 ns = en_de_code( 391 Kirin, {"X": []}, 392 **params) 393 394 params = dict(kirin_0=0, dummy_1=0, 395 kirin_player_0=0, kirin_player_1=0, 396 kirin_is_mochigoma_0=False, kirin_is_mochigoma_1=True) 397 ns = en_de_code( 398 Kirin, {"X": []}, 399 **params) 400 401 params = dict(dummy_0=0, dummy_1=0, 402 kirin_player_0=0, kirin_player_1=0, 403 kirin_is_mochigoma_0=True, kirin_is_mochigoma_1=True) 404 ns = en_de_code( 405 Kirin, {"X": []}, 406 **params) 407 379 408 380 409 if __name__ == "__main__": … … 382 411 test_lion_decode() 383 412 test_kirin_size() 413 test_kirin_encode_decode() 414 384 415 test_or_encode() 385 416 test_or_decode()
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)